@rango-dev/wallets-shared 0.40.1-next.2 → 0.41.0

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":"getCosmosAccounts.d.ts","sourceRoot":"","sources":["../src/getCosmosAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAyB,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1E,OAAO,KAAK,EAEV,oBAAoB,EACpB,eAAe,EAChB,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC;IACvE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,CAAC,CAAC,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;CACtE,CAAC;AAmBF,eAAO,MAAM,8BAA8B,gBAC5B,oBAAoB,EAAE,iCAsChC,CAAC;AA+EN,eAAO,MAAM,iBAAiB,EAAE,OA6C/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,OAchC,CAAC"}
1
+ {"version":3,"file":"getCosmosAccounts.d.ts","sourceRoot":"","sources":["../src/getCosmosAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAyB,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1E,OAAO,KAAK,EAEV,oBAAoB,EACpB,eAAe,EAChB,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC;IACvE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,CAAC,CAAC,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;CACtE,CAAC;AAqBF,eAAO,MAAM,8BAA8B,gBAC5B,oBAAoB,EAAE,iCAsChC,CAAC;AAqFN,eAAO,MAAM,iBAAiB,EAAE,OA6C/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,OAchC,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var y=Object.defineProperty;var a=(e,t)=>y(e,"name",{value:t,configurable:!0});import{LegacyNetworks as u}from"@rango-dev/wallets-core/legacy";import{LegacyNetworks as m,legacyGetBlockChainNameFromId as $}from"@rango-dev/wallets-core/legacy";var R=!1,_=a(e=>Buffer.from(e).toString("hex"),"uint8ArrayToHex"),x=(r=>(r.DEFAULT="default",r.META_MASK="metamask",r.WALLET_CONNECT_2="wallet-connect-2",r.TRUST_WALLET="trust-wallet",r.KEPLR="keplr",r.PHANTOM="phantom",r.BITGET="bitget",r.TRON_LINK="tron-link",r.COINBASE="coinbase",r.XDEFI="xdefi",r.CLOVER="clover",r.ARGENTX="argentx",r.FRONTIER="frontier",r.COSMOSTATION="cosmostation",r.COIN98="coin98",r.SAFEPAL="safepal",r.SAFE="safe",r.TOKEN_POCKET="token-pocket",r.BRAVE="brave",r.BRAAVOS="braavos",r.MATH="math",r.EXODUS="exodus",r.OKX="okx",r.HALO="halo",r.LEAP="leap",r.LEAP_COSMOS="leap-cosmos",r.STATION="station",r.ENKRYPT="enkrypt",r.TAHO="taho",r.MY_TON_WALLET="mytonwallet",r.SOLFLARE_SNAP="solflare-snap",r.LEDGER="ledger",r.Rabby="rabby",r.TOMO="tomo",r.TREZOR="trezor",r.SOLFLARE="solflare",r.TON_CONNECT="tonconnect",r))(x||{}),U={EVM:{mainBlockchain:"ETH",title:"Ethereum",derivationPaths:[{id:"metamask",label:"Metamask (m/44'/60'/0'/0/index)",generateDerivationPath:e=>`44'/60'/0'/0/${e}`},{id:"ledgerLive",label:"LedgerLive (m/44'/60'/index'/0/0)",generateDerivationPath:e=>`44'/60'/${e}'/0/0`},{id:"legacy",label:"Legacy (m/44'/60'/0'/index)",generateDerivationPath:e=>`44'/60'/0'/${e}`}]},Solana:{mainBlockchain:"SOLANA",title:"Solana",derivationPaths:[{id:"(m/44'/501'/index')",label:"(m/44'/501'/index')",generateDerivationPath:e=>`44'/501'/${e}'`},{id:"(m/44'/501'/0'/index)",label:"(m/44'/501'/0'/index)",generateDerivationPath:e=>`44'/501'/0'/${e}`}]},Cosmos:{mainBlockchain:"COSMOS",title:"Cosmos"},UTXO:{mainBlockchain:"BTC",title:"Utxo"},Starknet:{title:"Starknet",mainBlockchain:"STARKNET"},Tron:{title:"Tron",mainBlockchain:"TRON"},Ton:{title:"Ton",mainBlockchain:"TON"}},D=[u.BTC,u.LTC,u.THORCHAIN,u.BCH,u.MAYA,u.DOGE],F=["keplr","cosmostation","leap-cosmos","xdefi"],H="https://cosmos-rpc.polkachu.com",K="0x1",G="https://rpc.ankr.com/eth";import{isAddress as oe}from"ethers";function d(e){let t;if(e==null||typeof e!="object")return e;if(e instanceof Date)return t=new Date,t.setTime(e.getTime()),t;if(e instanceof Array){t=[];for(let n=0,o=e.length;n<o;n++)t[n]=d(e[n]);return t}if(e instanceof Object){t={};for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=d(e[n]));return t}throw new Error("Unable to copy obj! Its type isn't supported.")}a(d,"deepCopy");async function E(e,t,n){let o=n[t];try{await e.request({method:"wallet_switchEthereumChain",params:[{chainId:o?.chainId}]})}catch(i){let l=i;if(o)(l.code===4902||!l.code)&&await e.request({method:"wallet_addEthereumChain",params:[o]});else throw new Error(`It seems you don't have ${t} network on your wallet. Please add it manually.`);throw i}}a(E,"switchOrAddNetworkForMetamaskCompatibleWallets");async function j(e,t){let n=new Promise((o,i)=>{setTimeout(()=>{i("Timeout!")},t)});return Promise.race([e,n])}a(j,"timeout");var k=a(e=>e.reduce((t,n)=>(t[n.name]={chainName:n.info.chainName,chainId:n.chainId,nativeCurrency:n.info.nativeCurrency,rpcUrls:n.info.rpcUrls,blockExplorerUrls:n.info.blockExplorerUrls},t),{}),"convertEvmBlockchainMetaToEvmChainInfo"),z=a(e=>Object.fromEntries(new Map(Object.keys(e).map(t=>{let n=e[t];return n?[parseInt(n.chainId),n.rpcUrls[0]]:[0,""]}))),"evmChainsToRpcMap"),Z=a(async({instance:e})=>({accounts:[(await e.connect()).publicKey.toString()],chainId:m.SOLANA}),"getSolanaAccounts");function J(e){return e.sort((t,n)=>Number(n.connected)-Number(t.connected)||Number(n.extensionAvailable)-Number(t.extensionAvailable))}a(J,"sortWalletsBasedOnState");function A(){let e=!1,t=navigator;return t.brave&&t.brave.isBrave&&t.brave.isBrave().then(n=>{n&&(e=!0)}),e}a(A,"isBrave");function Q(e){if(typeof e!="object")return e;let t;return A()?t=e.BRAVE:navigator.userAgent?.toLowerCase().indexOf("chrome")!==-1?t=e.CHROME:navigator.userAgent?.toLowerCase().indexOf("firefox")!==-1?t=e.FIREFOX:navigator.userAgent?.toLowerCase().indexOf("edge")!==-1&&(t=e.EDGE),t||e.DEFAULT}a(Q,"detectInstallLink");function W(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}a(W,"detectMobileScreens");function ee(e){let n=(e?.split(":")[0]||"").split("-"),o=n[n.length-1],i=n.slice(0,-1);return i[i.length-1]===o&&i.pop(),[i.join("-"),o]}a(ee,"splitWalletNetwork");import{isEvmBlockchain as w}from"rango-types";async function ce(e){let[t,n]=await Promise.all([e.request({method:"eth_requestAccounts"}),e.request({method:"eth_chainId"})]);return{accounts:t,chainId:n}}a(ce,"getEvmAccounts");var le=a(({instance:e,state:t,updateChainId:n,updateAccounts:o})=>{let i=a(c=>{t.connected&&o(c)},"handleAccountsChanged"),l=a(c=>{n(c)},"handleChainChanged");return e?.on?.("accountsChanged",i),e?.on?.("chainChanged",l),a(()=>{e?.off?.("accountsChanged",i),e?.off?.("chainChanged",l)},"cleanup")},"subscribeToEvm"),me=a(async({instance:e})=>{try{return!!(await e.request({method:"eth_accounts"})).length}catch{return!1}},"canEagerlyConnectToEvm"),ue=a(async({instance:e,network:t,meta:n})=>{let o=n.filter(w),i=S(e,m.ETHEREUM);await E(i,t,k(o))},"switchNetworkForEvm"),he=a(({network:e,meta:t})=>C(t).includes(e),"canSwitchNetworkToEvm");function C(e){return e.filter(w).map(t=>t.name)}a(C,"evmNetworkNames");function v(e,t){return e&&C(t).includes(e)?m.ETHEREUM:null}a(v,"getEthChainsInstance");function O(e,t){return e?C(t).includes(e):!1}a(O,"isEvmNetwork");function de(e,t,n){n=n||m.ETHEREUM;let o=O(n,t)?v(n,t):n;return e&&o?e.get(o):null}a(de,"chooseInstance");function S(e,t){return e.size?e.get(t):e}a(S,"getNetworkInstance");function fe(e,t){return t&&e[t]?e[t].size?e[t].get(m.ETHEREUM):e[t]:null}a(fe,"getEvmProvider");var P=a(e=>e.filter(t=>t.info&&!t.info.experimental).map(t=>t.chainId).filter(t=>!!t),"getCosmosMainChainsIds"),B=a(e=>e.filter(t=>t.info?.experimental).map(t=>t.chainId).filter(t=>!!t),"getCosmosMiscChainsIds"),I=a(e=>e.filter(t=>!!t.info).filter(t=>!!t.chainId).reduce((t,n)=>{let o=d(n.info);o.stakeCurrency.coinImageUrl=window.location.origin+o.stakeCurrency.coinImageUrl,o.currencies=o.currencies.map(s=>({...s,coinImageUrl:window.location.origin+s.coinImageUrl})),o.feeCurrencies=o.feeCurrencies.map(s=>({...s,coinImageUrl:window.location.origin+s.coinImageUrl})),o.gasPriceStep||delete o.gasPriceStep;let{experimental:i,...l}=o;return t[n.name]={id:n.chainId,info:{...l,chainId:n.chainId},experimental:i},t},{}),"getCosmosExperimentalChainInfo");async function L({desiredChainIds:e,instance:t}){let n=e.map(s=>({signer:t.getOfflineSigner(s),chainId:s})).filter(Boolean),o=n.map(({signer:s})=>s.getAccounts()),i=await Promise.allSettled(o),l=[];return i.forEach((s,c)=>{if(s.status!=="fulfilled")return;let h=s.value,{chainId:f}=n[c],p=h.map(g=>g.address);l.push({accounts:p,chainId:f})}),l}a(L,"getMainAccounts");async function M({excludedChain:e,instance:t,meta:n}){let o=B(n).filter(c=>c!==e).map(c=>({signer:t.getOfflineSigner(c),chainId:c})),i=o.map(async({signer:c})=>c.getAccounts()),l=await Promise.allSettled(i),s=[];return l.forEach((c,h)=>{if(c.status!=="fulfilled")return;let f=c.value,{chainId:p}=o[h],g=f.map(N=>N.address);s.push({accounts:g,chainId:p})}),s}a(M,"tryRequestMiscAccounts");var Ee=a(async({instance:e,network:t,meta:n})=>{let o=t?I(n)[t]:null;if(t&&!o)throw new Error(`You need to add ${t} to "COSMOS_EXPERIMENTAL_CHAINS_INFO" first.`);o&&await e.experimentalSuggestChain(o.info);let i=P(n);o&&i.push(o.id),i=Array.from(new Set(i)).filter(Boolean),await e.enable(i);let l=await L({desiredChainIds:i,instance:e}),s=o?o.id:void 0,c=s?await M({instance:e,meta:n,excludedChain:s}):[];return[...l,...c]},"getCosmosAccounts"),ke=a(async e=>{let{instance:t,meta:n,network:o}=e,i=o?I(n)[o]:null;if(!i)throw new Error(`You need to add ${o} to "COSMOS_EXPERIMENTAL_CHAINS_INFO" first.`);await t.experimentalSuggestChain(i.info)},"suggestCosmosChain");export{H as DEFAULT_COSMOS_RPC_URL,G as DEFAULT_ETHEREUM_RPC_URL,K as ETHEREUM_CHAIN_ID,R as IS_DEV,F as KEPLR_COMPATIBLE_WALLETS,m as Networks,x as WalletTypes,D as XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS,me as canEagerlyConnectToEvm,he as canSwitchNetworkToEvm,de as chooseInstance,k as convertEvmBlockchainMetaToEvmChainInfo,d as deepCopy,Q as detectInstallLink,W as detectMobileScreens,z as evmChainsToRpcMap,C as evmNetworkNames,$ as getBlockChainNameFromId,Ee as getCosmosAccounts,I as getCosmosExperimentalChainInfo,v as getEthChainsInstance,ce as getEvmAccounts,fe as getEvmProvider,S as getNetworkInstance,Z as getSolanaAccounts,oe as isEvmAddress,U as namespaces,J as sortWalletsBasedOnState,ee as splitWalletNetwork,le as subscribeToEvm,ke as suggestCosmosChain,ue as switchNetworkForEvm,E as switchOrAddNetworkForMetamaskCompatibleWallets,j as timeout,_ as uint8ArrayToHex};
1
+ var x=Object.defineProperty;var a=(e,t)=>x(e,"name",{value:t,configurable:!0});import{LegacyNamespace as h,LegacyNetworks as d}from"@rango-dev/wallets-core/legacy";import{LegacyNetworks as u,LegacyNamespace as Y,legacyGetBlockChainNameFromId as j}from"@rango-dev/wallets-core/legacy";var U=!1,D=a(e=>Buffer.from(e).toString("hex"),"uint8ArrayToHex"),A=(r=>(r.DEFAULT="default",r.META_MASK="metamask",r.WALLET_CONNECT_2="wallet-connect-2",r.TRUST_WALLET="trust-wallet",r.KEPLR="keplr",r.PHANTOM="phantom",r.BITGET="bitget",r.TRON_LINK="tron-link",r.COINBASE="coinbase",r.XDEFI="xdefi",r.CLOVER="clover",r.ARGENTX="argentx",r.FRONTIER="frontier",r.COSMOSTATION="cosmostation",r.COIN98="coin98",r.SAFEPAL="safepal",r.SAFE="safe",r.TOKEN_POCKET="token-pocket",r.BRAVE="brave",r.BRAAVOS="braavos",r.MATH="math",r.EXODUS="exodus",r.OKX="okx",r.HALO="halo",r.LEAP="leap",r.LEAP_COSMOS="leap-cosmos",r.STATION="station",r.ENKRYPT="enkrypt",r.TAHO="taho",r.MY_TON_WALLET="mytonwallet",r.SOLFLARE_SNAP="solflare-snap",r.LEDGER="ledger",r.Rabby="rabby",r.TOMO="tomo",r.TREZOR="trezor",r.SOLFLARE="solflare",r.TON_CONNECT="tonconnect",r))(A||{}),F={[h.Evm]:{mainBlockchain:"ETH",title:"Ethereum",derivationPaths:[{id:"metamask",label:"Metamask (m/44'/60'/0'/0/index)",generateDerivationPath:e=>`44'/60'/0'/0/${e}`},{id:"ledgerLive",label:"LedgerLive (m/44'/60'/index'/0/0)",generateDerivationPath:e=>`44'/60'/${e}'/0/0`},{id:"legacy",label:"Legacy (m/44'/60'/0'/index)",generateDerivationPath:e=>`44'/60'/0'/${e}`}]},[h.Solana]:{mainBlockchain:"SOLANA",title:"Solana",derivationPaths:[{id:"(m/44'/501'/index')",label:"(m/44'/501'/index')",generateDerivationPath:e=>`44'/501'/${e}'`},{id:"(m/44'/501'/0'/index)",label:"(m/44'/501'/0'/index)",generateDerivationPath:e=>`44'/501'/0'/${e}`}]},[h.Cosmos]:{mainBlockchain:"COSMOS",title:"Cosmos"},[h.Utxo]:{mainBlockchain:"BTC",title:"Utxo"},[h.Starknet]:{title:"Starknet",mainBlockchain:"STARKNET"},[h.Tron]:{title:"Tron",mainBlockchain:"TRON"}},H=[d.BTC,d.LTC,d.THORCHAIN,d.BCH,d.MAYA,d.DOGE],G=["keplr","cosmostation","leap-cosmos","xdefi"],K="https://cosmos-rpc.polkachu.com",X="0x1",V="https://rpc.ankr.com/eth";import{isAddress as ie}from"ethers";function f(e){let t;if(e==null||typeof e!="object")return e;if(e instanceof Date)return t=new Date,t.setTime(e.getTime()),t;if(e instanceof Array){t=[];for(let n=0,o=e.length;n<o;n++)t[n]=f(e[n]);return t}if(e instanceof Object){t={};for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=f(e[n]));return t}throw new Error("Unable to copy obj! Its type isn't supported.")}a(f,"deepCopy");async function k(e,t,n){let o=n[t];try{await e.request({method:"wallet_switchEthereumChain",params:[{chainId:o?.chainId}]})}catch(i){let l=i;if(o)(l.code===4902||!l.code)&&await e.request({method:"wallet_addEthereumChain",params:[o]});else throw new Error(`It seems you don't have ${t} network on your wallet. Please add it manually.`);throw i}}a(k,"switchOrAddNetworkForMetamaskCompatibleWallets");async function J(e,t){let n=new Promise((o,i)=>{setTimeout(()=>{i("Timeout!")},t)});return Promise.race([e,n])}a(J,"timeout");var I=a(e=>e.reduce((t,n)=>(t[n.name]={chainName:n.info.chainName,chainId:n.chainId,nativeCurrency:n.info.nativeCurrency,rpcUrls:n.info.rpcUrls,blockExplorerUrls:n.info.blockExplorerUrls},t),{}),"convertEvmBlockchainMetaToEvmChainInfo"),Q=a(e=>Object.fromEntries(new Map(Object.keys(e).map(t=>{let n=e[t];return n?[parseInt(n.chainId),n.rpcUrls[0]]:[0,""]}))),"evmChainsToRpcMap"),W=a(async({instance:e})=>({accounts:[(await e.connect()).publicKey.toString()],chainId:u.SOLANA}),"getSolanaAccounts");function ee(e){return e.sort((t,n)=>Number(n.connected)-Number(t.connected)||Number(n.extensionAvailable)-Number(t.extensionAvailable))}a(ee,"sortWalletsBasedOnState");function v(){let e=!1,t=navigator;return t.brave&&t.brave.isBrave&&t.brave.isBrave().then(n=>{n&&(e=!0)}),e}a(v,"isBrave");function te(e){if(typeof e!="object")return e;let t;return v()?t=e.BRAVE:navigator.userAgent?.toLowerCase().indexOf("chrome")!==-1?t=e.CHROME:navigator.userAgent?.toLowerCase().indexOf("firefox")!==-1?t=e.FIREFOX:navigator.userAgent?.toLowerCase().indexOf("edge")!==-1&&(t=e.EDGE),t||e.DEFAULT}a(te,"detectInstallLink");function ne(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}a(ne,"detectMobileScreens");function oe(e){let n=(e?.split(":")[0]||"").split("-"),o=n[n.length-1],i=n.slice(0,-1);return i[i.length-1]===o&&i.pop(),[i.join("-"),o]}a(oe,"splitWalletNetwork");import{isEvmBlockchain as N}from"rango-types";async function ue(e){let[t,n]=await Promise.all([e.request({method:"eth_requestAccounts"}),e.request({method:"eth_chainId"})]);return{accounts:t,chainId:n}}a(ue,"getEvmAccounts");var he=a(({instance:e,state:t,updateChainId:n,updateAccounts:o})=>{let i=a(s=>{t.connected&&o(s)},"handleAccountsChanged"),l=a(s=>{n(s)},"handleChainChanged");return e?.on?.("accountsChanged",i),e?.on?.("chainChanged",l),a(()=>{e?.off?.("accountsChanged",i),e?.off?.("chainChanged",l)},"cleanup")},"subscribeToEvm"),de=a(async({instance:e})=>{try{return!!(await e.request({method:"eth_accounts"})).length}catch{return!1}},"canEagerlyConnectToEvm"),fe=a(async({instance:e,network:t,meta:n})=>{let o=n.filter(N),i=P(e,u.ETHEREUM);await k(i,t,I(o))},"switchNetworkForEvm"),ge=a(({network:e,meta:t})=>w(t).includes(e),"canSwitchNetworkToEvm");function w(e){return e.filter(N).map(t=>t.name)}a(w,"evmNetworkNames");function O(e,t){return e&&w(t).includes(e)?u.ETHEREUM:null}a(O,"getEthChainsInstance");function S(e,t){return e?w(t).includes(e):!1}a(S,"isEvmNetwork");function pe(e,t,n){n=n||u.ETHEREUM;let o=S(n,t)?O(n,t):n;return e&&o?e.get(o):null}a(pe,"chooseInstance");function P(e,t){return e.size?e.get(t):e}a(P,"getNetworkInstance");function Ce(e,t){return t&&e[t]?e[t].size?e[t].get(u.ETHEREUM):e[t]:null}a(Ce,"getEvmProvider");var L=1e3,B=a(e=>e.filter(t=>t.info&&!t.info.experimental).map(t=>t.chainId).filter(t=>!!t),"getCosmosMainChainsIds"),M=a(e=>e.filter(t=>t.info?.experimental).map(t=>t.chainId).filter(t=>!!t),"getCosmosMiscChainsIds"),y=a(e=>e.filter(t=>!!t.info).filter(t=>!!t.chainId).reduce((t,n)=>{let o=f(n.info);o.stakeCurrency.coinImageUrl=window.location.origin+o.stakeCurrency.coinImageUrl,o.currencies=o.currencies.map(c=>({...c,coinImageUrl:window.location.origin+c.coinImageUrl})),o.feeCurrencies=o.feeCurrencies.map(c=>({...c,coinImageUrl:window.location.origin+c.coinImageUrl})),o.gasPriceStep||delete o.gasPriceStep;let{experimental:i,...l}=o;return t[n.name]={id:n.chainId,info:{...l,chainId:n.chainId},experimental:i},t},{}),"getCosmosExperimentalChainInfo");async function b({desiredChainIds:e,instance:t}){let n=e.map(s=>({signer:t.getOfflineSigner(s),chainId:s})).filter(Boolean),o=new Promise((s,m)=>setTimeout(()=>m(new Error("Timeout while fetching accounts")),L)),i=n.map(async({signer:s})=>Promise.race([s.getAccounts(),o])),l=await Promise.allSettled(i),c=[];return l.forEach((s,m)=>{if(s.status!=="fulfilled")return;let g=s.value,{chainId:p}=n[m],C=g.map(E=>E.address);c.push({accounts:C,chainId:p})}),c}a(b,"getMainAccounts");async function T({excludedChain:e,instance:t,meta:n}){let o=M(n).filter(s=>s!==e).map(s=>({signer:t.getOfflineSigner(s),chainId:s})),i=o.map(async({signer:s})=>s.getAccounts()),l=await Promise.allSettled(i),c=[];return l.forEach((s,m)=>{if(s.status!=="fulfilled")return;let g=s.value,{chainId:p}=o[m],C=g.map(E=>E.address);c.push({accounts:C,chainId:p})}),c}a(T,"tryRequestMiscAccounts");var Ie=a(async({instance:e,network:t,meta:n})=>{let o=t?y(n)[t]:null;if(t&&!o)throw new Error(`You need to add ${t} to "COSMOS_EXPERIMENTAL_CHAINS_INFO" first.`);o&&await e.experimentalSuggestChain(o.info);let i=B(n);o&&i.push(o.id),i=Array.from(new Set(i)).filter(Boolean),await e.enable(i);let l=await b({desiredChainIds:i,instance:e}),c=o?o.id:void 0,s=c?await T({instance:e,meta:n,excludedChain:c}):[];return[...l,...s]},"getCosmosAccounts"),Ne=a(async e=>{let{instance:t,meta:n,network:o}=e,i=o?y(n)[o]:null;if(!i)throw new Error(`You need to add ${o} to "COSMOS_EXPERIMENTAL_CHAINS_INFO" first.`);await t.experimentalSuggestChain(i.info)},"suggestCosmosChain");export{K as DEFAULT_COSMOS_RPC_URL,V as DEFAULT_ETHEREUM_RPC_URL,X as ETHEREUM_CHAIN_ID,U as IS_DEV,G as KEPLR_COMPATIBLE_WALLETS,Y as Namespace,u as Networks,A as WalletTypes,H as XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS,de as canEagerlyConnectToEvm,ge as canSwitchNetworkToEvm,pe as chooseInstance,I as convertEvmBlockchainMetaToEvmChainInfo,f as deepCopy,te as detectInstallLink,ne as detectMobileScreens,Q as evmChainsToRpcMap,w as evmNetworkNames,j as getBlockChainNameFromId,Ie as getCosmosAccounts,y as getCosmosExperimentalChainInfo,O as getEthChainsInstance,ue as getEvmAccounts,Ce as getEvmProvider,P as getNetworkInstance,W as getSolanaAccounts,ie as isEvmAddress,F as namespaces,ee as sortWalletsBasedOnState,oe as splitWalletNetwork,he as subscribeToEvm,Ne as suggestCosmosChain,fe as switchNetworkForEvm,k as switchOrAddNetworkForMetamaskCompatibleWallets,J as timeout,D as uint8ArrayToHex};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/rango.ts", "../src/helpers.ts", "../src/providers.ts", "../src/getCosmosAccounts.ts"],
4
- "sourcesContent": ["import type {\n LegacyNetwork as Network,\n LegacyWalletInfo as WalletInfo,\n LegacyWalletType as WalletType,\n} from '@rango-dev/wallets-core/legacy';\nimport type { Namespace } from '@rango-dev/wallets-core/namespaces/common';\nimport type { BlockchainMeta, EvmBlockchainMeta } from 'rango-types';\n\nimport { LegacyNetworks as Networks } from '@rango-dev/wallets-core/legacy';\n\nexport type {\n LegacyNetwork as Network,\n LegacyConnect as Connect,\n LegacyDisconnect as Disconnect,\n LegacySubscribe as Subscribe,\n LegacyCanEagerConnect as CanEagerConnect,\n LegacySwitchNetwork as SwitchNetwork,\n LegacySuggest as Suggest,\n LegacyCanSwitchNetwork as CanSwitchNetwork,\n LegacyInstallObjects as InstallObjects,\n LegacyWalletInfo as WalletInfo,\n LegacyWalletType as WalletType,\n LegacyNamespaceData as NamespaceData,\n} from '@rango-dev/wallets-core/legacy';\n\nexport {\n LegacyNetworks as Networks,\n legacyGetBlockChainNameFromId as getBlockChainNameFromId,\n} from '@rango-dev/wallets-core/legacy';\n\nexport const IS_DEV =\n !process.env.NODE_ENV || process.env.NODE_ENV === 'development';\n\nexport const uint8ArrayToHex = (buffer: Uint8Array): string => {\n return Buffer.from(buffer).toString('hex');\n};\n\nexport enum WalletTypes {\n DEFAULT = 'default',\n META_MASK = 'metamask',\n WALLET_CONNECT_2 = 'wallet-connect-2',\n TRUST_WALLET = 'trust-wallet',\n KEPLR = 'keplr',\n PHANTOM = 'phantom',\n BITGET = 'bitget',\n TRON_LINK = 'tron-link',\n COINBASE = 'coinbase',\n XDEFI = 'xdefi',\n CLOVER = 'clover',\n ARGENTX = 'argentx',\n FRONTIER = 'frontier',\n COSMOSTATION = 'cosmostation',\n COIN98 = 'coin98',\n SAFEPAL = 'safepal',\n SAFE = 'safe',\n TOKEN_POCKET = 'token-pocket',\n BRAVE = 'brave',\n BRAAVOS = 'braavos',\n MATH = 'math',\n EXODUS = 'exodus',\n OKX = 'okx',\n HALO = 'halo',\n LEAP = 'leap',\n LEAP_COSMOS = 'leap-cosmos',\n STATION = 'station',\n ENKRYPT = 'enkrypt',\n TAHO = 'taho',\n MY_TON_WALLET = 'mytonwallet',\n SOLFLARE_SNAP = 'solflare-snap',\n LEDGER = 'ledger',\n Rabby = 'rabby',\n TOMO = 'tomo',\n TREZOR = 'trezor',\n SOLFLARE = 'solflare',\n TON_CONNECT = 'tonconnect',\n}\n\nexport const namespaces: Record<\n Namespace,\n { mainBlockchain: string; title: string; derivationPaths?: DerivationPath[] }\n> = {\n EVM: {\n mainBlockchain: 'ETH',\n title: 'Ethereum',\n derivationPaths: [\n {\n id: 'metamask',\n label: `Metamask (m/44'/60'/0'/0/index)`,\n generateDerivationPath: (index: string) => `44'/60'/0'/0/${index}`,\n },\n {\n id: 'ledgerLive',\n label: `LedgerLive (m/44'/60'/index'/0/0)`,\n generateDerivationPath: (index: string) => `44'/60'/${index}'/0/0`,\n },\n {\n id: 'legacy',\n label: `Legacy (m/44'/60'/0'/index)`,\n generateDerivationPath: (index: string) => `44'/60'/0'/${index}`,\n },\n ],\n },\n Solana: {\n mainBlockchain: 'SOLANA',\n title: 'Solana',\n derivationPaths: [\n {\n id: `(m/44'/501'/index')`,\n label: `(m/44'/501'/index')`,\n generateDerivationPath: (index: string) => `44'/501'/${index}'`,\n },\n {\n id: `(m/44'/501'/0'/index)`,\n label: `(m/44'/501'/0'/index)`,\n generateDerivationPath: (index: string) => `44'/501'/0'/${index}`,\n },\n ],\n },\n Cosmos: {\n mainBlockchain: 'COSMOS',\n title: 'Cosmos',\n },\n UTXO: {\n mainBlockchain: 'BTC',\n title: 'Utxo',\n },\n Starknet: {\n title: 'Starknet',\n mainBlockchain: 'STARKNET',\n },\n Tron: {\n title: 'Tron',\n mainBlockchain: 'TRON',\n },\n Ton: {\n title: 'Ton',\n mainBlockchain: 'TON',\n },\n};\n\nexport type DerivationPath = {\n id: string;\n label: string;\n generateDerivationPath: (index: string) => string;\n};\n\nexport const XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS: string[] = [\n Networks.BTC,\n Networks.LTC,\n Networks.THORCHAIN,\n Networks.BCH,\n Networks.MAYA,\n Networks.DOGE,\n];\n\nexport const KEPLR_COMPATIBLE_WALLETS: string[] = [\n WalletTypes.KEPLR,\n WalletTypes.COSMOSTATION,\n WalletTypes.LEAP_COSMOS,\n WalletTypes.XDEFI,\n];\n\nexport const DEFAULT_COSMOS_RPC_URL = 'https://cosmos-rpc.polkachu.com';\nexport const ETHEREUM_CHAIN_ID = '0x1';\nexport const DEFAULT_ETHEREUM_RPC_URL = 'https://rpc.ankr.com/eth';\n\nexport type Asset = {\n blockchain: Network;\n symbol: string;\n address: string | null;\n};\n\nexport type AllBlockchains = { [key: string]: BlockchainMeta };\n\nexport type AddEthereumChainParameter = {\n chainId: string; // A 0x-prefixed hexadecimal string\n chainName: string;\n nativeCurrency: {\n name: string;\n symbol: string; // 2-6 characters long\n decimals: number;\n };\n rpcUrls: string[];\n blockExplorerUrls?: string[];\n iconUrls?: string[]; // Currently ignored.\n};\n\nexport type EvmNetworksChainInfo = { [key: string]: AddEthereumChainParameter };\n\nexport interface Meta {\n blockchains: AllBlockchains;\n evmNetworkChainInfo: EvmNetworksChainInfo;\n getSupportedChainNames: (type: WalletType) => Network[] | null;\n evmBasedChains: EvmBlockchainMeta[];\n}\n\n// core\n\n// wallets/core/src/wallet.ts -> State\nexport interface WalletState {\n connected: boolean;\n connecting: boolean;\n reachable: boolean;\n installed: boolean;\n accounts: string[] | null;\n network: Network | null;\n}\n\nexport interface WalletConfig {\n type: WalletType;\n defaultNetwork?: Network;\n checkInstallation?: boolean;\n isAsyncInstance?: boolean;\n isAsyncSwitchNetwork?: boolean;\n}\n\nexport type GetInstanceOptions = {\n network?: Network;\n currentProvider: any;\n meta: BlockchainMeta[];\n force?: boolean;\n updateChainId: (chainId: number | string) => void;\n getState: () => WalletState;\n};\n\nexport type TryGetInstance =\n | (() => any)\n | ((options: Pick<GetInstanceOptions, 'force' | 'network'>) => Promise<any>);\n\nexport type GetInstance =\n | (() => any)\n | ((options: GetInstanceOptions) => Promise<any>);\n\nexport type ProviderConnectResult = {\n accounts: string[];\n chainId: string;\n};\n\nexport interface Wallet {\n type: WalletType;\n extensionAvailable: boolean;\n connected: boolean;\n info: Omit<WalletInfo, 'color'>;\n}\n\nexport type Providers = { [type in WalletType]?: any };\n", "import type {\n AddEthereumChainParameter,\n Connect,\n EvmNetworksChainInfo,\n InstallObjects,\n Network,\n Wallet,\n} from './rango.js';\nimport type { EvmBlockchainMeta } from 'rango-types';\n\nimport { Networks } from './rango.js';\n\nexport { isAddress as isEvmAddress } from 'ethers';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function deepCopy(obj: any): any {\n let copy;\n\n // Handle the 3 simple types, and null or undefined\n if (null == obj || 'object' != typeof obj) {\n return obj;\n }\n\n // Handle Date\n if (obj instanceof Date) {\n copy = new Date();\n copy.setTime(obj.getTime());\n return copy;\n }\n\n // Handle Array\n if (obj instanceof Array) {\n copy = [];\n for (let i = 0, len = obj.length; i < len; i++) {\n copy[i] = deepCopy(obj[i]);\n }\n return copy;\n }\n\n // Handle Object\n if (obj instanceof Object) {\n copy = {} as any;\n for (const attr in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, attr)) {\n copy[attr] = deepCopy(obj[attr]);\n }\n }\n return copy;\n }\n\n throw new Error(\"Unable to copy obj! Its type isn't supported.\");\n}\n\nexport async function switchOrAddNetworkForMetamaskCompatibleWallets(\n instance: any,\n network: Network,\n evmNetworksChainInfo: EvmNetworksChainInfo\n) {\n const targetChain = evmNetworksChainInfo[network];\n\n try {\n await instance.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: targetChain?.chainId }],\n });\n } catch (switchError) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n /*\n * @ts-ignore\n * To resolve this error: Catch clause variable type annotation must be any or unknown if specified\n */\n const error = switchError as { code: number };\n\n if (!targetChain) {\n throw new Error(\n `It seems you don't have ${network} network on your wallet. Please add it manually.`\n );\n /* eslint-disable @typescript-eslint/no-magic-numbers */\n } else if (error.code === 4902 || !error.code) {\n /*\n * Note: on WalletConnect `code` is undefined so we have to use !switchError.code as fallback.\n * This error code indicates that the chain has not been added to wallet.\n */\n await instance.request({\n method: 'wallet_addEthereumChain',\n params: [targetChain],\n });\n }\n throw switchError;\n }\n}\n\nexport async function timeout<T = any>(\n forPromise: Promise<any>,\n time: number\n): Promise<T> {\n const timeoutPromise = new Promise((_, reject) => {\n setTimeout(() => {\n reject('Timeout!');\n }, time);\n });\n\n return Promise.race([forPromise, timeoutPromise]);\n}\n\nexport const convertEvmBlockchainMetaToEvmChainInfo = (\n evmBlockchains: EvmBlockchainMeta[]\n) =>\n evmBlockchains.reduce(\n (\n evmNetWorksChainInfo: { [key: string]: AddEthereumChainParameter },\n blockchainMeta\n ) => (\n (evmNetWorksChainInfo[blockchainMeta.name] = {\n chainName: blockchainMeta.info.chainName,\n chainId: blockchainMeta.chainId,\n nativeCurrency: blockchainMeta.info.nativeCurrency,\n rpcUrls: blockchainMeta.info.rpcUrls,\n blockExplorerUrls: blockchainMeta.info.blockExplorerUrls,\n }),\n evmNetWorksChainInfo\n ),\n {}\n );\n\nexport const evmChainsToRpcMap = (\n evmNetworkChainInfo: EvmNetworksChainInfo\n) => {\n return Object.fromEntries(\n new Map(\n Object.keys(evmNetworkChainInfo).map((chainName) => {\n const info = evmNetworkChainInfo[chainName];\n\n /*\n * This `if` is only used for satisfying typescript,\n * Because we iterating over Object.keys(EVM_NETWORKS_CHAIN_INFO)\n * And obviously it cannot be `undefined` and always has a value.\n */\n if (info) {\n return [parseInt(info.chainId), info.rpcUrls[0]];\n }\n return [0, ''];\n })\n )\n );\n};\n\nexport const getSolanaAccounts: Connect = async ({ instance }) => {\n // Asking for account from wallet.\n const solanaResponse = await instance.connect();\n\n const account = solanaResponse.publicKey.toString();\n return {\n accounts: [account],\n chainId: Networks.SOLANA,\n };\n};\n\nexport function sortWalletsBasedOnState(wallets: Wallet[]): Wallet[] {\n return wallets.sort(\n (a, b) =>\n Number(b.connected) - Number(a.connected) ||\n Number(b.extensionAvailable) - Number(a.extensionAvailable)\n );\n}\n\nfunction isBrave() {\n let isBrave = false;\n const nav: any = navigator;\n if (nav.brave && nav.brave.isBrave) {\n nav.brave.isBrave().then((res: boolean) => {\n if (res) {\n isBrave = true;\n }\n });\n }\n\n return isBrave;\n}\n\nexport function detectInstallLink(install: InstallObjects | string): string {\n if (typeof install !== 'object') {\n return install;\n }\n let link;\n if (isBrave()) {\n link = install.BRAVE;\n } else if (navigator.userAgent?.toLowerCase().indexOf('chrome') !== -1) {\n link = install.CHROME;\n } else if (navigator.userAgent?.toLowerCase().indexOf('firefox') !== -1) {\n link = install.FIREFOX;\n } else if (navigator.userAgent?.toLowerCase().indexOf('edge') !== -1) {\n link = install.EDGE;\n }\n return link || install.DEFAULT;\n}\n\nexport function detectMobileScreens(): boolean {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(\n navigator.userAgent\n );\n}\n\n/**\n * Sample inputs are:\n * - \"metamask-ETH\"\n * - \"metamask-BSC-BSC:0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\n * - \"token-pocket-BSC-BSC:0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\n * Returns \"wallet and network\" separately, even if the wallet is dashed inside.\n *\n */\n\nexport function splitWalletNetwork(input: string): string[] {\n const removedAddressInput = input?.split(':')[0] || '';\n const splittedInput = removedAddressInput.split('-');\n const network = splittedInput[splittedInput.length - 1];\n const walletNetwork = splittedInput.slice(0, -1);\n\n if (walletNetwork[walletNetwork.length - 1] === network) {\n walletNetwork.pop();\n }\n const wallet = walletNetwork.join('-');\n\n return [wallet, network];\n}\n", "import type {\n CanEagerConnect,\n CanSwitchNetwork,\n Network,\n Providers,\n Subscribe,\n SwitchNetwork,\n WalletType,\n} from './rango.js';\nimport type { BlockchainMeta } from 'rango-types';\n\nimport { isEvmBlockchain } from 'rango-types';\n\nimport {\n convertEvmBlockchainMetaToEvmChainInfo,\n switchOrAddNetworkForMetamaskCompatibleWallets,\n} from './helpers.js';\nimport { Networks } from './rango.js';\n\nexport async function getEvmAccounts(instance: any) {\n const [accounts, chainId] = await Promise.all([\n instance.request({ method: 'eth_requestAccounts' }) as Promise<string[]>,\n instance.request({ method: 'eth_chainId' }) as Promise<string>,\n ]);\n\n return {\n accounts,\n chainId,\n };\n}\n\nexport const subscribeToEvm: Subscribe = ({\n instance,\n state,\n updateChainId,\n updateAccounts,\n}) => {\n const handleAccountsChanged = (addresses: string[]) => {\n /*\n * TODO: after enabling autoconnect, we can consider this condition\n * to be removed.\n * The problem was if a user already connected its wallet,\n * Metamask is triggering this event on first load, so when autoconnect is disabled,\n * it's automaticlally change the state of wallet to `connected`.\n */\n if (state.connected) {\n updateAccounts(addresses);\n }\n };\n\n const handleChainChanged = (chainId: string) => {\n updateChainId(chainId);\n };\n\n instance?.on?.('accountsChanged', handleAccountsChanged);\n\n instance?.on?.('chainChanged', handleChainChanged);\n\n const cleanup = () => {\n instance?.off?.('accountsChanged', handleAccountsChanged);\n instance?.off?.('chainChanged', handleChainChanged);\n };\n\n return cleanup;\n};\n\nexport const canEagerlyConnectToEvm: CanEagerConnect = async ({ instance }) => {\n try {\n const accounts: string[] = await instance.request({\n method: 'eth_accounts',\n });\n if (accounts.length) {\n return true;\n }\n return false;\n } catch (error) {\n return false;\n }\n};\n\nexport const switchNetworkForEvm: SwitchNetwork = async ({\n instance,\n network,\n meta,\n}) => {\n const evmBlockchains = meta.filter(isEvmBlockchain);\n const evmInstance = getNetworkInstance(instance, Networks.ETHEREUM);\n await switchOrAddNetworkForMetamaskCompatibleWallets(\n evmInstance,\n network,\n convertEvmBlockchainMetaToEvmChainInfo(evmBlockchains)\n );\n};\n\nexport const canSwitchNetworkToEvm: CanSwitchNetwork = ({ network, meta }) => {\n return evmNetworkNames(meta).includes(network);\n};\n\nexport function evmNetworkNames(meta: BlockchainMeta[]) {\n return meta.filter(isEvmBlockchain).map((blockchain) => blockchain.name);\n}\nexport function getEthChainsInstance(\n network: Network | null,\n meta: BlockchainMeta[]\n): Network | null {\n if (!network) {\n return null;\n }\n const evmBlockchains = evmNetworkNames(meta);\n return evmBlockchains.includes(network) ? Networks.ETHEREUM : null;\n}\n\nfunction isEvmNetwork(network: Network | null, meta: BlockchainMeta[]) {\n if (!network) {\n return false;\n }\n\n return evmNetworkNames(meta).includes(network);\n}\n\nexport function chooseInstance(\n instances: null | Map<any, any>,\n meta: BlockchainMeta[],\n network?: Network | null\n) {\n // If there is no `network` we fallback to default network.\n network = network || Networks.ETHEREUM;\n const instance_network_name = isEvmNetwork(network, meta)\n ? getEthChainsInstance(network, meta)\n : network;\n const instance =\n !!instances && !!instance_network_name\n ? instances.get(instance_network_name)\n : null;\n\n return instance;\n}\n\nexport function getNetworkInstance(provider: any, network: Network) {\n return provider.size ? provider.get(network) : provider;\n}\n\n/**\n * On our implementation for `wallets` package, We keep the instance in 2 ways\n * If it's a single chain wallet, it returns the instance directly,\n * If it's a multichain wallet, it returns a `Map` of instances.\n * This function will get the `ETHEREUM` instance in both types.\n */\nexport function getEvmProvider(providers: Providers, type: WalletType): any {\n if (type && providers[type]) {\n // we need this because provider can return an instance or a map of instances, so what you are doing here is try to detect that.\n if (providers[type].size) {\n return providers[type].get(Networks.ETHEREUM);\n }\n\n return providers[type];\n }\n return null;\n}\n", "import type { Connect, ProviderConnectResult, Suggest } from './rango.js';\nimport type { Keplr as InstanceType } from '@keplr-wallet/types';\nimport type {\n BlockchainMeta,\n CosmosBlockchainMeta,\n CosmosChainInfo,\n} from 'rango-types';\n\nimport { deepCopy } from './helpers.js';\n\nexport interface CosmosInfo extends Omit<CosmosChainInfo, 'experimental'> {\n chainId: string;\n}\n\nexport type CosmosExperimentalChainsInfo = {\n [k: string]: { id: string; info: CosmosInfo; experimental: boolean };\n};\n\ninterface CosmosBlockchainMetaWithChainId\n extends Omit<CosmosBlockchainMeta, 'chainId'> {\n chainId: string;\n}\n\nconst getCosmosMainChainsIds = (blockchains: CosmosBlockchainMeta[]) =>\n blockchains\n .filter((blockchain) => blockchain.info && !blockchain.info.experimental)\n .map((blockchain) => blockchain.chainId)\n .filter((chainId): chainId is string => !!chainId);\n\nconst getCosmosMiscChainsIds = (blockchains: CosmosBlockchainMeta[]) =>\n blockchains\n .filter((blockchain) => blockchain.info?.experimental)\n .map((blockchain) => blockchain.chainId)\n .filter((chainId): chainId is string => !!chainId);\n\nexport const getCosmosExperimentalChainInfo = (\n blockchains: CosmosBlockchainMeta[]\n) =>\n blockchains\n .filter((blockchain) => !!blockchain.info)\n .filter(\n (blockchain): blockchain is CosmosBlockchainMetaWithChainId =>\n !!blockchain.chainId\n )\n .reduce(\n (\n cosmosExperimentalChainsInfo: CosmosExperimentalChainsInfo,\n blockchain\n ) => {\n const info = deepCopy(blockchain.info) as CosmosChainInfo;\n info.stakeCurrency.coinImageUrl =\n window.location.origin + info.stakeCurrency.coinImageUrl;\n info.currencies = info.currencies.map((currency) => ({\n ...currency,\n coinImageUrl: window.location.origin + currency.coinImageUrl,\n }));\n info.feeCurrencies = info.feeCurrencies.map((currency) => ({\n ...currency,\n coinImageUrl: window.location.origin + currency.coinImageUrl,\n }));\n if (!info.gasPriceStep) {\n delete info.gasPriceStep;\n }\n const { experimental, ...otherProperties } = info;\n return (\n (cosmosExperimentalChainsInfo[blockchain.name] = {\n id: blockchain.chainId,\n info: { ...otherProperties, chainId: blockchain.chainId },\n experimental: experimental,\n }),\n cosmosExperimentalChainsInfo\n );\n },\n {}\n );\n\nasync function getMainAccounts({\n desiredChainIds,\n instance,\n}: {\n desiredChainIds: string[];\n instance: any;\n}): Promise<ProviderConnectResult[]> {\n // Trying to get accounts from all chains\n const offlineSigners = desiredChainIds\n .map((chainId) => {\n const signer = instance.getOfflineSigner(chainId);\n return {\n signer,\n chainId,\n };\n })\n .filter(Boolean);\n const accountsPromises = offlineSigners.map(({ signer }) =>\n signer.getAccounts()\n );\n const availableAccountForChains = await Promise.allSettled(accountsPromises);\n const resolvedAccounts: ProviderConnectResult[] = [];\n availableAccountForChains.forEach((result, index) => {\n if (result.status !== 'fulfilled') {\n return;\n }\n\n const accounts = result.value;\n const { chainId } = offlineSigners[index];\n const addresses = accounts.map(\n (account: { address: any }) => account.address\n );\n\n resolvedAccounts.push({ accounts: addresses, chainId });\n });\n return resolvedAccounts;\n}\n\nasync function tryRequestMiscAccounts({\n excludedChain,\n instance,\n meta,\n}: {\n excludedChain?: string;\n instance: InstanceType;\n meta: BlockchainMeta[];\n}): Promise<ProviderConnectResult[]> {\n const offlineSigners = getCosmosMiscChainsIds(meta as CosmosBlockchainMeta[])\n .filter((id) => id !== excludedChain)\n .map((chainId) => {\n const signer = instance.getOfflineSigner(chainId);\n return {\n signer,\n chainId,\n };\n });\n const accountsPromises = offlineSigners.map(async ({ signer }) =>\n signer.getAccounts()\n );\n const availableAccountForChains = await Promise.allSettled(accountsPromises);\n\n const resolvedAccounts: ProviderConnectResult[] = [];\n availableAccountForChains.forEach((result, index) => {\n if (result.status !== 'fulfilled') {\n return;\n }\n\n const accounts = result.value;\n const { chainId } = offlineSigners[index];\n const addresses = accounts.map((account) => account.address);\n\n resolvedAccounts.push({ accounts: addresses, chainId });\n });\n\n return resolvedAccounts;\n}\n\nexport const getCosmosAccounts: Connect = async ({\n instance,\n network,\n meta,\n}) => {\n const chainInfo = network\n ? getCosmosExperimentalChainInfo(meta as CosmosBlockchainMeta[])[network]\n : null;\n if (!!network && !chainInfo) {\n throw new Error(\n `You need to add ${network} to \"COSMOS_EXPERIMENTAL_CHAINS_INFO\" first.`\n );\n }\n\n // Asking for connect to wallet.\n if (!!chainInfo) {\n await instance.experimentalSuggestChain(chainInfo.info);\n }\n // Getting main chains + target network\n let desiredChainIds: string[] = getCosmosMainChainsIds(\n meta as CosmosBlockchainMeta[]\n );\n if (!!chainInfo) {\n desiredChainIds.push(chainInfo.id);\n }\n desiredChainIds = Array.from(new Set(desiredChainIds)).filter(Boolean);\n\n await instance.enable(desiredChainIds);\n\n const mainAccounts = await getMainAccounts({\n desiredChainIds,\n instance,\n });\n\n const exclude = !!chainInfo ? chainInfo.id : undefined;\n const miscAccounts = exclude\n ? await tryRequestMiscAccounts({\n instance,\n meta,\n excludedChain: exclude,\n })\n : [];\n\n const results = [...mainAccounts, ...miscAccounts];\n return results;\n};\n\nexport const suggestCosmosChain: Suggest = async (options) => {\n const { instance, meta, network } = options;\n const chainInfo = network\n ? getCosmosExperimentalChainInfo(meta as CosmosBlockchainMeta[])[network]\n : null;\n\n if (!chainInfo) {\n throw new Error(\n `You need to add ${network} to \"COSMOS_EXPERIMENTAL_CHAINS_INFO\" first.`\n );\n }\n\n // Asking for add experimental chain to wallet.\n await instance.experimentalSuggestChain(chainInfo.info);\n};\n"],
5
- "mappings": "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",
6
- "names": ["Networks", "LegacyNetworks", "legacyGetBlockChainNameFromId", "IS_DEV", "uint8ArrayToHex", "__name", "buffer", "WalletTypes", "namespaces", "index", "XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS", "Networks", "KEPLR_COMPATIBLE_WALLETS", "DEFAULT_COSMOS_RPC_URL", "ETHEREUM_CHAIN_ID", "DEFAULT_ETHEREUM_RPC_URL", "isAddress", "deepCopy", "obj", "copy", "i", "len", "attr", "__name", "switchOrAddNetworkForMetamaskCompatibleWallets", "instance", "network", "evmNetworksChainInfo", "targetChain", "switchError", "error", "timeout", "forPromise", "time", "timeoutPromise", "_", "reject", "convertEvmBlockchainMetaToEvmChainInfo", "evmBlockchains", "evmNetWorksChainInfo", "blockchainMeta", "evmChainsToRpcMap", "evmNetworkChainInfo", "chainName", "info", "getSolanaAccounts", "LegacyNetworks", "sortWalletsBasedOnState", "wallets", "a", "b", "isBrave", "nav", "res", "detectInstallLink", "install", "link", "detectMobileScreens", "splitWalletNetwork", "input", "splittedInput", "walletNetwork", "isEvmBlockchain", "getEvmAccounts", "instance", "accounts", "chainId", "__name", "subscribeToEvm", "state", "updateChainId", "updateAccounts", "handleAccountsChanged", "addresses", "handleChainChanged", "canEagerlyConnectToEvm", "switchNetworkForEvm", "network", "meta", "evmBlockchains", "isEvmBlockchain", "evmInstance", "getNetworkInstance", "LegacyNetworks", "switchOrAddNetworkForMetamaskCompatibleWallets", "convertEvmBlockchainMetaToEvmChainInfo", "canSwitchNetworkToEvm", "evmNetworkNames", "blockchain", "getEthChainsInstance", "isEvmNetwork", "chooseInstance", "instances", "instance_network_name", "provider", "getEvmProvider", "providers", "type", "getCosmosMainChainsIds", "__name", "blockchains", "blockchain", "chainId", "getCosmosMiscChainsIds", "getCosmosExperimentalChainInfo", "cosmosExperimentalChainsInfo", "info", "deepCopy", "currency", "experimental", "otherProperties", "getMainAccounts", "desiredChainIds", "instance", "offlineSigners", "accountsPromises", "signer", "availableAccountForChains", "resolvedAccounts", "result", "index", "accounts", "addresses", "account", "tryRequestMiscAccounts", "excludedChain", "meta", "id", "getCosmosAccounts", "network", "chainInfo", "mainAccounts", "exclude", "miscAccounts", "suggestCosmosChain", "options"]
4
+ "sourcesContent": ["import type {\n LegacyNetwork as Network,\n LegacyWalletInfo as WalletInfo,\n LegacyWalletType as WalletType,\n} from '@rango-dev/wallets-core/legacy';\nimport type { BlockchainMeta, EvmBlockchainMeta } from 'rango-types';\n\nimport {\n LegacyNamespace as Namespace,\n LegacyNetworks as Networks,\n} from '@rango-dev/wallets-core/legacy';\n\nexport type {\n LegacyNetwork as Network,\n LegacyConnect as Connect,\n LegacyDisconnect as Disconnect,\n LegacySubscribe as Subscribe,\n LegacyCanEagerConnect as CanEagerConnect,\n LegacySwitchNetwork as SwitchNetwork,\n LegacySuggest as Suggest,\n LegacyCanSwitchNetwork as CanSwitchNetwork,\n LegacyInstallObjects as InstallObjects,\n LegacyWalletInfo as WalletInfo,\n LegacyWalletType as WalletType,\n LegacyNamespaceData as NamespaceData,\n} from '@rango-dev/wallets-core/legacy';\n\nexport {\n LegacyNetworks as Networks,\n LegacyNamespace as Namespace,\n legacyGetBlockChainNameFromId as getBlockChainNameFromId,\n} from '@rango-dev/wallets-core/legacy';\n\nexport const IS_DEV =\n !process.env.NODE_ENV || process.env.NODE_ENV === 'development';\n\nexport const uint8ArrayToHex = (buffer: Uint8Array): string => {\n return Buffer.from(buffer).toString('hex');\n};\n\nexport enum WalletTypes {\n DEFAULT = 'default',\n META_MASK = 'metamask',\n WALLET_CONNECT_2 = 'wallet-connect-2',\n TRUST_WALLET = 'trust-wallet',\n KEPLR = 'keplr',\n PHANTOM = 'phantom',\n BITGET = 'bitget',\n TRON_LINK = 'tron-link',\n COINBASE = 'coinbase',\n XDEFI = 'xdefi',\n CLOVER = 'clover',\n ARGENTX = 'argentx',\n FRONTIER = 'frontier',\n COSMOSTATION = 'cosmostation',\n COIN98 = 'coin98',\n SAFEPAL = 'safepal',\n SAFE = 'safe',\n TOKEN_POCKET = 'token-pocket',\n BRAVE = 'brave',\n BRAAVOS = 'braavos',\n MATH = 'math',\n EXODUS = 'exodus',\n OKX = 'okx',\n HALO = 'halo',\n LEAP = 'leap',\n LEAP_COSMOS = 'leap-cosmos',\n STATION = 'station',\n ENKRYPT = 'enkrypt',\n TAHO = 'taho',\n MY_TON_WALLET = 'mytonwallet',\n SOLFLARE_SNAP = 'solflare-snap',\n LEDGER = 'ledger',\n Rabby = 'rabby',\n TOMO = 'tomo',\n TREZOR = 'trezor',\n SOLFLARE = 'solflare',\n TON_CONNECT = 'tonconnect',\n}\n\nexport const namespaces: Record<\n Namespace,\n { mainBlockchain: string; title: string; derivationPaths?: DerivationPath[] }\n> = {\n [Namespace.Evm]: {\n mainBlockchain: 'ETH',\n title: 'Ethereum',\n derivationPaths: [\n {\n id: 'metamask',\n label: `Metamask (m/44'/60'/0'/0/index)`,\n generateDerivationPath: (index: string) => `44'/60'/0'/0/${index}`,\n },\n {\n id: 'ledgerLive',\n label: `LedgerLive (m/44'/60'/index'/0/0)`,\n generateDerivationPath: (index: string) => `44'/60'/${index}'/0/0`,\n },\n {\n id: 'legacy',\n label: `Legacy (m/44'/60'/0'/index)`,\n generateDerivationPath: (index: string) => `44'/60'/0'/${index}`,\n },\n ],\n },\n [Namespace.Solana]: {\n mainBlockchain: 'SOLANA',\n title: 'Solana',\n derivationPaths: [\n {\n id: `(m/44'/501'/index')`,\n label: `(m/44'/501'/index')`,\n generateDerivationPath: (index: string) => `44'/501'/${index}'`,\n },\n {\n id: `(m/44'/501'/0'/index)`,\n label: `(m/44'/501'/0'/index)`,\n generateDerivationPath: (index: string) => `44'/501'/0'/${index}`,\n },\n ],\n },\n [Namespace.Cosmos]: {\n mainBlockchain: 'COSMOS',\n title: 'Cosmos',\n },\n [Namespace.Utxo]: {\n mainBlockchain: 'BTC',\n title: 'Utxo',\n },\n [Namespace.Starknet]: {\n title: 'Starknet',\n mainBlockchain: 'STARKNET',\n },\n [Namespace.Tron]: {\n title: 'Tron',\n mainBlockchain: 'TRON',\n },\n};\n\nexport type DerivationPath = {\n id: string;\n label: string;\n generateDerivationPath: (index: string) => string;\n};\n\nexport const XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS: string[] = [\n Networks.BTC,\n Networks.LTC,\n Networks.THORCHAIN,\n Networks.BCH,\n Networks.MAYA,\n Networks.DOGE,\n];\n\nexport const KEPLR_COMPATIBLE_WALLETS: string[] = [\n WalletTypes.KEPLR,\n WalletTypes.COSMOSTATION,\n WalletTypes.LEAP_COSMOS,\n WalletTypes.XDEFI,\n];\n\nexport const DEFAULT_COSMOS_RPC_URL = 'https://cosmos-rpc.polkachu.com';\nexport const ETHEREUM_CHAIN_ID = '0x1';\nexport const DEFAULT_ETHEREUM_RPC_URL = 'https://rpc.ankr.com/eth';\n\nexport type Asset = {\n blockchain: Network;\n symbol: string;\n address: string | null;\n};\n\nexport type AllBlockchains = { [key: string]: BlockchainMeta };\n\nexport type AddEthereumChainParameter = {\n chainId: string; // A 0x-prefixed hexadecimal string\n chainName: string;\n nativeCurrency: {\n name: string;\n symbol: string; // 2-6 characters long\n decimals: number;\n };\n rpcUrls: string[];\n blockExplorerUrls?: string[];\n iconUrls?: string[]; // Currently ignored.\n};\n\nexport type EvmNetworksChainInfo = { [key: string]: AddEthereumChainParameter };\n\nexport interface Meta {\n blockchains: AllBlockchains;\n evmNetworkChainInfo: EvmNetworksChainInfo;\n getSupportedChainNames: (type: WalletType) => Network[] | null;\n evmBasedChains: EvmBlockchainMeta[];\n}\n\n// core\n\n// wallets/core/src/wallet.ts -> State\nexport interface WalletState {\n connected: boolean;\n connecting: boolean;\n reachable: boolean;\n installed: boolean;\n accounts: string[] | null;\n network: Network | null;\n}\n\nexport interface WalletConfig {\n type: WalletType;\n defaultNetwork?: Network;\n checkInstallation?: boolean;\n isAsyncInstance?: boolean;\n isAsyncSwitchNetwork?: boolean;\n}\n\nexport type GetInstanceOptions = {\n network?: Network;\n currentProvider: any;\n meta: BlockchainMeta[];\n force?: boolean;\n updateChainId: (chainId: number | string) => void;\n getState: () => WalletState;\n};\n\nexport type TryGetInstance =\n | (() => any)\n | ((options: Pick<GetInstanceOptions, 'force' | 'network'>) => Promise<any>);\n\nexport type GetInstance =\n | (() => any)\n | ((options: GetInstanceOptions) => Promise<any>);\n\nexport type ProviderConnectResult = {\n accounts: string[];\n chainId: string;\n};\n\nexport interface Wallet {\n type: WalletType;\n extensionAvailable: boolean;\n connected: boolean;\n info: Omit<WalletInfo, 'color'>;\n}\n\nexport type Providers = { [type in WalletType]?: any };\n", "import type {\n AddEthereumChainParameter,\n Connect,\n EvmNetworksChainInfo,\n InstallObjects,\n Network,\n Wallet,\n} from './rango.js';\nimport type { EvmBlockchainMeta } from 'rango-types';\n\nimport { Networks } from './rango.js';\n\nexport { isAddress as isEvmAddress } from 'ethers';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function deepCopy(obj: any): any {\n let copy;\n\n // Handle the 3 simple types, and null or undefined\n if (null == obj || 'object' != typeof obj) {\n return obj;\n }\n\n // Handle Date\n if (obj instanceof Date) {\n copy = new Date();\n copy.setTime(obj.getTime());\n return copy;\n }\n\n // Handle Array\n if (obj instanceof Array) {\n copy = [];\n for (let i = 0, len = obj.length; i < len; i++) {\n copy[i] = deepCopy(obj[i]);\n }\n return copy;\n }\n\n // Handle Object\n if (obj instanceof Object) {\n copy = {} as any;\n for (const attr in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, attr)) {\n copy[attr] = deepCopy(obj[attr]);\n }\n }\n return copy;\n }\n\n throw new Error(\"Unable to copy obj! Its type isn't supported.\");\n}\n\nexport async function switchOrAddNetworkForMetamaskCompatibleWallets(\n instance: any,\n network: Network,\n evmNetworksChainInfo: EvmNetworksChainInfo\n) {\n const targetChain = evmNetworksChainInfo[network];\n\n try {\n await instance.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: targetChain?.chainId }],\n });\n } catch (switchError) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n /*\n * @ts-ignore\n * To resolve this error: Catch clause variable type annotation must be any or unknown if specified\n */\n const error = switchError as { code: number };\n\n if (!targetChain) {\n throw new Error(\n `It seems you don't have ${network} network on your wallet. Please add it manually.`\n );\n /* eslint-disable @typescript-eslint/no-magic-numbers */\n } else if (error.code === 4902 || !error.code) {\n /*\n * Note: on WalletConnect `code` is undefined so we have to use !switchError.code as fallback.\n * This error code indicates that the chain has not been added to wallet.\n */\n await instance.request({\n method: 'wallet_addEthereumChain',\n params: [targetChain],\n });\n }\n throw switchError;\n }\n}\n\nexport async function timeout<T = any>(\n forPromise: Promise<any>,\n time: number\n): Promise<T> {\n const timeoutPromise = new Promise((_, reject) => {\n setTimeout(() => {\n reject('Timeout!');\n }, time);\n });\n\n return Promise.race([forPromise, timeoutPromise]);\n}\n\nexport const convertEvmBlockchainMetaToEvmChainInfo = (\n evmBlockchains: EvmBlockchainMeta[]\n) =>\n evmBlockchains.reduce(\n (\n evmNetWorksChainInfo: { [key: string]: AddEthereumChainParameter },\n blockchainMeta\n ) => (\n (evmNetWorksChainInfo[blockchainMeta.name] = {\n chainName: blockchainMeta.info.chainName,\n chainId: blockchainMeta.chainId,\n nativeCurrency: blockchainMeta.info.nativeCurrency,\n rpcUrls: blockchainMeta.info.rpcUrls,\n blockExplorerUrls: blockchainMeta.info.blockExplorerUrls,\n }),\n evmNetWorksChainInfo\n ),\n {}\n );\n\nexport const evmChainsToRpcMap = (\n evmNetworkChainInfo: EvmNetworksChainInfo\n) => {\n return Object.fromEntries(\n new Map(\n Object.keys(evmNetworkChainInfo).map((chainName) => {\n const info = evmNetworkChainInfo[chainName];\n\n /*\n * This `if` is only used for satisfying typescript,\n * Because we iterating over Object.keys(EVM_NETWORKS_CHAIN_INFO)\n * And obviously it cannot be `undefined` and always has a value.\n */\n if (info) {\n return [parseInt(info.chainId), info.rpcUrls[0]];\n }\n return [0, ''];\n })\n )\n );\n};\n\nexport const getSolanaAccounts: Connect = async ({ instance }) => {\n // Asking for account from wallet.\n const solanaResponse = await instance.connect();\n\n const account = solanaResponse.publicKey.toString();\n return {\n accounts: [account],\n chainId: Networks.SOLANA,\n };\n};\n\nexport function sortWalletsBasedOnState(wallets: Wallet[]): Wallet[] {\n return wallets.sort(\n (a, b) =>\n Number(b.connected) - Number(a.connected) ||\n Number(b.extensionAvailable) - Number(a.extensionAvailable)\n );\n}\n\nfunction isBrave() {\n let isBrave = false;\n const nav: any = navigator;\n if (nav.brave && nav.brave.isBrave) {\n nav.brave.isBrave().then((res: boolean) => {\n if (res) {\n isBrave = true;\n }\n });\n }\n\n return isBrave;\n}\n\nexport function detectInstallLink(install: InstallObjects | string): string {\n if (typeof install !== 'object') {\n return install;\n }\n let link;\n if (isBrave()) {\n link = install.BRAVE;\n } else if (navigator.userAgent?.toLowerCase().indexOf('chrome') !== -1) {\n link = install.CHROME;\n } else if (navigator.userAgent?.toLowerCase().indexOf('firefox') !== -1) {\n link = install.FIREFOX;\n } else if (navigator.userAgent?.toLowerCase().indexOf('edge') !== -1) {\n link = install.EDGE;\n }\n return link || install.DEFAULT;\n}\n\nexport function detectMobileScreens(): boolean {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(\n navigator.userAgent\n );\n}\n\n/**\n * Sample inputs are:\n * - \"metamask-ETH\"\n * - \"metamask-BSC-BSC:0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\n * - \"token-pocket-BSC-BSC:0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\n * Returns \"wallet and network\" separately, even if the wallet is dashed inside.\n *\n */\n\nexport function splitWalletNetwork(input: string): string[] {\n const removedAddressInput = input?.split(':')[0] || '';\n const splittedInput = removedAddressInput.split('-');\n const network = splittedInput[splittedInput.length - 1];\n const walletNetwork = splittedInput.slice(0, -1);\n\n if (walletNetwork[walletNetwork.length - 1] === network) {\n walletNetwork.pop();\n }\n const wallet = walletNetwork.join('-');\n\n return [wallet, network];\n}\n", "import type {\n CanEagerConnect,\n CanSwitchNetwork,\n Network,\n Providers,\n Subscribe,\n SwitchNetwork,\n WalletType,\n} from './rango.js';\nimport type { BlockchainMeta } from 'rango-types';\n\nimport { isEvmBlockchain } from 'rango-types';\n\nimport {\n convertEvmBlockchainMetaToEvmChainInfo,\n switchOrAddNetworkForMetamaskCompatibleWallets,\n} from './helpers.js';\nimport { Networks } from './rango.js';\n\nexport async function getEvmAccounts(instance: any) {\n const [accounts, chainId] = await Promise.all([\n instance.request({ method: 'eth_requestAccounts' }) as Promise<string[]>,\n instance.request({ method: 'eth_chainId' }) as Promise<string>,\n ]);\n\n return {\n accounts,\n chainId,\n };\n}\n\nexport const subscribeToEvm: Subscribe = ({\n instance,\n state,\n updateChainId,\n updateAccounts,\n}) => {\n const handleAccountsChanged = (addresses: string[]) => {\n /*\n * TODO: after enabling autoconnect, we can consider this condition\n * to be removed.\n * The problem was if a user already connected its wallet,\n * Metamask is triggering this event on first load, so when autoconnect is disabled,\n * it's automaticlally change the state of wallet to `connected`.\n */\n if (state.connected) {\n updateAccounts(addresses);\n }\n };\n\n const handleChainChanged = (chainId: string) => {\n updateChainId(chainId);\n };\n\n instance?.on?.('accountsChanged', handleAccountsChanged);\n\n instance?.on?.('chainChanged', handleChainChanged);\n\n const cleanup = () => {\n instance?.off?.('accountsChanged', handleAccountsChanged);\n instance?.off?.('chainChanged', handleChainChanged);\n };\n\n return cleanup;\n};\n\nexport const canEagerlyConnectToEvm: CanEagerConnect = async ({ instance }) => {\n try {\n const accounts: string[] = await instance.request({\n method: 'eth_accounts',\n });\n if (accounts.length) {\n return true;\n }\n return false;\n } catch (error) {\n return false;\n }\n};\n\nexport const switchNetworkForEvm: SwitchNetwork = async ({\n instance,\n network,\n meta,\n}) => {\n const evmBlockchains = meta.filter(isEvmBlockchain);\n const evmInstance = getNetworkInstance(instance, Networks.ETHEREUM);\n await switchOrAddNetworkForMetamaskCompatibleWallets(\n evmInstance,\n network,\n convertEvmBlockchainMetaToEvmChainInfo(evmBlockchains)\n );\n};\n\nexport const canSwitchNetworkToEvm: CanSwitchNetwork = ({ network, meta }) => {\n return evmNetworkNames(meta).includes(network);\n};\n\nexport function evmNetworkNames(meta: BlockchainMeta[]) {\n return meta.filter(isEvmBlockchain).map((blockchain) => blockchain.name);\n}\nexport function getEthChainsInstance(\n network: Network | null,\n meta: BlockchainMeta[]\n): Network | null {\n if (!network) {\n return null;\n }\n const evmBlockchains = evmNetworkNames(meta);\n return evmBlockchains.includes(network) ? Networks.ETHEREUM : null;\n}\n\nfunction isEvmNetwork(network: Network | null, meta: BlockchainMeta[]) {\n if (!network) {\n return false;\n }\n\n return evmNetworkNames(meta).includes(network);\n}\n\nexport function chooseInstance(\n instances: null | Map<any, any>,\n meta: BlockchainMeta[],\n network?: Network | null\n) {\n // If there is no `network` we fallback to default network.\n network = network || Networks.ETHEREUM;\n const instance_network_name = isEvmNetwork(network, meta)\n ? getEthChainsInstance(network, meta)\n : network;\n const instance =\n !!instances && !!instance_network_name\n ? instances.get(instance_network_name)\n : null;\n\n return instance;\n}\n\nexport function getNetworkInstance(provider: any, network: Network) {\n return provider.size ? provider.get(network) : provider;\n}\n\n/**\n * On our implementation for `wallets` package, We keep the instance in 2 ways\n * If it's a single chain wallet, it returns the instance directly,\n * If it's a multichain wallet, it returns a `Map` of instances.\n * This function will get the `ETHEREUM` instance in both types.\n */\nexport function getEvmProvider(providers: Providers, type: WalletType): any {\n if (type && providers[type]) {\n // we need this because provider can return an instance or a map of instances, so what you are doing here is try to detect that.\n if (providers[type].size) {\n return providers[type].get(Networks.ETHEREUM);\n }\n\n return providers[type];\n }\n return null;\n}\n", "import type { Connect, ProviderConnectResult, Suggest } from './rango.js';\nimport type { Keplr as InstanceType } from '@keplr-wallet/types';\nimport type {\n BlockchainMeta,\n CosmosBlockchainMeta,\n CosmosChainInfo,\n} from 'rango-types';\n\nimport { deepCopy } from './helpers.js';\n\nexport interface CosmosInfo extends Omit<CosmosChainInfo, 'experimental'> {\n chainId: string;\n}\n\nexport type CosmosExperimentalChainsInfo = {\n [k: string]: { id: string; info: CosmosInfo; experimental: boolean };\n};\n\ninterface CosmosBlockchainMetaWithChainId\n extends Omit<CosmosBlockchainMeta, 'chainId'> {\n chainId: string;\n}\n\nconst GET_ACCOUNTS_TIMEOUT = 1000;\n\nconst getCosmosMainChainsIds = (blockchains: CosmosBlockchainMeta[]) =>\n blockchains\n .filter((blockchain) => blockchain.info && !blockchain.info.experimental)\n .map((blockchain) => blockchain.chainId)\n .filter((chainId): chainId is string => !!chainId);\n\nconst getCosmosMiscChainsIds = (blockchains: CosmosBlockchainMeta[]) =>\n blockchains\n .filter((blockchain) => blockchain.info?.experimental)\n .map((blockchain) => blockchain.chainId)\n .filter((chainId): chainId is string => !!chainId);\n\nexport const getCosmosExperimentalChainInfo = (\n blockchains: CosmosBlockchainMeta[]\n) =>\n blockchains\n .filter((blockchain) => !!blockchain.info)\n .filter(\n (blockchain): blockchain is CosmosBlockchainMetaWithChainId =>\n !!blockchain.chainId\n )\n .reduce(\n (\n cosmosExperimentalChainsInfo: CosmosExperimentalChainsInfo,\n blockchain\n ) => {\n const info = deepCopy(blockchain.info) as CosmosChainInfo;\n info.stakeCurrency.coinImageUrl =\n window.location.origin + info.stakeCurrency.coinImageUrl;\n info.currencies = info.currencies.map((currency) => ({\n ...currency,\n coinImageUrl: window.location.origin + currency.coinImageUrl,\n }));\n info.feeCurrencies = info.feeCurrencies.map((currency) => ({\n ...currency,\n coinImageUrl: window.location.origin + currency.coinImageUrl,\n }));\n if (!info.gasPriceStep) {\n delete info.gasPriceStep;\n }\n const { experimental, ...otherProperties } = info;\n return (\n (cosmosExperimentalChainsInfo[blockchain.name] = {\n id: blockchain.chainId,\n info: { ...otherProperties, chainId: blockchain.chainId },\n experimental: experimental,\n }),\n cosmosExperimentalChainsInfo\n );\n },\n {}\n );\n\nasync function getMainAccounts({\n desiredChainIds,\n instance,\n}: {\n desiredChainIds: string[];\n instance: any;\n}): Promise<ProviderConnectResult[]> {\n // Trying to get accounts from all chains\n const offlineSigners = desiredChainIds\n .map((chainId) => {\n const signer = instance.getOfflineSigner(chainId);\n return {\n signer,\n chainId,\n };\n })\n .filter(Boolean);\n const timeout = new Promise((_, reject) =>\n setTimeout(\n () => reject(new Error('Timeout while fetching accounts')),\n GET_ACCOUNTS_TIMEOUT\n )\n );\n const accountsPromises = offlineSigners.map(async ({ signer }) =>\n Promise.race([signer.getAccounts(), timeout])\n );\n const availableAccountForChains = await Promise.allSettled(accountsPromises);\n const resolvedAccounts: ProviderConnectResult[] = [];\n availableAccountForChains.forEach((result, index) => {\n if (result.status !== 'fulfilled') {\n return;\n }\n\n const accounts = result.value;\n const { chainId } = offlineSigners[index];\n const addresses = accounts.map(\n (account: { address: any }) => account.address\n );\n\n resolvedAccounts.push({ accounts: addresses, chainId });\n });\n return resolvedAccounts;\n}\n\nasync function tryRequestMiscAccounts({\n excludedChain,\n instance,\n meta,\n}: {\n excludedChain?: string;\n instance: InstanceType;\n meta: BlockchainMeta[];\n}): Promise<ProviderConnectResult[]> {\n const offlineSigners = getCosmosMiscChainsIds(meta as CosmosBlockchainMeta[])\n .filter((id) => id !== excludedChain)\n .map((chainId) => {\n const signer = instance.getOfflineSigner(chainId);\n return {\n signer,\n chainId,\n };\n });\n const accountsPromises = offlineSigners.map(async ({ signer }) =>\n signer.getAccounts()\n );\n const availableAccountForChains = await Promise.allSettled(accountsPromises);\n\n const resolvedAccounts: ProviderConnectResult[] = [];\n availableAccountForChains.forEach((result, index) => {\n if (result.status !== 'fulfilled') {\n return;\n }\n\n const accounts = result.value;\n const { chainId } = offlineSigners[index];\n const addresses = accounts.map((account) => account.address);\n\n resolvedAccounts.push({ accounts: addresses, chainId });\n });\n\n return resolvedAccounts;\n}\n\nexport const getCosmosAccounts: Connect = async ({\n instance,\n network,\n meta,\n}) => {\n const chainInfo = network\n ? getCosmosExperimentalChainInfo(meta as CosmosBlockchainMeta[])[network]\n : null;\n if (!!network && !chainInfo) {\n throw new Error(\n `You need to add ${network} to \"COSMOS_EXPERIMENTAL_CHAINS_INFO\" first.`\n );\n }\n\n // Asking for connect to wallet.\n if (!!chainInfo) {\n await instance.experimentalSuggestChain(chainInfo.info);\n }\n // Getting main chains + target network\n let desiredChainIds: string[] = getCosmosMainChainsIds(\n meta as CosmosBlockchainMeta[]\n );\n if (!!chainInfo) {\n desiredChainIds.push(chainInfo.id);\n }\n desiredChainIds = Array.from(new Set(desiredChainIds)).filter(Boolean);\n\n await instance.enable(desiredChainIds);\n\n const mainAccounts = await getMainAccounts({\n desiredChainIds,\n instance,\n });\n\n const exclude = !!chainInfo ? chainInfo.id : undefined;\n const miscAccounts = exclude\n ? await tryRequestMiscAccounts({\n instance,\n meta,\n excludedChain: exclude,\n })\n : [];\n\n const results = [...mainAccounts, ...miscAccounts];\n return results;\n};\n\nexport const suggestCosmosChain: Suggest = async (options) => {\n const { instance, meta, network } = options;\n const chainInfo = network\n ? getCosmosExperimentalChainInfo(meta as CosmosBlockchainMeta[])[network]\n : null;\n\n if (!chainInfo) {\n throw new Error(\n `You need to add ${network} to \"COSMOS_EXPERIMENTAL_CHAINS_INFO\" first.`\n );\n }\n\n // Asking for add experimental chain to wallet.\n await instance.experimentalSuggestChain(chainInfo.info);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Namespace", "Networks", "LegacyNetworks", "LegacyNamespace", "legacyGetBlockChainNameFromId", "IS_DEV", "uint8ArrayToHex", "__name", "buffer", "WalletTypes", "namespaces", "Namespace", "index", "XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS", "Networks", "KEPLR_COMPATIBLE_WALLETS", "DEFAULT_COSMOS_RPC_URL", "ETHEREUM_CHAIN_ID", "DEFAULT_ETHEREUM_RPC_URL", "isAddress", "deepCopy", "obj", "copy", "i", "len", "attr", "__name", "switchOrAddNetworkForMetamaskCompatibleWallets", "instance", "network", "evmNetworksChainInfo", "targetChain", "switchError", "error", "timeout", "forPromise", "time", "timeoutPromise", "_", "reject", "convertEvmBlockchainMetaToEvmChainInfo", "evmBlockchains", "evmNetWorksChainInfo", "blockchainMeta", "evmChainsToRpcMap", "evmNetworkChainInfo", "chainName", "info", "getSolanaAccounts", "LegacyNetworks", "sortWalletsBasedOnState", "wallets", "a", "b", "isBrave", "nav", "res", "detectInstallLink", "install", "link", "detectMobileScreens", "splitWalletNetwork", "input", "splittedInput", "walletNetwork", "isEvmBlockchain", "getEvmAccounts", "instance", "accounts", "chainId", "__name", "subscribeToEvm", "state", "updateChainId", "updateAccounts", "handleAccountsChanged", "addresses", "handleChainChanged", "canEagerlyConnectToEvm", "switchNetworkForEvm", "network", "meta", "evmBlockchains", "isEvmBlockchain", "evmInstance", "getNetworkInstance", "LegacyNetworks", "switchOrAddNetworkForMetamaskCompatibleWallets", "convertEvmBlockchainMetaToEvmChainInfo", "canSwitchNetworkToEvm", "evmNetworkNames", "blockchain", "getEthChainsInstance", "isEvmNetwork", "chooseInstance", "instances", "instance_network_name", "provider", "getEvmProvider", "providers", "type", "GET_ACCOUNTS_TIMEOUT", "getCosmosMainChainsIds", "__name", "blockchains", "blockchain", "chainId", "getCosmosMiscChainsIds", "getCosmosExperimentalChainInfo", "cosmosExperimentalChainsInfo", "info", "deepCopy", "currency", "experimental", "otherProperties", "getMainAccounts", "desiredChainIds", "instance", "offlineSigners", "timeout", "_", "reject", "accountsPromises", "signer", "availableAccountForChains", "resolvedAccounts", "result", "index", "accounts", "addresses", "account", "tryRequestMiscAccounts", "excludedChain", "meta", "id", "getCosmosAccounts", "network", "chainInfo", "mainAccounts", "exclude", "miscAccounts", "suggestCosmosChain", "options"]
7
7
  }
