@lifi/sdk 3.0.0-alpha.54 → 3.0.0-alpha.56

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 (66) hide show
  1. package/package.json +3 -3
  2. package/src/_cjs/config.js +1 -1
  3. package/src/_cjs/config.js.map +1 -1
  4. package/src/_cjs/core/EVM/EVM.js +3 -3
  5. package/src/_cjs/core/EVM/EVM.js.map +1 -1
  6. package/src/_cjs/core/EVM/getENSAddress.js +20 -0
  7. package/src/_cjs/core/EVM/getENSAddress.js.map +1 -0
  8. package/src/_cjs/core/EVM/publicClient.js +8 -0
  9. package/src/_cjs/core/EVM/publicClient.js.map +1 -1
  10. package/src/_cjs/core/Solana/Solana.js +4 -10
  11. package/src/_cjs/core/Solana/Solana.js.map +1 -1
  12. package/src/_cjs/core/Solana/getSNSAddress.js +26 -0
  13. package/src/_cjs/core/Solana/getSNSAddress.js.map +1 -0
  14. package/src/_cjs/core/Solana/isAddress.js +15 -0
  15. package/src/_cjs/core/Solana/isAddress.js.map +1 -0
  16. package/src/_cjs/index.js +1 -0
  17. package/src/_cjs/index.js.map +1 -1
  18. package/src/_cjs/services/getNameServiceAddress.js +29 -0
  19. package/src/_cjs/services/getNameServiceAddress.js.map +1 -0
  20. package/src/_cjs/version.js +1 -1
  21. package/src/_esm/config.js +1 -1
  22. package/src/_esm/config.js.map +1 -1
  23. package/src/_esm/core/EVM/EVM.js +3 -3
  24. package/src/_esm/core/EVM/EVM.js.map +1 -1
  25. package/src/_esm/core/EVM/getENSAddress.js +17 -0
  26. package/src/_esm/core/EVM/getENSAddress.js.map +1 -0
  27. package/src/_esm/core/EVM/publicClient.js +9 -0
  28. package/src/_esm/core/EVM/publicClient.js.map +1 -1
  29. package/src/_esm/core/Solana/Solana.js +4 -10
  30. package/src/_esm/core/Solana/Solana.js.map +1 -1
  31. package/src/_esm/core/Solana/getSNSAddress.js +26 -0
  32. package/src/_esm/core/Solana/getSNSAddress.js.map +1 -0
  33. package/src/_esm/core/Solana/isAddress.js +11 -0
  34. package/src/_esm/core/Solana/isAddress.js.map +1 -0
  35. package/src/_esm/index.js +1 -0
  36. package/src/_esm/index.js.map +1 -1
  37. package/src/_esm/services/getNameServiceAddress.js +25 -0
  38. package/src/_esm/services/getNameServiceAddress.js.map +1 -0
  39. package/src/_esm/version.js +1 -1
  40. package/src/_types/core/EVM/EVM.d.ts.map +1 -1
  41. package/src/_types/core/EVM/getENSAddress.d.ts +2 -0
  42. package/src/_types/core/EVM/getENSAddress.d.ts.map +1 -0
  43. package/src/_types/core/EVM/publicClient.d.ts.map +1 -1
  44. package/src/_types/core/Solana/Solana.d.ts.map +1 -1
  45. package/src/_types/core/Solana/getSNSAddress.d.ts +2 -0
  46. package/src/_types/core/Solana/getSNSAddress.d.ts.map +1 -0
  47. package/src/_types/core/Solana/isAddress.d.ts +2 -0
  48. package/src/_types/core/Solana/isAddress.d.ts.map +1 -0
  49. package/src/_types/core/types.d.ts +1 -0
  50. package/src/_types/core/types.d.ts.map +1 -1
  51. package/src/_types/index.d.ts +1 -0
  52. package/src/_types/index.d.ts.map +1 -1
  53. package/src/_types/services/getNameServiceAddress.d.ts +3 -0
  54. package/src/_types/services/getNameServiceAddress.d.ts.map +1 -0
  55. package/src/_types/version.d.ts +1 -1
  56. package/src/config.ts +1 -1
  57. package/src/core/EVM/EVM.ts +3 -3
  58. package/src/core/EVM/getENSAddress.ts +18 -0
  59. package/src/core/EVM/publicClient.ts +9 -1
  60. package/src/core/Solana/Solana.ts +4 -9
  61. package/src/core/Solana/getSNSAddress.ts +33 -0
  62. package/src/core/Solana/isAddress.ts +10 -0
  63. package/src/core/types.ts +1 -0
  64. package/src/index.ts +1 -0
  65. package/src/services/getNameServiceAddress.ts +30 -0
  66. package/src/version.ts +1 -1
package/package.json CHANGED
@@ -4,11 +4,11 @@
4
4
  "dependencies": {
5
5
  "@lifi/types": "^11.2.0",
6
6
  "@solana/wallet-adapter-base": "^0.9.23",
7
- "@solana/web3.js": "^1.89.1",
7
+ "@solana/web3.js": "^1.90.0",
8
8
  "eth-rpc-errors": "^4.0.3",
9
- "viem": "^2.7.1"
9
+ "viem": "^2.7.9"
10
10
  },
