@lifi/sdk 4.0.0-beta.2 → 4.0.0-beta.3

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.
@@ -6,15 +6,16 @@ const require_client_getClientStorage = require("./getClientStorage.js");
6
6
  function createClient(options) {
7
7
  if (!options.integrator) throw new Error("Integrator not found. Please see documentation https://docs.li.fi/integrate-li.fi-js-sdk/set-up-the-sdk");
8
8
  if (!options.disableVersionCheck && process.env.NODE_ENV === "development") require_utils_checkPackageUpdates.checkPackageUpdates(require_version.name, require_version.version);
9
+ const { providers, ...configOptions } = options;
9
10
  const _config = {
10
- ...options,
11
- apiUrl: options?.apiUrl ?? "https://li.quest/v1",
12
- rpcUrls: options?.rpcUrls ?? {},
13
- debug: options?.debug ?? false,
14
- preloadChains: options?.preloadChains ?? true,
15
- integrator: options?.integrator ?? "lifi-sdk"
11
+ ...configOptions,
12
+ apiUrl: configOptions?.apiUrl ?? "https://li.quest/v1",
13
+ rpcUrls: configOptions?.rpcUrls ?? {},
14
+ debug: configOptions?.debug ?? false,
15
+ preloadChains: configOptions?.preloadChains ?? true,
16
+ integrator: configOptions?.integrator ?? "lifi-sdk"
16
17
  };
17
- let _providers = [];
18
+ let _providers = providers ?? [];
18
19
  const _storage = require_client_getClientStorage.getClientStorage(_config);
19
20
  const client = {
20
21
  get config() {
@@ -1 +1 @@
1
- {"version":3,"file":"createClient.js","names":["name","version","getClientStorage"],"sources":["../../../src/client/createClient.ts"],"sourcesContent":["import type { ChainId, ChainType, ExtendedChain } from '@lifi/types'\nimport type {\n SDKBaseConfig,\n SDKClient,\n SDKConfig,\n SDKProvider,\n} from '../types/core.js'\nimport { checkPackageUpdates } from '../utils/checkPackageUpdates.js'\nimport { name, version } from '../version.js'\nimport { getClientStorage } from './getClientStorage.js'\n\nexport function createClient(options: SDKConfig): SDKClient {\n if (!options.integrator) {\n throw new Error(\n 'Integrator not found. Please see documentation https://docs.li.fi/integrate-li.fi-js-sdk/set-up-the-sdk'\n )\n }\n\n if (!options.disableVersionCheck && process.env.NODE_ENV === 'development') {\n checkPackageUpdates(name, version)\n }\n\n const _config: SDKBaseConfig = {\n ...options,\n apiUrl: options?.apiUrl ?? 'https://li.quest/v1',\n rpcUrls: options?.rpcUrls ?? {},\n debug: options?.debug ?? false,\n preloadChains: options?.preloadChains ?? true,\n integrator: options?.integrator ?? 'lifi-sdk',\n }\n\n let _providers: SDKProvider[] = []\n const _storage = getClientStorage(_config)\n\n const client: SDKClient = {\n get config() {\n return _config\n },\n get providers() {\n return _providers\n },\n getProvider(type: ChainType) {\n return this.providers.find((provider) => provider.type === type)\n },\n setProviders(newProviders: SDKProvider[]) {\n const providerMap = new Map(\n this.providers.map((provider) => [provider.type, provider])\n )\n for (const provider of newProviders) {\n providerMap.set(provider.type, provider)\n }\n _providers = Array.from(providerMap.values())\n },\n setChains(chains: ExtendedChain[]) {\n _storage.setChains(chains)\n },\n async getChains() {\n return await _storage.getChains()\n },\n async getChainById(chainId: ChainId) {\n const chains = await this.getChains()\n const chain = chains?.find((chain) => chain.id === chainId)\n if (!chain) {\n throw new Error(`ChainId ${chainId} not found`)\n }\n return chain\n },\n async getRpcUrls() {\n return await _storage.getRpcUrls()\n },\n async getRpcUrlsByChainId(chainId: ChainId) {\n const rpcUrls = await this.getRpcUrls()\n const chainRpcUrls = rpcUrls[chainId]\n if (!chainRpcUrls?.length) {\n throw new Error(`RPC URL not found for chainId: ${chainId}`)\n }\n return chainRpcUrls\n },\n }\n\n function extend<TClient extends SDKClient>(\n base: TClient\n ): <TExtensions extends Record<string, any>>(\n extendFn: (client: TClient) => TExtensions\n ) => TClient & TExtensions {\n return (extendFn) => {\n const extensions = extendFn(base)\n const extended = { ...base, ...extensions } as TClient & typeof extensions\n\n // Preserve the extend function for further extensions\n return Object.assign(extended, {\n extend: extend(extended),\n })\n }\n }\n\n return Object.assign(client, { extend: extend(client) })\n}\n"],"mappings":";;;;;AAWA,SAAgB,aAAa,SAA+B;AAC1D,KAAI,CAAC,QAAQ,WACX,OAAM,IAAI,MACR,0GACD;AAGH,KAAI,CAAC,QAAQ,uBAAuB,QAAQ,IAAI,aAAa,cAC3D,mCAAA,oBAAoBA,gBAAAA,MAAMC,gBAAAA,QAAQ;CAGpC,MAAM,UAAyB;EAC7B,GAAG;EACH,QAAQ,SAAS,UAAU;EAC3B,SAAS,SAAS,WAAW,EAAE;EAC/B,OAAO,SAAS,SAAS;EACzB,eAAe,SAAS,iBAAiB;EACzC,YAAY,SAAS,cAAc;EACpC;CAED,IAAI,aAA4B,EAAE;CAClC,MAAM,WAAWC,gCAAAA,iBAAiB,QAAQ;CAE1C,MAAM,SAAoB;EACxB,IAAI,SAAS;AACX,UAAO;;EAET,IAAI,YAAY;AACd,UAAO;;EAET,YAAY,MAAiB;AAC3B,UAAO,KAAK,UAAU,MAAM,aAAa,SAAS,SAAS,KAAK;;EAElE,aAAa,cAA6B;GACxC,MAAM,cAAc,IAAI,IACtB,KAAK,UAAU,KAAK,aAAa,CAAC,SAAS,MAAM,SAAS,CAAC,CAC5D;AACD,QAAK,MAAM,YAAY,aACrB,aAAY,IAAI,SAAS,MAAM,SAAS;AAE1C,gBAAa,MAAM,KAAK,YAAY,QAAQ,CAAC;;EAE/C,UAAU,QAAyB;AACjC,YAAS,UAAU,OAAO;;EAE5B,MAAM,YAAY;AAChB,UAAO,MAAM,SAAS,WAAW;;EAEnC,MAAM,aAAa,SAAkB;GAEnC,MAAM,SADS,MAAM,KAAK,WAAW,GACf,MAAM,UAAU,MAAM,OAAO,QAAQ;AAC3D,OAAI,CAAC,MACH,OAAM,IAAI,MAAM,WAAW,QAAQ,YAAY;AAEjD,UAAO;;EAET,MAAM,aAAa;AACjB,UAAO,MAAM,SAAS,YAAY;;EAEpC,MAAM,oBAAoB,SAAkB;GAE1C,MAAM,gBADU,MAAM,KAAK,YAAY,EACV;AAC7B,OAAI,CAAC,cAAc,OACjB,OAAM,IAAI,MAAM,kCAAkC,UAAU;AAE9D,UAAO;;EAEV;CAED,SAAS,OACP,MAGyB;AACzB,UAAQ,aAAa;GACnB,MAAM,aAAa,SAAS,KAAK;GACjC,MAAM,WAAW;IAAE,GAAG;IAAM,GAAG;IAAY;AAG3C,UAAO,OAAO,OAAO,UAAU,EAC7B,QAAQ,OAAO,SAAS,EACzB,CAAC;;;AAIN,QAAO,OAAO,OAAO,QAAQ,EAAE,QAAQ,OAAO,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"createClient.js","names":["name","version","getClientStorage"],"sources":["../../../src/client/createClient.ts"],"sourcesContent":["import type { ChainId, ChainType, ExtendedChain } from '@lifi/types'\nimport type {\n SDKBaseConfig,\n SDKClient,\n SDKConfig,\n SDKProvider,\n} from '../types/core.js'\nimport { checkPackageUpdates } from '../utils/checkPackageUpdates.js'\nimport { name, version } from '../version.js'\nimport { getClientStorage } from './getClientStorage.js'\n\nexport function createClient(options: SDKConfig): SDKClient {\n if (!options.integrator) {\n throw new Error(\n 'Integrator not found. Please see documentation https://docs.li.fi/integrate-li.fi-js-sdk/set-up-the-sdk'\n )\n }\n\n if (!options.disableVersionCheck && process.env.NODE_ENV === 'development') {\n checkPackageUpdates(name, version)\n }\n\n const { providers, ...configOptions } = options\n\n const _config: SDKBaseConfig = {\n ...configOptions,\n apiUrl: configOptions?.apiUrl ?? 'https://li.quest/v1',\n rpcUrls: configOptions?.rpcUrls ?? {},\n debug: configOptions?.debug ?? false,\n preloadChains: configOptions?.preloadChains ?? true,\n integrator: configOptions?.integrator ?? 'lifi-sdk',\n }\n\n let _providers: SDKProvider[] = providers ?? []\n const _storage = getClientStorage(_config)\n\n const client: SDKClient = {\n get config() {\n return _config\n },\n get providers() {\n return _providers\n },\n getProvider(type: ChainType) {\n return this.providers.find((provider) => provider.type === type)\n },\n setProviders(newProviders: SDKProvider[]) {\n const providerMap = new Map(\n this.providers.map((provider) => [provider.type, provider])\n )\n for (const provider of newProviders) {\n providerMap.set(provider.type, provider)\n }\n _providers = Array.from(providerMap.values())\n },\n setChains(chains: ExtendedChain[]) {\n _storage.setChains(chains)\n },\n async getChains() {\n return await _storage.getChains()\n },\n async getChainById(chainId: ChainId) {\n const chains = await this.getChains()\n const chain = chains?.find((chain) => chain.id === chainId)\n if (!chain) {\n throw new Error(`ChainId ${chainId} not found`)\n }\n return chain\n },\n async getRpcUrls() {\n return await _storage.getRpcUrls()\n },\n async getRpcUrlsByChainId(chainId: ChainId) {\n const rpcUrls = await this.getRpcUrls()\n const chainRpcUrls = rpcUrls[chainId]\n if (!chainRpcUrls?.length) {\n throw new Error(`RPC URL not found for chainId: ${chainId}`)\n }\n return chainRpcUrls\n },\n }\n\n function extend<TClient extends SDKClient>(\n base: TClient\n ): <TExtensions extends Record<string, any>>(\n extendFn: (client: TClient) => TExtensions\n ) => TClient & TExtensions {\n return (extendFn) => {\n const extensions = extendFn(base)\n const extended = { ...base, ...extensions } as TClient & typeof extensions\n\n // Preserve the extend function for further extensions\n return Object.assign(extended, {\n extend: extend(extended),\n })\n }\n }\n\n return Object.assign(client, { extend: extend(client) })\n}\n"],"mappings":";;;;;AAWA,SAAgB,aAAa,SAA+B;AAC1D,KAAI,CAAC,QAAQ,WACX,OAAM,IAAI,MACR,0GACD;AAGH,KAAI,CAAC,QAAQ,uBAAuB,QAAQ,IAAI,aAAa,cAC3D,mCAAA,oBAAoBA,gBAAAA,MAAMC,gBAAAA,QAAQ;CAGpC,MAAM,EAAE,WAAW,GAAG,kBAAkB;CAExC,MAAM,UAAyB;EAC7B,GAAG;EACH,QAAQ,eAAe,UAAU;EACjC,SAAS,eAAe,WAAW,EAAE;EACrC,OAAO,eAAe,SAAS;EAC/B,eAAe,eAAe,iBAAiB;EAC/C,YAAY,eAAe,cAAc;EAC1C;CAED,IAAI,aAA4B,aAAa,EAAE;CAC/C,MAAM,WAAWC,gCAAAA,iBAAiB,QAAQ;CAE1C,MAAM,SAAoB;EACxB,IAAI,SAAS;AACX,UAAO;;EAET,IAAI,YAAY;AACd,UAAO;;EAET,YAAY,MAAiB;AAC3B,UAAO,KAAK,UAAU,MAAM,aAAa,SAAS,SAAS,KAAK;;EAElE,aAAa,cAA6B;GACxC,MAAM,cAAc,IAAI,IACtB,KAAK,UAAU,KAAK,aAAa,CAAC,SAAS,MAAM,SAAS,CAAC,CAC5D;AACD,QAAK,MAAM,YAAY,aACrB,aAAY,IAAI,SAAS,MAAM,SAAS;AAE1C,gBAAa,MAAM,KAAK,YAAY,QAAQ,CAAC;;EAE/C,UAAU,QAAyB;AACjC,YAAS,UAAU,OAAO;;EAE5B,MAAM,YAAY;AAChB,UAAO,MAAM,SAAS,WAAW;;EAEnC,MAAM,aAAa,SAAkB;GAEnC,MAAM,SADS,MAAM,KAAK,WAAW,GACf,MAAM,UAAU,MAAM,OAAO,QAAQ;AAC3D,OAAI,CAAC,MACH,OAAM,IAAI,MAAM,WAAW,QAAQ,YAAY;AAEjD,UAAO;;EAET,MAAM,aAAa;AACjB,UAAO,MAAM,SAAS,YAAY;;EAEpC,MAAM,oBAAoB,SAAkB;GAE1C,MAAM,gBADU,MAAM,KAAK,YAAY,EACV;AAC7B,OAAI,CAAC,cAAc,OACjB,OAAM,IAAI,MAAM,kCAAkC,UAAU;AAE9D,UAAO;;EAEV;CAED,SAAS,OACP,MAGyB;AACzB,UAAQ,aAAa;GACnB,MAAM,aAAa,SAAS,KAAK;GACjC,MAAM,WAAW;IAAE,GAAG;IAAM,GAAG;IAAY;AAG3C,UAAO,OAAO,OAAO,UAAU,EAC7B,QAAQ,OAAO,SAAS,EACzB,CAAC;;;AAIN,QAAO,OAAO,OAAO,QAAQ,EAAE,QAAQ,OAAO,OAAO,EAAE,CAAC"}
@@ -22,6 +22,7 @@ interface SDKBaseConfig {
22
22
  }
23
23
  interface SDKConfig extends Partial<Omit<SDKBaseConfig, "integrator">> {
24
24
  integrator: string;
25
+ providers?: SDKProvider[];
25
26
  }
26
27
  type RPCUrls = Partial<Record<ChainId, string[]>>;
27
28
  interface SDKProvider {
@@ -5,7 +5,7 @@ const checkPackageUpdates = async (packageName, packageVersion) => {
5
5
  try {
6
6
  const pkgName = packageName ?? "@lifi/sdk";
7
7
  const latestVersion = (await (await fetch(`https://registry.npmjs.org/${pkgName}/latest`)).json()).version;
8
- const currentVersion = packageVersion ?? "4.0.0-beta.2";
8
+ const currentVersion = packageVersion ?? "4.0.0-beta.3";
9
9
  if (latestVersion > currentVersion) console.warn(`${pkgName}: new package version is available. Please update as soon as possible to enjoy the newest features. Current version: ${currentVersion}. Latest version: ${latestVersion}.`);
10
10
  } catch (_error) {}
11
11
  };
@@ -1,6 +1,6 @@
1
1
  //#region src/version.d.ts
2
2
  declare const name = "@lifi/sdk";
3
- declare const version = "4.0.0-beta.2";
3
+ declare const version = "4.0.0-beta.3";
4
4
  //#endregion
5
5
  export { name, version };
6
6
  //# sourceMappingURL=version.d.ts.map
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  //#region src/version.ts
3
3
  const name = "@lifi/sdk";
4
- const version = "4.0.0-beta.2";
4
+ const version = "4.0.0-beta.3";
5
5
  //#endregion
6
6
  exports.name = name;
7
7
  exports.version = version;
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","names":[],"sources":["../../src/version.ts"],"sourcesContent":["export const name = '@lifi/sdk'\nexport const version = '4.0.0-beta.2'\n"],"mappings":";;AAAA,MAAa,OAAO;AACpB,MAAa,UAAU"}
1
+ {"version":3,"file":"version.js","names":[],"sources":["../../src/version.ts"],"sourcesContent":["export const name = '@lifi/sdk'\nexport const version = '4.0.0-beta.3'\n"],"mappings":";;AAAA,MAAa,OAAO;AACpB,MAAa,UAAU"}
@@ -5,15 +5,16 @@ import { getClientStorage } from "./getClientStorage.js";
5
5
  function createClient(options) {
6
6
  if (!options.integrator) throw new Error("Integrator not found. Please see documentation https://docs.li.fi/integrate-li.fi-js-sdk/set-up-the-sdk");
7
7
  if (!options.disableVersionCheck && process.env.NODE_ENV === "development") checkPackageUpdates(name, version);
8
+ const { providers, ...configOptions } = options;
8
9
  const _config = {
9
- ...options,
10
- apiUrl: options?.apiUrl ?? "https://li.quest/v1",
11
- rpcUrls: options?.rpcUrls ?? {},
12
- debug: options?.debug ?? false,
13
- preloadChains: options?.preloadChains ?? true,
14
- integrator: options?.integrator ?? "lifi-sdk"
10
+ ...configOptions,
11
+ apiUrl: configOptions?.apiUrl ?? "https://li.quest/v1",
12
+ rpcUrls: configOptions?.rpcUrls ?? {},
13
+ debug: configOptions?.debug ?? false,
14
+ preloadChains: configOptions?.preloadChains ?? true,
15
+ integrator: configOptions?.integrator ?? "lifi-sdk"
15
16
  };
16
- let _providers = [];
17
+ let _providers = providers ?? [];
17
18
  const _storage = getClientStorage(_config);
18
19
  const client = {
19
20
  get config() {
@@ -1 +1 @@
1
- {"version":3,"file":"createClient.js","names":[],"sources":["../../../src/client/createClient.ts"],"sourcesContent":["import type { ChainId, ChainType, ExtendedChain } from '@lifi/types'\nimport type {\n SDKBaseConfig,\n SDKClient,\n SDKConfig,\n SDKProvider,\n} from '../types/core.js'\nimport { checkPackageUpdates } from '../utils/checkPackageUpdates.js'\nimport { name, version } from '../version.js'\nimport { getClientStorage } from './getClientStorage.js'\n\nexport function createClient(options: SDKConfig): SDKClient {\n if (!options.integrator) {\n throw new Error(\n 'Integrator not found. Please see documentation https://docs.li.fi/integrate-li.fi-js-sdk/set-up-the-sdk'\n )\n }\n\n if (!options.disableVersionCheck && process.env.NODE_ENV === 'development') {\n checkPackageUpdates(name, version)\n }\n\n const _config: SDKBaseConfig = {\n ...options,\n apiUrl: options?.apiUrl ?? 'https://li.quest/v1',\n rpcUrls: options?.rpcUrls ?? {},\n debug: options?.debug ?? false,\n preloadChains: options?.preloadChains ?? true,\n integrator: options?.integrator ?? 'lifi-sdk',\n }\n\n let _providers: SDKProvider[] = []\n const _storage = getClientStorage(_config)\n\n const client: SDKClient = {\n get config() {\n return _config\n },\n get providers() {\n return _providers\n },\n getProvider(type: ChainType) {\n return this.providers.find((provider) => provider.type === type)\n },\n setProviders(newProviders: SDKProvider[]) {\n const providerMap = new Map(\n this.providers.map((provider) => [provider.type, provider])\n )\n for (const provider of newProviders) {\n providerMap.set(provider.type, provider)\n }\n _providers = Array.from(providerMap.values())\n },\n setChains(chains: ExtendedChain[]) {\n _storage.setChains(chains)\n },\n async getChains() {\n return await _storage.getChains()\n },\n async getChainById(chainId: ChainId) {\n const chains = await this.getChains()\n const chain = chains?.find((chain) => chain.id === chainId)\n if (!chain) {\n throw new Error(`ChainId ${chainId} not found`)\n }\n return chain\n },\n async getRpcUrls() {\n return await _storage.getRpcUrls()\n },\n async getRpcUrlsByChainId(chainId: ChainId) {\n const rpcUrls = await this.getRpcUrls()\n const chainRpcUrls = rpcUrls[chainId]\n if (!chainRpcUrls?.length) {\n throw new Error(`RPC URL not found for chainId: ${chainId}`)\n }\n return chainRpcUrls\n },\n }\n\n function extend<TClient extends SDKClient>(\n base: TClient\n ): <TExtensions extends Record<string, any>>(\n extendFn: (client: TClient) => TExtensions\n ) => TClient & TExtensions {\n return (extendFn) => {\n const extensions = extendFn(base)\n const extended = { ...base, ...extensions } as TClient & typeof extensions\n\n // Preserve the extend function for further extensions\n return Object.assign(extended, {\n extend: extend(extended),\n })\n }\n }\n\n return Object.assign(client, { extend: extend(client) })\n}\n"],"mappings":";;;;AAWA,SAAgB,aAAa,SAA+B;AAC1D,KAAI,CAAC,QAAQ,WACX,OAAM,IAAI,MACR,0GACD;AAGH,KAAI,CAAC,QAAQ,uBAAuB,QAAQ,IAAI,aAAa,cAC3D,qBAAoB,MAAM,QAAQ;CAGpC,MAAM,UAAyB;EAC7B,GAAG;EACH,QAAQ,SAAS,UAAU;EAC3B,SAAS,SAAS,WAAW,EAAE;EAC/B,OAAO,SAAS,SAAS;EACzB,eAAe,SAAS,iBAAiB;EACzC,YAAY,SAAS,cAAc;EACpC;CAED,IAAI,aAA4B,EAAE;CAClC,MAAM,WAAW,iBAAiB,QAAQ;CAE1C,MAAM,SAAoB;EACxB,IAAI,SAAS;AACX,UAAO;;EAET,IAAI,YAAY;AACd,UAAO;;EAET,YAAY,MAAiB;AAC3B,UAAO,KAAK,UAAU,MAAM,aAAa,SAAS,SAAS,KAAK;;EAElE,aAAa,cAA6B;GACxC,MAAM,cAAc,IAAI,IACtB,KAAK,UAAU,KAAK,aAAa,CAAC,SAAS,MAAM,SAAS,CAAC,CAC5D;AACD,QAAK,MAAM,YAAY,aACrB,aAAY,IAAI,SAAS,MAAM,SAAS;AAE1C,gBAAa,MAAM,KAAK,YAAY,QAAQ,CAAC;;EAE/C,UAAU,QAAyB;AACjC,YAAS,UAAU,OAAO;;EAE5B,MAAM,YAAY;AAChB,UAAO,MAAM,SAAS,WAAW;;EAEnC,MAAM,aAAa,SAAkB;GAEnC,MAAM,SADS,MAAM,KAAK,WAAW,GACf,MAAM,UAAU,MAAM,OAAO,QAAQ;AAC3D,OAAI,CAAC,MACH,OAAM,IAAI,MAAM,WAAW,QAAQ,YAAY;AAEjD,UAAO;;EAET,MAAM,aAAa;AACjB,UAAO,MAAM,SAAS,YAAY;;EAEpC,MAAM,oBAAoB,SAAkB;GAE1C,MAAM,gBADU,MAAM,KAAK,YAAY,EACV;AAC7B,OAAI,CAAC,cAAc,OACjB,OAAM,IAAI,MAAM,kCAAkC,UAAU;AAE9D,UAAO;;EAEV;CAED,SAAS,OACP,MAGyB;AACzB,UAAQ,aAAa;GACnB,MAAM,aAAa,SAAS,KAAK;GACjC,MAAM,WAAW;IAAE,GAAG;IAAM,GAAG;IAAY;AAG3C,UAAO,OAAO,OAAO,UAAU,EAC7B,QAAQ,OAAO,SAAS,EACzB,CAAC;;;AAIN,QAAO,OAAO,OAAO,QAAQ,EAAE,QAAQ,OAAO,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"createClient.js","names":[],"sources":["../../../src/client/createClient.ts"],"sourcesContent":["import type { ChainId, ChainType, ExtendedChain } from '@lifi/types'\nimport type {\n SDKBaseConfig,\n SDKClient,\n SDKConfig,\n SDKProvider,\n} from '../types/core.js'\nimport { checkPackageUpdates } from '../utils/checkPackageUpdates.js'\nimport { name, version } from '../version.js'\nimport { getClientStorage } from './getClientStorage.js'\n\nexport function createClient(options: SDKConfig): SDKClient {\n if (!options.integrator) {\n throw new Error(\n 'Integrator not found. Please see documentation https://docs.li.fi/integrate-li.fi-js-sdk/set-up-the-sdk'\n )\n }\n\n if (!options.disableVersionCheck && process.env.NODE_ENV === 'development') {\n checkPackageUpdates(name, version)\n }\n\n const { providers, ...configOptions } = options\n\n const _config: SDKBaseConfig = {\n ...configOptions,\n apiUrl: configOptions?.apiUrl ?? 'https://li.quest/v1',\n rpcUrls: configOptions?.rpcUrls ?? {},\n debug: configOptions?.debug ?? false,\n preloadChains: configOptions?.preloadChains ?? true,\n integrator: configOptions?.integrator ?? 'lifi-sdk',\n }\n\n let _providers: SDKProvider[] = providers ?? []\n const _storage = getClientStorage(_config)\n\n const client: SDKClient = {\n get config() {\n return _config\n },\n get providers() {\n return _providers\n },\n getProvider(type: ChainType) {\n return this.providers.find((provider) => provider.type === type)\n },\n setProviders(newProviders: SDKProvider[]) {\n const providerMap = new Map(\n this.providers.map((provider) => [provider.type, provider])\n )\n for (const provider of newProviders) {\n providerMap.set(provider.type, provider)\n }\n _providers = Array.from(providerMap.values())\n },\n setChains(chains: ExtendedChain[]) {\n _storage.setChains(chains)\n },\n async getChains() {\n return await _storage.getChains()\n },\n async getChainById(chainId: ChainId) {\n const chains = await this.getChains()\n const chain = chains?.find((chain) => chain.id === chainId)\n if (!chain) {\n throw new Error(`ChainId ${chainId} not found`)\n }\n return chain\n },\n async getRpcUrls() {\n return await _storage.getRpcUrls()\n },\n async getRpcUrlsByChainId(chainId: ChainId) {\n const rpcUrls = await this.getRpcUrls()\n const chainRpcUrls = rpcUrls[chainId]\n if (!chainRpcUrls?.length) {\n throw new Error(`RPC URL not found for chainId: ${chainId}`)\n }\n return chainRpcUrls\n },\n }\n\n function extend<TClient extends SDKClient>(\n base: TClient\n ): <TExtensions extends Record<string, any>>(\n extendFn: (client: TClient) => TExtensions\n ) => TClient & TExtensions {\n return (extendFn) => {\n const extensions = extendFn(base)\n const extended = { ...base, ...extensions } as TClient & typeof extensions\n\n // Preserve the extend function for further extensions\n return Object.assign(extended, {\n extend: extend(extended),\n })\n }\n }\n\n return Object.assign(client, { extend: extend(client) })\n}\n"],"mappings":";;;;AAWA,SAAgB,aAAa,SAA+B;AAC1D,KAAI,CAAC,QAAQ,WACX,OAAM,IAAI,MACR,0GACD;AAGH,KAAI,CAAC,QAAQ,uBAAuB,QAAQ,IAAI,aAAa,cAC3D,qBAAoB,MAAM,QAAQ;CAGpC,MAAM,EAAE,WAAW,GAAG,kBAAkB;CAExC,MAAM,UAAyB;EAC7B,GAAG;EACH,QAAQ,eAAe,UAAU;EACjC,SAAS,eAAe,WAAW,EAAE;EACrC,OAAO,eAAe,SAAS;EAC/B,eAAe,eAAe,iBAAiB;EAC/C,YAAY,eAAe,cAAc;EAC1C;CAED,IAAI,aAA4B,aAAa,EAAE;CAC/C,MAAM,WAAW,iBAAiB,QAAQ;CAE1C,MAAM,SAAoB;EACxB,IAAI,SAAS;AACX,UAAO;;EAET,IAAI,YAAY;AACd,UAAO;;EAET,YAAY,MAAiB;AAC3B,UAAO,KAAK,UAAU,MAAM,aAAa,SAAS,SAAS,KAAK;;EAElE,aAAa,cAA6B;GACxC,MAAM,cAAc,IAAI,IACtB,KAAK,UAAU,KAAK,aAAa,CAAC,SAAS,MAAM,SAAS,CAAC,CAC5D;AACD,QAAK,MAAM,YAAY,aACrB,aAAY,IAAI,SAAS,MAAM,SAAS;AAE1C,gBAAa,MAAM,KAAK,YAAY,QAAQ,CAAC;;EAE/C,UAAU,QAAyB;AACjC,YAAS,UAAU,OAAO;;EAE5B,MAAM,YAAY;AAChB,UAAO,MAAM,SAAS,WAAW;;EAEnC,MAAM,aAAa,SAAkB;GAEnC,MAAM,SADS,MAAM,KAAK,WAAW,GACf,MAAM,UAAU,MAAM,OAAO,QAAQ;AAC3D,OAAI,CAAC,MACH,OAAM,IAAI,MAAM,WAAW,QAAQ,YAAY;AAEjD,UAAO;;EAET,MAAM,aAAa;AACjB,UAAO,MAAM,SAAS,YAAY;;EAEpC,MAAM,oBAAoB,SAAkB;GAE1C,MAAM,gBADU,MAAM,KAAK,YAAY,EACV;AAC7B,OAAI,CAAC,cAAc,OACjB,OAAM,IAAI,MAAM,kCAAkC,UAAU;AAE9D,UAAO;;EAEV;CAED,SAAS,OACP,MAGyB;AACzB,UAAQ,aAAa;GACnB,MAAM,aAAa,SAAS,KAAK;GACjC,MAAM,WAAW;IAAE,GAAG;IAAM,GAAG;IAAY;AAG3C,UAAO,OAAO,OAAO,UAAU,EAC7B,QAAQ,OAAO,SAAS,EACzB,CAAC;;;AAIN,QAAO,OAAO,OAAO,QAAQ,EAAE,QAAQ,OAAO,OAAO,EAAE,CAAC"}
@@ -22,6 +22,7 @@ interface SDKBaseConfig {
22
22
  }
23
23
  interface SDKConfig extends Partial<Omit<SDKBaseConfig, "integrator">> {
24
24
  integrator: string;
25
+ providers?: SDKProvider[];
25
26
  }
26
27
  type RPCUrls = Partial<Record<ChainId, string[]>>;
27
28
  interface SDKProvider {
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","names":[],"sources":["../../../src/types/core.ts"],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","names":[],"sources":["../../../src/types/core.ts"],"mappings":"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"}
@@ -4,7 +4,7 @@ const checkPackageUpdates = async (packageName, packageVersion) => {
4
4
  try {
5
5
  const pkgName = packageName ?? "@lifi/sdk";
6
6
  const latestVersion = (await (await fetch(`https://registry.npmjs.org/${pkgName}/latest`)).json()).version;
7
- const currentVersion = packageVersion ?? "4.0.0-beta.2";
7
+ const currentVersion = packageVersion ?? "4.0.0-beta.3";
8
8
  if (latestVersion > currentVersion) console.warn(`${pkgName}: new package version is available. Please update as soon as possible to enjoy the newest features. Current version: ${currentVersion}. Latest version: ${latestVersion}.`);
9
9
  } catch (_error) {}
10
10
  };
@@ -1,6 +1,6 @@
1
1
  //#region src/version.d.ts
2
2
  declare const name = "@lifi/sdk";
3
- declare const version = "4.0.0-beta.2";
3
+ declare const version = "4.0.0-beta.3";
4
4
  //#endregion
5
5
  export { name, version };
6
6
  //# sourceMappingURL=version.d.ts.map
@@ -1,6 +1,6 @@
1
1
  //#region src/version.ts
2
2
  const name = "@lifi/sdk";
3
- const version = "4.0.0-beta.2";
3
+ const version = "4.0.0-beta.3";
4
4
  //#endregion
5
5
  export { name, version };
6
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","names":[],"sources":["../../src/version.ts"],"sourcesContent":["export const name = '@lifi/sdk'\nexport const version = '4.0.0-beta.2'\n"],"mappings":";AAAA,MAAa,OAAO;AACpB,MAAa,UAAU"}
1
+ {"version":3,"file":"version.js","names":[],"sources":["../../src/version.ts"],"sourcesContent":["export const name = '@lifi/sdk'\nexport const version = '4.0.0-beta.3'\n"],"mappings":";AAAA,MAAa,OAAO;AACpB,MAAa,UAAU"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/sdk",
3
- "version": "4.0.0-beta.2",
3
+ "version": "4.0.0-beta.3",
4
4
  "description": "LI.FI SDK for Any-to-Any Cross-Chain-Swap",
5
5
  "homepage": "https://github.com/lifinance/sdk",
6
6
  "bugs": {
@@ -20,16 +20,18 @@ export function createClient(options: SDKConfig): SDKClient {
20
20
  checkPackageUpdates(name, version)
21
21
  }
22
22
 
23
+ const { providers, ...configOptions } = options
24
+
23
25
  const _config: SDKBaseConfig = {
24
- ...options,
25
- apiUrl: options?.apiUrl ?? 'https://li.quest/v1',
26
- rpcUrls: options?.rpcUrls ?? {},
27
- debug: options?.debug ?? false,
28
- preloadChains: options?.preloadChains ?? true,
29
- integrator: options?.integrator ?? 'lifi-sdk',
26
+ ...configOptions,
27
+ apiUrl: configOptions?.apiUrl ?? 'https://li.quest/v1',
28
+ rpcUrls: configOptions?.rpcUrls ?? {},
29
+ debug: configOptions?.debug ?? false,
30
+ preloadChains: configOptions?.preloadChains ?? true,
31
+ integrator: configOptions?.integrator ?? 'lifi-sdk',
30
32
  }
31
33
 
32
- let _providers: SDKProvider[] = []
34
+ let _providers: SDKProvider[] = providers ?? []
33
35
  const _storage = getClientStorage(_config)
34
36
 
35
37
  const client: SDKClient = {
package/src/types/core.ts CHANGED
@@ -40,6 +40,7 @@ export interface SDKBaseConfig {
40
40
 
41
41
  export interface SDKConfig extends Partial<Omit<SDKBaseConfig, 'integrator'>> {
42
42
  integrator: string
43
+ providers?: SDKProvider[]
43
44
  }
44
45
 
45
46
  export type RPCUrls = Partial<Record<ChainId, string[]>>
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export const name = '@lifi/sdk'
2
- export const version = '4.0.0-beta.2'
2
+ export const version = '4.0.0-beta.3'