package/dist/rango.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import type { LegacyNetwork as Network, LegacyWalletInfo as WalletInfo, LegacyWalletType as WalletType } from '@rango-dev/wallets-core/legacy';
2
- import type { Namespace } from '@rango-dev/wallets-core/namespaces/common';
3
2
  import type { BlockchainMeta, EvmBlockchainMeta } from 'rango-types';
3
+ import { LegacyNamespace as Namespace } from '@rango-dev/wallets-core/legacy';
4
4
  export type { LegacyNetwork as Network, LegacyConnect as Connect, LegacyDisconnect as Disconnect, LegacySubscribe as Subscribe, LegacyCanEagerConnect as CanEagerConnect, LegacySwitchNetwork as SwitchNetwork, LegacySuggest as Suggest, LegacyCanSwitchNetwork as CanSwitchNetwork, LegacyInstallObjects as InstallObjects, LegacyWalletInfo as WalletInfo, LegacyWalletType as WalletType, LegacyNamespaceData as NamespaceData, } from '@rango-dev/wallets-core/legacy';
5
- export { LegacyNetworks as Networks, legacyGetBlockChainNameFromId as getBlockChainNameFromId, } from '@rango-dev/wallets-core/legacy';
5
+ export { LegacyNetworks as Networks, LegacyNamespace as Namespace, legacyGetBlockChainNameFromId as getBlockChainNameFromId, } from '@rango-dev/wallets-core/legacy';
6
6
  export declare const IS_DEV: boolean;