11
- "version": "3.0.0-alpha.54",
11
+ "version": "3.0.0-alpha.56",
12
12
  "files": [
13
13
  "src",
14
14
  "!src/**/*.test.ts",
@@ -72,7 +72,7 @@ exports.config = (() => {
72
72
  continue;
73
73
  }
74
74
  if (!_config.rpcUrls[chainId]?.length) {
75
- _config.rpcUrls[chainId] = rpcUrls[chainId];
75
+ _config.rpcUrls[chainId] = Array.from(urls);
76
76
  }
77
77
  else {
78
78
  _config.rpcUrls[chainId]?.push(...urls);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ exports.EVM = void 0;
4
4
  const types_1 = require("@lifi/types");
5
5
  const viem_1 = require("viem");
6
6
  const EVMStepExecutor_js_1 = require("./EVMStepExecutor.js");
7
+ const getENSAddress_js_1 = require("./getENSAddress.js");
7
8
  const getEVMBalance_js_1 = require("./getEVMBalance.js");
8
9
  function EVM(options) {
9
10
  const _options = options ?? {};
@@ -14,9 +15,8 @@ function EVM(options) {
14
15
  get multisig() {
15
16
  return _options.multisig;
16
17
  },
17
- isAddress(address) {
18
- return (0, viem_1.isAddress)(address);
19
- },
18
+ isAddress: viem_1.isAddress,
19
+ resolveAddress: getENSAddress_js_1.getENSAddress,
20
20
  getBalance: getEVMBalance_js_1.getEVMBalance,
21
21
  async getStepExecutor(options) {
22
22
  if (!_options.getWalletClient) {
@@ -1 +1 @@
1
- {"version":3,"file":"EVM.js","sourceRoot":"","sources":["../../../core/EVM/EVM.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AACvC,+BAAgC;AAEhC,6DAAsD;AACtD,yDAAkD;AAGlD,SAAgB,GAAG,CAAC,OAA4B;IAC9C,MAAM,QAAQ,GAAuB,OAAO,IAAI,EAAE,CAAA;IAClD,OAAO;QACL,IAAI,IAAI;YACN,OAAO,iBAAS,CAAC,GAAG,CAAA;QACtB,CAAC;QACD,IAAI,QAAQ;YACV,OAAO,QAAQ,CAAC,QAAQ,CAAA;QAC1B,CAAC;QACD,SAAS,CAAC,OAAe;YACvB,OAAO,IAAA,gBAAS,EAAC,OAAO,CAAC,CAAA;QAC3B,CAAC;QACD,UAAU,EAAE,gCAAa;QACzB,KAAK,CAAC,eAAe,CACnB,OAA4B;YAE5B,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;YACrD,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,CAAA;YAErD,MAAM,QAAQ,GAAG,IAAI,oCAAe,CAAC;gBACnC,YAAY;gBACZ,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,gBAAgB,EAAE;oBAChB,GAAG,OAAO,CAAC,gBAAgB;oBAC3B,eAAe,EACb,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,gBAAgB,EAAE,eAAe;iBACpE;aACF,CAAC,CAAA;YAEF,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,UAAU,CAAC,OAA2B;YACpC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC;AAvCD,kBAuCC"}
1
+ {"version":3,"file":"EVM.js","sourceRoot":"","sources":["../../../core/EVM/EVM.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AACvC,+BAAgC;AAEhC,6DAAsD;AACtD,yDAAkD;AAClD,yDAAkD;AAGlD,SAAgB,GAAG,CAAC,OAA4B;IAC9C,MAAM,QAAQ,GAAuB,OAAO,IAAI,EAAE,CAAA;IAClD,OAAO;QACL,IAAI,IAAI;YACN,OAAO,iBAAS,CAAC,GAAG,CAAA;QACtB,CAAC;QACD,IAAI,QAAQ;YACV,OAAO,QAAQ,CAAC,QAAQ,CAAA;QAC1B,CAAC;QACD,SAAS,EAAT,gBAAS;QACT,cAAc,EAAE,gCAAa;QAC7B,UAAU,EAAE,gCAAa;QACzB,KAAK,CAAC,eAAe,CACnB,OAA4B;YAE5B,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;YACrD,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,CAAA;YAErD,MAAM,QAAQ,GAAG,IAAI,oCAAe,CAAC;gBACnC,YAAY;gBACZ,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,gBAAgB,EAAE;oBAChB,GAAG,OAAO,CAAC,gBAAgB;oBAC3B,eAAe,EACb,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,gBAAgB,EAAE,eAAe;iBACpE;aACF,CAAC,CAAA;YAEF,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,UAAU,CAAC,OAA2B;YACpC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC;AAtCD,kBAsCC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getENSAddress = void 0;
4
+ const types_1 = require("@lifi/types");
5
+ const ens_1 = require("viem/ens");
6
+ const publicClient_js_1 = require("./publicClient.js");
7
+ const getENSAddress = async (name) => {
8
+ try {
9
+ const client = await (0, publicClient_js_1.getPublicClient)(types_1.ChainId.ETH);
10
+ const address = await client.getEnsAddress({
11
+ name: (0, ens_1.normalize)(name),
12
+ });
13
+ return address;
14
+ }
15
+ catch (_) {
16
+ return;
17
+ }
18
+ };
19
+ exports.getENSAddress = getENSAddress;
20
+ //# sourceMappingURL=getENSAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getENSAddress.js","sourceRoot":"","sources":["../../../core/EVM/getENSAddress.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AACrC,kCAAoC;AACpC,uDAAmD;AAE5C,MAAM,aAAa,GAAG,KAAK,EAChC,IAAY,EACiB,EAAE;IAC/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAA,iCAAe,EAAC,eAAO,CAAC,GAAG,CAAC,CAAA;QACjD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;YACzC,IAAI,EAAE,IAAA,eAAS,EAAC,IAAI,CAAC;SACtB,CAAC,CAAA;QACF,OAAO,OAA6B,CAAA;IACtC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QAEX,OAAM;IACR,CAAC;AACH,CAAC,CAAA;AAbY,QAAA,aAAa,iBAazB"}
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getPublicClient = void 0;
4
+ const types_1 = require("@lifi/types");
4
5
  const viem_1 = require("viem");
6
+ const chains_1 = require("viem/chains");
5
7
  const config_js_1 = require("../../config.js");
6
8
  const rpc_js_1 = require("../rpc.js");
7
9
  const publicClients = {};
@@ -21,6 +23,12 @@ const getPublicClient = async (chainId) => {
21
23
  public: { http: _chain.metamask.rpcUrls },
22
24
  },
23
25
  };
26
+ if (chain.id === types_1.ChainId.ETH) {
27
+ chain.contracts = {
28
+ ...chains_1.mainnet.contracts,
29
+ ...chain.contracts,
30
+ };
31
+ }
24
32
  publicClients[chainId] = (0, viem_1.createPublicClient)({
25
33
  chain: chain,
26
34
  transport: (0, viem_1.fallback)(fallbackTransports),
@@ -1 +1 @@
1
- {"version":3,"file":"publicClient.js","sourceRoot":"","sources":["../../../core/EVM/publicClient.ts"],"names":[],"mappings":";;;AACA,+BAAyD;AAEzD,+CAAwC;AACxC,sCAAsC;AAGtC,MAAM,aAAa,GAAiC,EAAE,CAAA;AAO/C,MAAM,eAAe,GAAG,KAAK,EAClC,OAAe,EACQ,EAAE;IACzB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAU,EAAC,OAAO,CAAC,CAAA;QACtC,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1C,IAAA,WAAI,EAAC,GAAG,EAAE;YACR,KAAK,EAAE,IAAI;SACZ,CAAC,CACH,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,kBAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QACjD,MAAM,KAAK,GAAU;YACnB,GAAG,MAAM;YACT,GAAG,MAAM,CAAC,QAAQ;YAClB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;YAC/B,OAAO,EAAE;gBACP,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;gBAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;aAC1C;SACF,CAAA;QACD,aAAa,CAAC,OAAO,CAAC,GAAG,IAAA,yBAAkB,EAAC;YAC1C,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,IAAA,eAAQ,EAAC,kBAAkB,CAAC;SACxC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,EAAE,CAAC,CAAA;IACtE,CAAC;IAED,OAAO,aAAa,CAAC,OAAO,CAAC,CAAA;AAC/B,CAAC,CAAA;AA/BY,QAAA,eAAe,mBA+B3B"}
1
+ {"version":3,"file":"publicClient.js","sourceRoot":"","sources":["../../../core/EVM/publicClient.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AAErC,+BAAyD;AACzD,wCAAiD;AACjD,+CAAwC;AACxC,sCAAsC;AAGtC,MAAM,aAAa,GAAiC,EAAE,CAAA;AAO/C,MAAM,eAAe,GAAG,KAAK,EAClC,OAAe,EACQ,EAAE;IACzB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAU,EAAC,OAAO,CAAC,CAAA;QACtC,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1C,IAAA,WAAI,EAAC,GAAG,EAAE;YACR,KAAK,EAAE,IAAI;SACZ,CAAC,CACH,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,kBAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QACjD,MAAM,KAAK,GAAU;YACnB,GAAG,MAAM;YACT,GAAG,MAAM,CAAC,QAAQ;YAClB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;YAC/B,OAAO,EAAE;gBACP,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;gBAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;aAC1C;SACF,CAAA;QAED,IAAI,KAAK,CAAC,EAAE,KAAK,eAAO,CAAC,GAAG,EAAE,CAAC;YAC7B,KAAK,CAAC,SAAS,GAAG;gBAChB,GAAG,gBAAO,CAAC,SAAS;gBACpB,GAAG,KAAK,CAAC,SAAS;aACnB,CAAA;QACH,CAAC;QACD,aAAa,CAAC,OAAO,CAAC,GAAG,IAAA,yBAAkB,EAAC;YAC1C,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,IAAA,eAAQ,EAAC,kBAAkB,CAAC;SACxC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,EAAE,CAAC,CAAA;IACtE,CAAC;IAED,OAAO,aAAa,CAAC,OAAO,CAAC,CAAA;AAC/B,CAAC,CAAA;AAtCY,QAAA,eAAe,mBAsC3B"}
@@ -2,24 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Solana = void 0;
4
4
  const types_1 = require("@lifi/types");
5
- const web3_js_1 = require("@solana/web3.js");
6
5
  const SolanaStepExecutor_js_1 = require("./SolanaStepExecutor.js");
6
+ const getSNSAddress_js_1 = require("./getSNSAddress.js");
7
7
  const getSolanaBalance_js_1 = require("./getSolanaBalance.js");
8
+ const isAddress_js_1 = require("./isAddress.js");
8
9
  function Solana(options) {
9
10
  const _options = options ?? {};
10
11
  return {
11
12
  get type() {
12
13
  return types_1.ChainType.SVM;
13
14
  },
14
- isAddress(address) {
15
- try {
16
- new web3_js_1.PublicKey(address);
17
- return true;
18
- }
19
- catch (error) {
20
- return false;
21
- }
22
- },
15
+ isAddress: isAddress_js_1.isAddress,
16
+ resolveAddress: getSNSAddress_js_1.getSNSAddress,
23
17
  getBalance: getSolanaBalance_js_1.getSolanaBalance,
24
18
  async getStepExecutor(options) {
25
19
  if (!_options.getWalletAdapter) {
@@ -1 +1 @@
1
- {"version":3,"file":"Solana.js","sourceRoot":"","sources":["../../../core/Solana/Solana.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AACvC,6CAA2C;AAE3C,mEAA4D;AAC5D,+DAAwD;AAGxD,SAAgB,MAAM,CAAC,OAA+B;IACpD,MAAM,QAAQ,GAA0B,OAAO,IAAI,EAAE,CAAA;IACrD,OAAO;QACL,IAAI,IAAI;YACN,OAAO,iBAAS,CAAC,GAAG,CAAA;QACtB,CAAC;QACD,SAAS,CAAC,OAAe;YACvB,IAAI,CAAC;gBACH,IAAI,mBAAS,CAAC,OAAO,CAAC,CAAA;gBACtB,OAAO,IAAI,CAAA;YACb,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QACD,UAAU,EAAE,sCAAgB;QAC5B,KAAK,CAAC,eAAe,CACnB,OAA4B;YAE5B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;YACtD,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE,CAAA;YAEvD,MAAM,QAAQ,GAAG,IAAI,0CAAkB,CAAC;gBACtC,aAAa;gBACb,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,gBAAgB,EAAE;oBAChB,GAAG,OAAO,CAAC,gBAAgB;iBAC5B;aACF,CAAC,CAAA;YAEF,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,UAAU,CAAC,OAA8B;YACvC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC;AAtCD,wBAsCC"}
1
+ {"version":3,"file":"Solana.js","sourceRoot":"","sources":["../../../core/Solana/Solana.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AAEvC,mEAA4D;AAC5D,yDAAkD;AAClD,+DAAwD;AACxD,iDAA0C;AAG1C,SAAgB,MAAM,CAAC,OAA+B;IACpD,MAAM,QAAQ,GAA0B,OAAO,IAAI,EAAE,CAAA;IACrD,OAAO;QACL,IAAI,IAAI;YACN,OAAO,iBAAS,CAAC,GAAG,CAAA;QACtB,CAAC;QACD,SAAS,EAAT,wBAAS;QACT,cAAc,EAAE,gCAAa;QAC7B,UAAU,EAAE,sCAAgB;QAC5B,KAAK,CAAC,eAAe,CACnB,OAA4B;YAE5B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;YACtD,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE,CAAA;YAEvD,MAAM,QAAQ,GAAG,IAAI,0CAAkB,CAAC;gBACtC,aAAa;gBACb,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,gBAAgB,EAAE;oBAChB,GAAG,OAAO,CAAC,gBAAgB;iBAC5B;aACF,CAAC,CAAA;YAEF,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,UAAU,CAAC,OAA8B;YACvC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC;AAhCD,wBAgCC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSNSAddress = void 0;
4
+ const isAddress_js_1 = require("./isAddress.js");
5
+ const getSNSAddress = async (name) => {
6
+ try {
7
+ if (!name.endsWith('.sol')) {
8
+ return;
9
+ }
10
+ const snsWorkerUrl = `https://sns-sdk-proxy.bonfida.workers.dev/resolve/${name}`;
11
+ const response = await fetch(snsWorkerUrl);
12
+ if (!response.ok) {
13
+ return;
14
+ }
15
+ const data = await response.json();
16
+ if (!(0, isAddress_js_1.isAddress)(data.result)) {
17
+ return;
18
+ }
19
+ return data.result;
20
+ }
21
+ catch (_) {
22
+ return;
23
+ }
24
+ };
25
+ exports.getSNSAddress = getSNSAddress;
26
+ //# sourceMappingURL=getSNSAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSNSAddress.js","sourceRoot":"","sources":["../../../core/Solana/getSNSAddress.ts"],"names":[],"mappings":";;;AAAA,iDAA0C;AASnC,MAAM,aAAa,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IAClD,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAM;QACR,CAAC;QAED,MAAM,YAAY,GAAG,qDAAqD,IAAI,EAAE,CAAA;QAChF,MAAM,QAAQ,GAAa,MAAM,KAAK,CAAC,YAAY,CAAC,CAAA;QACpD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAc,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAE7C,IAAI,CAAC,IAAA,wBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAM;QACR,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QAEX,OAAM;IACR,CAAC;AACH,CAAC,CAAA;AAvBY,QAAA,aAAa,iBAuBzB"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isAddress = void 0;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ function isAddress(address) {
6
+ try {
7
+ new web3_js_1.PublicKey(address);
8
+ return true;
9
+ }
10
+ catch (error) {
11
+ return false;
12
+ }
13
+ }
14
+ exports.isAddress = isAddress;
15
+ //# sourceMappingURL=isAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isAddress.js","sourceRoot":"","sources":["../../../core/Solana/isAddress.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAE3C,SAAgB,SAAS,CAAC,OAAe;IACvC,IAAI,CAAC;QACH,IAAI,mBAAS,CAAC,OAAO,CAAC,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAPD,8BAOC"}
package/src/_cjs/index.js CHANGED
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "createConfig", { enumerable: true, get: function
15
15
  tslib_1.__exportStar(require("./helpers.js"), exports);
16
16
  tslib_1.__exportStar(require("./services/api.js"), exports);
17
17
  tslib_1.__exportStar(require("./services/balance.js"), exports);
18
+ tslib_1.__exportStar(require("./services/getNameServiceAddress.js"), exports);
18
19
  tslib_1.__exportStar(require("./types/index.js"), exports);
19
20
  tslib_1.__exportStar(require("./utils/errors.js"), exports);
20
21
  var errors_js_1 = require("./utils/errors.js");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;AAAA,sDAA2B;AAC3B,yCAAoC;AAA3B,mGAAA,MAAM,OAAA;AACf,4CAAuC;AAA9B,6FAAA,GAAG,OAAA;AAMZ,qDAAgD;AAAvC,mGAAA,MAAM,OAAA;AACf,0DAA+B;AAC/B,qDAAgD;AAAvC,+GAAA,YAAY,OAAA;AACrB,uDAA4B;AAC5B,4DAAiC;AACjC,gEAAqC;AACrC,2DAAgC;AAChC,4DAAiC;AACjC,+CAA6D;AAApD,sGAAA,SAAS,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;AAAA,sDAA2B;AAC3B,yCAAoC;AAA3B,mGAAA,MAAM,OAAA;AACf,4CAAuC;AAA9B,6FAAA,GAAG,OAAA;AAMZ,qDAAgD;AAAvC,mGAAA,MAAM,OAAA;AACf,0DAA+B;AAC/B,qDAAgD;AAAvC,+GAAA,YAAY,OAAA;AACrB,uDAA4B;AAC5B,4DAAiC;AACjC,gEAAqC;AACrC,8EAAmD;AACnD,2DAAgC;AAChC,4DAAiC;AACjC,+CAA6D;AAApD,sGAAA,SAAS,OAAA"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNameServiceAddress = void 0;
4
+ const config_js_1 = require("../config.js");
5
+ const getNameServiceAddress = async (name, chainType) => {
6
+ try {
7
+ let providers = config_js_1.config.get().providers;
8
+ if (chainType) {
9
+ providers = providers.filter((provider) => provider.type === chainType);
10
+ }
11
+ const resolvers = providers.map((provider) => provider.resolveAddress);
12
+ if (!resolvers.length) {
13
+ return;
14
+ }
15
+ const result = await Promise.any(resolvers.map(async (resolve) => {
16
+ const address = await resolve(name);
17
+ if (!address) {
18
+ throw undefined;
19
+ }
20
+ return address;
21
+ }));
22
+ return result;
23
+ }
24
+ catch (_) {
25
+ return;
26
+ }
27
+ };
28
+ exports.getNameServiceAddress = getNameServiceAddress;
29
+ //# sourceMappingURL=getNameServiceAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getNameServiceAddress.js","sourceRoot":"","sources":["../../services/getNameServiceAddress.ts"],"names":[],"mappings":";;;AACA,4CAAqC;AAE9B,MAAM,qBAAqB,GAAG,KAAK,EACxC,IAAY,EACZ,SAAqB,EACQ,EAAE;IAC/B,IAAI,CAAC;QACH,IAAI,SAAS,GAAG,kBAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAA;QACtC,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;QACzE,CAAC;QACD,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;QACtE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC9B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;YACnC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,SAAS,CAAA;YACjB,CAAC;YACD,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC,CACH,CAAA;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAM;IACR,CAAC;AACH,CAAC,CAAA;AA1BY,QAAA,qBAAqB,yBA0BjC"}
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = exports.name = void 0;
4
4
  exports.name = '@lifi/sdk';
5
- exports.version = '3.0.0-alpha.54';
5
+ exports.version = '3.0.0-alpha.56';
6
6
  //# sourceMappingURL=version.js.map
@@ -69,7 +69,7 @@ export const config = (() => {
69
69
  continue;
70
70
  }
71
71
  if (!_config.rpcUrls[chainId]?.length) {
72
- _config.rpcUrls[chainId] = rpcUrls[chainId];
72
+ _config.rpcUrls[chainId] = Array.from(urls);
73
73
  }
74
74
  else {
75
75
  _config.rpcUrls[chainId]?.push(...urls);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { ChainType } from '@lifi/types';
2
2
  import { isAddress } from 'viem';
3
3
  import { EVMStepExecutor } from './EVMStepExecutor.js';
4
+ import { getENSAddress } from './getENSAddress.js';
4
5
  import { getEVMBalance } from './getEVMBalance.js';
5
6
  export function EVM(options) {
6
7
  const _options = options ?? {};
@@ -11,9 +12,8 @@ export function EVM(options) {
11
12
  get multisig() {
12
13
  return _options.multisig;
13
14
  },
14
- isAddress(address) {
15
- return isAddress(address);
16
- },
15
+ isAddress,
16
+ resolveAddress: getENSAddress,
17
17
  getBalance: getEVMBalance,
18
18
  async getStepExecutor(options) {
19
19
  if (!_options.getWalletClient) {
@@ -1 +1 @@
1
- {"version":3,"file":"EVM.js","sourceRoot":"","sources":["../../../core/EVM/EVM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,MAAM,UAAU,GAAG,CAAC,OAA4B;IAC9C,MAAM,QAAQ,GAAuB,OAAO,IAAI,EAAE,CAAA;IAClD,OAAO;QACL,IAAI,IAAI;YACN,OAAO,SAAS,CAAC,GAAG,CAAA;QACtB,CAAC;QACD,IAAI,QAAQ;YACV,OAAO,QAAQ,CAAC,QAAQ,CAAA;QAC1B,CAAC;QACD,SAAS,CAAC,OAAe;YACvB,OAAO,SAAS,CAAC,OAAO,CAAC,CAAA;QAC3B,CAAC;QACD,UAAU,EAAE,aAAa;QACzB,KAAK,CAAC,eAAe,CACnB,OAA4B;YAE5B,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;YACrD,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,CAAA;YAErD,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;gBACnC,YAAY;gBACZ,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,gBAAgB,EAAE;oBAChB,GAAG,OAAO,CAAC,gBAAgB;oBAC3B,eAAe,EACb,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,gBAAgB,EAAE,eAAe;iBACpE;aACF,CAAC,CAAA;YAEF,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,UAAU,CAAC,OAA2B;YACpC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"EVM.js","sourceRoot":"","sources":["../../../core/EVM/EVM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,MAAM,UAAU,GAAG,CAAC,OAA4B;IAC9C,MAAM,QAAQ,GAAuB,OAAO,IAAI,EAAE,CAAA;IAClD,OAAO;QACL,IAAI,IAAI;YACN,OAAO,SAAS,CAAC,GAAG,CAAA;QACtB,CAAC;QACD,IAAI,QAAQ;YACV,OAAO,QAAQ,CAAC,QAAQ,CAAA;QAC1B,CAAC;QACD,SAAS;QACT,cAAc,EAAE,aAAa;QAC7B,UAAU,EAAE,aAAa;QACzB,KAAK,CAAC,eAAe,CACnB,OAA4B;YAE5B,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;YACrD,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,CAAA;YAErD,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;gBACnC,YAAY;gBACZ,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,gBAAgB,EAAE;oBAChB,GAAG,OAAO,CAAC,gBAAgB;oBAC3B,eAAe,EACb,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,gBAAgB,EAAE,eAAe;iBACpE;aACF,CAAC,CAAA;YAEF,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,UAAU,CAAC,OAA2B;YACpC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { ChainId } from '@lifi/types';
2
+ import { normalize } from 'viem/ens';
3
+ import { getPublicClient } from './publicClient.js';
4
+ export const getENSAddress = async (name) => {
5
+ try {
6
+ const client = await getPublicClient(ChainId.ETH);
7
+ const address = await client.getEnsAddress({
8
+ name: normalize(name),
9
+ });
10
+ return address;
11
+ }
12
+ catch (_) {
13
+ // ignore
14
+ return;
15
+ }
16
+ };
17
+ //# sourceMappingURL=getENSAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getENSAddress.js","sourceRoot":"","sources":["../../../core/EVM/getENSAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,IAAY,EACiB,EAAE;IAC/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACjD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;YACzC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;SACtB,CAAC,CAAA;QACF,OAAO,OAA6B,CAAA;IACtC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,SAAS;QACT,OAAM;IACR,CAAC;AACH,CAAC,CAAA"}
@@ -1,4 +1,6 @@
1
+ import { ChainId } from '@lifi/types';
1
2
  import { createPublicClient, fallback, http } from 'viem';
3
+ import { mainnet } from 'viem/chains';
2
4
  import { config } from '../../config.js';
3
5
  import { getRpcUrls } from '../rpc.js';
4
6
  // cached providers
@@ -24,6 +26,13 @@ export const getPublicClient = async (chainId) => {
24
26
  public: { http: _chain.metamask.rpcUrls },
25
27
  },
26
28
  };
29
+ // Add ENS contracts
30
+ if (chain.id === ChainId.ETH) {
31
+ chain.contracts = {
32
+ ...mainnet.contracts,
33
+ ...chain.contracts,
34
+ };
35
+ }
27
36
  publicClients[chainId] = createPublicClient({
28
37
  chain: chain,
29
38
  transport: fallback(fallbackTransports),
@@ -1 +1 @@
1
- {"version":3,"file":"publicClient.js","sourceRoot":"","sources":["../../../core/EVM/publicClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,mBAAmB;AACnB,MAAM,aAAa,GAAiC,EAAE,CAAA;AAEtD;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,OAAe,EACQ,EAAE;IACzB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAA;QACtC,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1C,IAAI,CAAC,GAAG,EAAE;YACR,KAAK,EAAE,IAAI;SACZ,CAAC,CACH,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QACjD,MAAM,KAAK,GAAU;YACnB,GAAG,MAAM;YACT,GAAG,MAAM,CAAC,QAAQ;YAClB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;YAC/B,OAAO,EAAE;gBACP,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;gBAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;aAC1C;SACF,CAAA;QACD,aAAa,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC;YAC1C,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,QAAQ,CAAC,kBAAkB,CAAC;SACxC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,EAAE,CAAC,CAAA;IACtE,CAAC;IAED,OAAO,aAAa,CAAC,OAAO,CAAC,CAAA;AAC/B,CAAC,CAAA"}
1
+ {"version":3,"file":"publicClient.js","sourceRoot":"","sources":["../../../core/EVM/publicClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AACzD,OAAO,EAAE,OAAO,EAAc,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,mBAAmB;AACnB,MAAM,aAAa,GAAiC,EAAE,CAAA;AAEtD;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,OAAe,EACQ,EAAE;IACzB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAA;QACtC,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1C,IAAI,CAAC,GAAG,EAAE;YACR,KAAK,EAAE,IAAI;SACZ,CAAC,CACH,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QACjD,MAAM,KAAK,GAAU;YACnB,GAAG,MAAM;YACT,GAAG,MAAM,CAAC,QAAQ;YAClB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;YAC/B,OAAO,EAAE;gBACP,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;gBAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;aAC1C;SACF,CAAA;QACD,oBAAoB;QACpB,IAAI,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;YAC7B,KAAK,CAAC,SAAS,GAAG;gBAChB,GAAG,OAAO,CAAC,SAAS;gBACpB,GAAG,KAAK,CAAC,SAAS;aACnB,CAAA;QACH,CAAC;QACD,aAAa,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC;YAC1C,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,QAAQ,CAAC,kBAAkB,CAAC;SACxC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,EAAE,CAAC,CAAA;IACtE,CAAC;IAED,OAAO,aAAa,CAAC,OAAO,CAAC,CAAA;AAC/B,CAAC,CAAA"}
@@ -1,22 +1,16 @@
1
1
  import { ChainType } from '@lifi/types';
2
- import { PublicKey } from '@solana/web3.js';
3
2
  import { SolanaStepExecutor } from './SolanaStepExecutor.js';
3
+ import { getSNSAddress } from './getSNSAddress.js';
4
4
  import { getSolanaBalance } from './getSolanaBalance.js';
5
+ import { isAddress } from './isAddress.js';
5
6
  export function Solana(options) {
6
7
  const _options = options ?? {};
7
8
  return {
8
9
  get type() {
9
10
  return ChainType.SVM;
10
11
  },
11
- isAddress(address) {
12
- try {
13
- new PublicKey(address);
14
- return true;
15
- }
16
- catch (error) {
17
- return false;
18
- }
19
- },
12
+ isAddress,
13
+ resolveAddress: getSNSAddress,
20
14
  getBalance: getSolanaBalance,
21
15
  async getStepExecutor(options) {
22
16
  if (!_options.getWalletAdapter) {
@@ -1 +1 @@
1
- {"version":3,"file":"Solana.js","sourceRoot":"","sources":["../../../core/Solana/Solana.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGxD,MAAM,UAAU,MAAM,CAAC,OAA+B;IACpD,MAAM,QAAQ,GAA0B,OAAO,IAAI,EAAE,CAAA;IACrD,OAAO;QACL,IAAI,IAAI;YACN,OAAO,SAAS,CAAC,GAAG,CAAA;QACtB,CAAC;QACD,SAAS,CAAC,OAAe;YACvB,IAAI,CAAC;gBACH,IAAI,SAAS,CAAC,OAAO,CAAC,CAAA;gBACtB,OAAO,IAAI,CAAA;YACb,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QACD,UAAU,EAAE,gBAAgB;QAC5B,KAAK,CAAC,eAAe,CACnB,OAA4B;YAE5B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;YACtD,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE,CAAA;YAEvD,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC;gBACtC,aAAa;gBACb,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,gBAAgB,EAAE;oBAChB,GAAG,OAAO,CAAC,gBAAgB;iBAC5B;aACF,CAAC,CAAA;YAEF,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,UAAU,CAAC,OAA8B;YACvC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"Solana.js","sourceRoot":"","sources":["../../../core/Solana/Solana.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG1C,MAAM,UAAU,MAAM,CAAC,OAA+B;IACpD,MAAM,QAAQ,GAA0B,OAAO,IAAI,EAAE,CAAA;IACrD,OAAO;QACL,IAAI,IAAI;YACN,OAAO,SAAS,CAAC,GAAG,CAAA;QACtB,CAAC;QACD,SAAS;QACT,cAAc,EAAE,aAAa;QAC7B,UAAU,EAAE,gBAAgB;QAC5B,KAAK,CAAC,eAAe,CACnB,OAA4B;YAE5B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;YACtD,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE,CAAA;YAEvD,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC;gBACtC,aAAa;gBACb,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,gBAAgB,EAAE;oBAChB,GAAG,OAAO,CAAC,gBAAgB;iBAC5B;aACF,CAAC,CAAA;YAEF,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,UAAU,CAAC,OAA8B;YACvC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { isAddress } from './isAddress.js';
2
+ // Subject to change
3
+ // https://github.com/Bonfida/sns-sdk?tab=readme-ov-file#sdk-proxy
4
+ export const getSNSAddress = async (name) => {
5
+ try {
6
+ if (!name.endsWith('.sol')) {
7
+ return;
8
+ }
9
+ // const rpcUrl = await getRpcUrl(ChainId.SOL)
10
+ const snsWorkerUrl = `https://sns-sdk-proxy.bonfida.workers.dev/resolve/${name}`;
11
+ const response = await fetch(snsWorkerUrl);
12
+ if (!response.ok) {
13
+ return;
14
+ }
15
+ const data = await response.json();
16
+ if (!isAddress(data.result)) {
17
+ return;
18
+ }
19
+ return data.result;
20
+ }
21
+ catch (_) {
22
+ // ignore
23
+ return;
24
+ }
25
+ };
26
+ //# sourceMappingURL=getSNSAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSNSAddress.js","sourceRoot":"","sources":["../../../core/Solana/getSNSAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAO1C,oBAAoB;AACpB,kEAAkE;AAClE,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IAClD,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAM;QACR,CAAC;QACD,8CAA8C;QAC9C,MAAM,YAAY,GAAG,qDAAqD,IAAI,EAAE,CAAA;QAChF,MAAM,QAAQ,GAAa,MAAM,KAAK,CAAC,YAAY,CAAC,CAAA;QACpD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAc,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAE7C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAM;QACR,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,SAAS;QACT,OAAM;IACR,CAAC;AACH,CAAC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { PublicKey } from '@solana/web3.js';
2
+ export function isAddress(address) {
3
+ try {
4
+ new PublicKey(address);
5
+ return true;
6
+ }
7
+ catch (error) {
8
+ return false;
9
+ }
10
+ }
11
+ //# sourceMappingURL=isAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isAddress.js","sourceRoot":"","sources":["../../../core/Solana/isAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,IAAI,CAAC;QACH,IAAI,SAAS,CAAC,OAAO,CAAC,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
package/src/_esm/index.js CHANGED
@@ -7,6 +7,7 @@ export { createConfig } from './createConfig.js';
7
7
  export * from './helpers.js';
8
8
  export * from './services/api.js';
9
9
  export * from './services/balance.js';
10
+ export * from './services/getNameServiceAddress.js';
10
11
  export * from './types/index.js';
11
12
  export * from './utils/errors.js';
12
13
  export { LiFiError } from './utils/errors.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAMvC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,SAAS,EAAkB,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAMvC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qCAAqC,CAAA;AACnD,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,SAAS,EAAkB,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { config } from '../config.js';
2
+ export const getNameServiceAddress = async (name, chainType) => {
3
+ try {
4
+ let providers = config.get().providers;
5
+ if (chainType) {
6
+ providers = providers.filter((provider) => provider.type === chainType);
7
+ }
8
+ const resolvers = providers.map((provider) => provider.resolveAddress);
9
+ if (!resolvers.length) {
10
+ return;
11
+ }
12
+ const result = await Promise.any(resolvers.map(async (resolve) => {
13
+ const address = await resolve(name);
14
+ if (!address) {
15
+ throw undefined;
16
+ }
17
+ return address;
18
+ }));
19
+ return result;
20
+ }
21
+ catch (_) {
22
+ return;
23
+ }
24
+ };
25
+ //# sourceMappingURL=getNameServiceAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getNameServiceAddress.js","sourceRoot":"","sources":["../../services/getNameServiceAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACxC,IAAY,EACZ,SAAqB,EACQ,EAAE;IAC/B,IAAI,CAAC;QACH,IAAI,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAA;QACtC,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;QACzE,CAAC;QACD,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;QACtE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC9B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;YACnC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,SAAS,CAAA;YACjB,CAAC;YACD,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC,CACH,CAAA;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAM;IACR,CAAC;AACH,CAAC,CAAA"}
@@ -1,3 +1,3 @@
1
1
  export const name = '@lifi/sdk';
2
- export const version = '3.0.0-alpha.54';
2
+ export const version = '3.0.0-alpha.56';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EVM.d.ts","sourceRoot":"","sources":["../../../core/EVM/EVM.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEjE,wBAAgB,GAAG,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW,CAuC7D"}
1
+ {"version":3,"file":"EVM.d.ts","sourceRoot":"","sources":["../../../core/EVM/EVM.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEjE,wBAAgB,GAAG,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW,CAsC7D"}
@@ -0,0 +1,2 @@
1
+ export declare const getENSAddress: (name: string) => Promise<string | undefined>;
2
+ //# sourceMappingURL=getENSAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getENSAddress.d.ts","sourceRoot":"","sources":["../../../core/EVM/getENSAddress.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa,SAClB,MAAM,KACX,QAAQ,MAAM,GAAG,SAAS,CAW5B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"publicClient.d.ts","sourceRoot":"","sources":["../../../core/EVM/publicClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AASxC;;;;GAIG;AACH,eAAO,MAAM,eAAe,YACjB,MAAM,KACd,QAAQ,YAAY,CA6BtB,CAAA"}
1
+ {"version":3,"file":"publicClient.d.ts","sourceRoot":"","sources":["../../../core/EVM/publicClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AASxC;;;;GAIG;AACH,eAAO,MAAM,eAAe,YACjB,MAAM,KACd,QAAQ,YAAY,CAoCtB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Solana.d.ts","sourceRoot":"","sources":["../../../core/Solana/Solana.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEvE,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,cAAc,CAsCtE"}
1
+ {"version":3,"file":"Solana.d.ts","sourceRoot":"","sources":["../../../core/Solana/Solana.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEvE,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,cAAc,CAgCtE"}
@@ -0,0 +1,2 @@
1
+ export declare const getSNSAddress: (name: string) => Promise<string | undefined>;
2
+ //# sourceMappingURL=getSNSAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSNSAddress.d.ts","sourceRoot":"","sources":["../../../core/Solana/getSNSAddress.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,aAAa,SAAgB,MAAM,gCAuB/C,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare function isAddress(address: string): boolean;
2
+ //# sourceMappingURL=isAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isAddress.d.ts","sourceRoot":"","sources":["../../../core/Solana/isAddress.ts"],"names":[],"mappings":"AAEA,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAOlD"}
@@ -3,6 +3,7 @@ import type { WalletClient } from 'viem';
3
3
  export interface SDKProvider {
4
4
  readonly type: ChainType;
5
5
  isAddress(address: string): boolean;
6
+ resolveAddress(name: string): Promise<string | undefined>;
6
7
  getStepExecutor(options: StepExecutorOptions): Promise<StepExecutor>;
7
8
  getBalance(walletAddress: string, tokens: Token[]): Promise<TokenAmount[]>;
8
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../core/types.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export { createConfig } from './createConfig.js';
8
8
  export * from './helpers.js';
9
9
  export * from './services/api.js';
10
10
  export * from './services/balance.js';
11
+ export * from './services/getNameServiceAddress.js';
11
12
  export * from './types/index.js';
12
13
  export * from './utils/errors.js';
13
14
  export { LiFiError, type ErrorCode } from './utils/errors.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qCAAqC,CAAA;AACnD,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { ChainType } from '@lifi/types';
2
+ export declare const getNameServiceAddress: (name: string, chainType?: ChainType) => Promise<string | undefined>;
3
+ //# sourceMappingURL=getNameServiceAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getNameServiceAddress.d.ts","sourceRoot":"","sources":["../../services/getNameServiceAddress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAG5C,eAAO,MAAM,qBAAqB,SAC1B,MAAM,cACA,SAAS,KACpB,QAAQ,MAAM,GAAG,SAAS,CAuB5B,CAAA"}
@@ -1,3 +1,3 @@
1
1
  export declare const name = "@lifi/sdk";
2
- export declare const version = "3.0.0-alpha.54";
2
+ export declare const version = "3.0.0-alpha.56";
3
3
  //# sourceMappingURL=version.d.ts.map
package/src/config.ts CHANGED
@@ -75,7 +75,7 @@ export const config = (() => {
75
75
  continue
76
76
  }
77
77
  if (!_config.rpcUrls[chainId]?.length) {
78
- _config.rpcUrls[chainId] = rpcUrls[chainId]
78
+ _config.rpcUrls[chainId] = Array.from(urls)
79
79
  } else {
80
80
  _config.rpcUrls[chainId]?.push(...urls)
81
81
  }
@@ -2,6 +2,7 @@ import { ChainType } from '@lifi/types'
2
2
  import { isAddress } from 'viem'
3
3
  import type { StepExecutorOptions } from '../types.js'
4
4
  import { EVMStepExecutor } from './EVMStepExecutor.js'
5
+ import { getENSAddress } from './getENSAddress.js'
5
6
  import { getEVMBalance } from './getEVMBalance.js'
6
7
  import type { EVMProvider, EVMProviderOptions } from './types.js'
7
8
 
@@ -14,9 +15,8 @@ export function EVM(options?: EVMProviderOptions): EVMProvider {
14
15
  get multisig() {
15
16
  return _options.multisig
16
17
  },
17
- isAddress(address: string): boolean {
18
- return isAddress(address)
19
- },
18
+ isAddress,
19
+ resolveAddress: getENSAddress,
20
20
  getBalance: getEVMBalance,
21
21
  async getStepExecutor(
22
22
  options: StepExecutorOptions
@@ -0,0 +1,18 @@
1
+ import { ChainId } from '@lifi/types'
2
+ import { normalize } from 'viem/ens'
3
+ import { getPublicClient } from './publicClient.js'
4
+
5
+ export const getENSAddress = async (
6
+ name: string
7
+ ): Promise<string | undefined> => {
8
+ try {
9
+ const client = await getPublicClient(ChainId.ETH)
10
+ const address = await client.getEnsAddress({
11
+ name: normalize(name),
12
+ })
13
+ return address as string | undefined
14
+ } catch (_) {
15
+ // ignore
16
+ return
17
+ }
18
+ }
@@ -1,6 +1,7 @@
1
+ import { ChainId } from '@lifi/types'
1
2
  import type { PublicClient } from 'viem'
2
3
  import { createPublicClient, fallback, http } from 'viem'
3
- import type { Chain } from 'viem/chains'
4
+ import { mainnet, type Chain } from 'viem/chains'
4
5
  import { config } from '../../config.js'
5
6
  import { getRpcUrls } from '../rpc.js'
6
7
 
@@ -32,6 +33,13 @@ export const getPublicClient = async (
32
33
  public: { http: _chain.metamask.rpcUrls },
33
34
  },
34
35
  }
36
+ // Add ENS contracts
37
+ if (chain.id === ChainId.ETH) {
38
+ chain.contracts = {
39
+ ...mainnet.contracts,
40
+ ...chain.contracts,
41
+ }
42
+ }
35
43
  publicClients[chainId] = createPublicClient({
36
44
  chain: chain,
37
45
  transport: fallback(fallbackTransports),
@@ -1,8 +1,9 @@
1
1
  import { ChainType } from '@lifi/types'
2
- import { PublicKey } from '@solana/web3.js'
3
2
  import type { StepExecutorOptions } from '../types.js'
4
3
  import { SolanaStepExecutor } from './SolanaStepExecutor.js'
4
+ import { getSNSAddress } from './getSNSAddress.js'
5
5
  import { getSolanaBalance } from './getSolanaBalance.js'
6
+ import { isAddress } from './isAddress.js'
6
7
  import type { SolanaProvider, SolanaProviderOptions } from './types.js'
7
8
 
8
9
  export function Solana(options?: SolanaProviderOptions): SolanaProvider {
@@ -11,14 +12,8 @@ export function Solana(options?: SolanaProviderOptions): SolanaProvider {
11
12
  get type() {
12
13
  return ChainType.SVM
13
14
  },
14
- isAddress(address: string): boolean {
15
- try {
16
- new PublicKey(address)
17
- return true
18
- } catch (error) {
19
- return false
20
- }
21
- },
15
+ isAddress,
16
+ resolveAddress: getSNSAddress,
22
17
  getBalance: getSolanaBalance,
23
18
  async getStepExecutor(
24
19
  options: StepExecutorOptions
@@ -0,0 +1,33 @@
1
+ import { isAddress } from './isAddress.js'
2
+
3
+ interface SNSResult {
4
+ s: 'ok' | 'error'
5
+ result: string
6
+ }
7
+
8
+ // Subject to change
9
+ // https://github.com/Bonfida/sns-sdk?tab=readme-ov-file#sdk-proxy
10
+ export const getSNSAddress = async (name: string) => {
11
+ try {
12
+ if (!name.endsWith('.sol')) {
13
+ return
14
+ }
15
+ // const rpcUrl = await getRpcUrl(ChainId.SOL)
16
+ const snsWorkerUrl = `https://sns-sdk-proxy.bonfida.workers.dev/resolve/${name}`
17
+ const response: Response = await fetch(snsWorkerUrl)
18
+ if (!response.ok) {
19
+ return
20
+ }
21
+
22
+ const data: SNSResult = await response.json()
23
+
24
+ if (!isAddress(data.result)) {
25
+ return
26
+ }
27
+
28
+ return data.result
29
+ } catch (_) {
30
+ // ignore
31
+ return
32
+ }
33
+ }
@@ -0,0 +1,10 @@
1
+ import { PublicKey } from '@solana/web3.js'
2
+
3
+ export function isAddress(address: string): boolean {
4
+ try {
5
+ new PublicKey(address)
6
+ return true
7
+ } catch (error) {
8
+ return false
9
+ }
10
+ }
package/src/core/types.ts CHANGED
@@ -12,6 +12,7 @@ import type { WalletClient } from 'viem'
12
12
  export interface SDKProvider {
13
13
  readonly type: ChainType
14
14
  isAddress(address: string): boolean
15
+ resolveAddress(name: string): Promise<string | undefined>
15
16
  getStepExecutor(options: StepExecutorOptions): Promise<StepExecutor>
16
17
  getBalance(walletAddress: string, tokens: Token[]): Promise<TokenAmount[]>
17
18
  }
package/src/index.ts CHANGED
@@ -12,6 +12,7 @@ export { createConfig } from './createConfig.js'
12
12
  export * from './helpers.js'
13
13
  export * from './services/api.js'
14
14
  export * from './services/balance.js'
15
+ export * from './services/getNameServiceAddress.js'
15
16
  export * from './types/index.js'
16
17
  export * from './utils/errors.js'
17
18
  export { LiFiError, type ErrorCode } from './utils/errors.js'
@@ -0,0 +1,30 @@
1
+ import type { ChainType } from '@lifi/types'
2
+ import { config } from '../config.js'
3
+
4
+ export const getNameServiceAddress = async (
5
+ name: string,
6
+ chainType?: ChainType
7
+ ): Promise<string | undefined> => {
8
+ try {
9
+ let providers = config.get().providers
10
+ if (chainType) {
11
+ providers = providers.filter((provider) => provider.type === chainType)
12
+ }
13
+ const resolvers = providers.map((provider) => provider.resolveAddress)
14
+ if (!resolvers.length) {
15
+ return
16
+ }
17
+ const result = await Promise.any(
18
+ resolvers.map(async (resolve) => {
19
+ const address = await resolve(name)
20
+ if (!address) {
21
+ throw undefined
22
+ }
23
+ return address
24
+ })
25
+ )
26
+ return result
27
+ } catch (_) {
28
+ return
29
+ }
30
+ }
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export const name = '@lifi/sdk'
2
- export const version = '3.0.0-alpha.54'
2
+ export const version = '3.0.0-alpha.56'