7
7
  export declare const uint8ArrayToHex: (buffer: Uint8Array) => string;
8
8
  export declare enum WalletTypes {
@@ -1 +1 @@
1
- {"version":3,"file":"rango.d.ts","sourceRoot":"","sources":["../src/rango.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rango.d.ts","sourceRoot":"","sources":["../src/rango.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"inputs":{"src/rango.ts":{"bytes":6112,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/helpers.ts":{"bytes":6070,"imports":[{"path":"src/rango.ts","kind":"import-statement","original":"./rango.js"},{"path":"ethers","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/providers.ts":{"bytes":4330,"imports":[{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/rango.ts","kind":"import-statement","original":"./rango.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/getCosmosAccounts.ts":{"bytes":6239,"imports":[{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":130,"imports":[{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/providers.ts","kind":"import-statement","original":"./providers.js"},{"path":"src/rango.ts","kind":"import-statement","original":"./rango.js"},{"path":"src/getCosmosAccounts.ts","kind":"import-statement","original":"./getCosmosAccounts.js"}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":35123},"dist/index.js":{"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"ethers","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true}],"exports":["DEFAULT_COSMOS_RPC_URL","DEFAULT_ETHEREUM_RPC_URL","ETHEREUM_CHAIN_ID","IS_DEV","KEPLR_COMPATIBLE_WALLETS","Networks","WalletTypes","XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS","canEagerlyConnectToEvm","canSwitchNetworkToEvm","chooseInstance","convertEvmBlockchainMetaToEvmChainInfo","deepCopy","detectInstallLink","detectMobileScreens","evmChainsToRpcMap","evmNetworkNames","getBlockChainNameFromId","getCosmosAccounts","getCosmosExperimentalChainInfo","getEthChainsInstance","getEvmAccounts","getEvmProvider","getNetworkInstance","getSolanaAccounts","isEvmAddress","namespaces","sortWalletsBasedOnState","splitWalletNetwork","subscribeToEvm","suggestCosmosChain","switchNetworkForEvm","switchOrAddNetworkForMetamaskCompatibleWallets","timeout","uint8ArrayToHex"],"entryPoint":"src/index.ts","inputs":{"src/rango.ts":{"bytesInOutput":2043},"src/helpers.ts":{"bytesInOutput":2366},"src/index.ts":{"bytesInOutput":0},"src/providers.ts":{"bytesInOutput":1356},"src/getCosmosAccounts.ts":{"bytesInOutput":2175}},"bytes":8937}}}
1
+ {"inputs":{"src/rango.ts":{"bytes":6116,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/helpers.ts":{"bytes":6070,"imports":[{"path":"src/rango.ts","kind":"import-statement","original":"./rango.js"},{"path":"ethers","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/providers.ts":{"bytes":4330,"imports":[{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/rango.ts","kind":"import-statement","original":"./rango.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/getCosmosAccounts.ts":{"bytes":6471,"imports":[{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":130,"imports":[{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/providers.ts","kind":"import-statement","original":"./providers.js"},{"path":"src/rango.ts","kind":"import-statement","original":"./rango.js"},{"path":"src/getCosmosAccounts.ts","kind":"import-statement","original":"./getCosmosAccounts.js"}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":35696},"dist/index.js":{"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"ethers","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true}],"exports":["DEFAULT_COSMOS_RPC_URL","DEFAULT_ETHEREUM_RPC_URL","ETHEREUM_CHAIN_ID","IS_DEV","KEPLR_COMPATIBLE_WALLETS","Namespace","Networks","WalletTypes","XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS","canEagerlyConnectToEvm","canSwitchNetworkToEvm","chooseInstance","convertEvmBlockchainMetaToEvmChainInfo","deepCopy","detectInstallLink","detectMobileScreens","evmChainsToRpcMap","evmNetworkNames","getBlockChainNameFromId","getCosmosAccounts","getCosmosExperimentalChainInfo","getEthChainsInstance","getEvmAccounts","getEvmProvider","getNetworkInstance","getSolanaAccounts","isEvmAddress","namespaces","sortWalletsBasedOnState","splitWalletNetwork","subscribeToEvm","suggestCosmosChain","switchNetworkForEvm","switchOrAddNetworkForMetamaskCompatibleWallets","timeout","uint8ArrayToHex"],"entryPoint":"src/index.ts","inputs":{"src/rango.ts":{"bytesInOutput":2070},"src/helpers.ts":{"bytesInOutput":2372},"src/index.ts":{"bytesInOutput":0},"src/providers.ts":{"bytesInOutput":1356},"src/getCosmosAccounts.ts":{"bytesInOutput":2292}},"bytes":9105}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rango-dev/wallets-shared",
3
- "version": "0.40.1-next.2",
3
+ "version": "0.41.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "source": "./src/index.ts",
@@ -27,11 +27,11 @@
27
27
  "test:coverage": "vitest run --coverage"
28
28
  },
29
29
  "dependencies": {
30
- "@rango-dev/wallets-core": "^0.40.1-next.2",
30
+ "@rango-dev/wallets-core": "^0.40.0",
31
31
  "ethers": "^6.13.2",
32
32
  "rango-types": "^0.1.74"
33
33
  },
34
34
  "publishConfig": {
35
35
  "access": "public"
36
36
  }
37
- }
37
+ }
@@ -21,6 +21,8 @@ interface CosmosBlockchainMetaWithChainId
21
21
  chainId: string;
22
22
  }
23
23
 
24
+ const GET_ACCOUNTS_TIMEOUT = 1000;
25
+
24
26
  const getCosmosMainChainsIds = (blockchains: CosmosBlockchainMeta[]) =>
25
27
  blockchains
26
28
  .filter((blockchain) => blockchain.info && !blockchain.info.experimental)
@@ -91,8 +93,14 @@ async function getMainAccounts({
91
93
  };
92
94
  })
93
95
  .filter(Boolean);
94
- const accountsPromises = offlineSigners.map(({ signer }) =>
95
- signer.getAccounts()
96
+ const timeout = new Promise((_, reject) =>
97
+ setTimeout(
98
+ () => reject(new Error('Timeout while fetching accounts')),
99
+ GET_ACCOUNTS_TIMEOUT
100
+ )
101
+ );
102
+ const accountsPromises = offlineSigners.map(async ({ signer }) =>
103
+ Promise.race([signer.getAccounts(), timeout])
96
104
  );
97
105
  const availableAccountForChains = await Promise.allSettled(accountsPromises);
98
106
  const resolvedAccounts: ProviderConnectResult[] = [];
package/src/rango.ts CHANGED
@@ -3,10 +3,12 @@ import type {
3
3
  LegacyWalletInfo as WalletInfo,
4
4
  LegacyWalletType as WalletType,
5
5
  } from '@rango-dev/wallets-core/legacy';
6
- import type { Namespace } from '@rango-dev/wallets-core/namespaces/common';
7
6
  import type { BlockchainMeta, EvmBlockchainMeta } from 'rango-types';
8
7
 
9
- import { LegacyNetworks as Networks } from '@rango-dev/wallets-core/legacy';
8
+ import {
9
+ LegacyNamespace as Namespace,
10
+ LegacyNetworks as Networks,
11
+ } from '@rango-dev/wallets-core/legacy';
10
12
 
11
13
  export type {
12
14
  LegacyNetwork as Network,
@@ -25,6 +27,7 @@ export type {
25
27
 
26
28
  export {
27
29
  LegacyNetworks as Networks,
30
+ LegacyNamespace as Namespace,
28
31
  legacyGetBlockChainNameFromId as getBlockChainNameFromId,
29
32
  } from '@rango-dev/wallets-core/legacy';
30
33
 
@@ -79,7 +82,7 @@ export const namespaces: Record<
79
82
  Namespace,
80
83
  { mainBlockchain: string; title: string; derivationPaths?: DerivationPath[] }
81
84
  > = {
82
- EVM: {
85
+ [Namespace.Evm]: {
83
86
  mainBlockchain: 'ETH',
84
87
  title: 'Ethereum',
85
88
  derivationPaths: [
@@ -100,7 +103,7 @@ export const namespaces: Record<
100
103
  },
101
104
  ],
102
105
  },
103
- Solana: {
106
+ [Namespace.Solana]: {
104
107
  mainBlockchain: 'SOLANA',
105
108
  title: 'Solana',
106
109
  derivationPaths: [
@@ -116,26 +119,22 @@ export const namespaces: Record<
116
119
  },
117
120
  ],
118
121
  },
119
- Cosmos: {
122
+ [Namespace.Cosmos]: {
120
123
  mainBlockchain: 'COSMOS',
121
124
  title: 'Cosmos',
122
125
  },
123
- UTXO: {
126
+ [Namespace.Utxo]: {
124
127
  mainBlockchain: 'BTC',
125
128
  title: 'Utxo',
126
129
  },
127
- Starknet: {
130
+ [Namespace.Starknet]: {
128
131
  title: 'Starknet',
129
132
  mainBlockchain: 'STARKNET',
130
133
  },
131
- Tron: {
134
+ [Namespace.Tron]: {
132
135
  title: 'Tron',
133
136
  mainBlockchain: 'TRON',
134
137
  },
135
- Ton: {
136
- title: 'Ton',
137
- mainBlockchain: 'TON',
138
- },
139
138
  };
140
139
 
141
140
  export type DerivationPath = {