@rango-dev/wallets-core 0.55.1-next.0 → 0.56.1-next.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ # [0.56.0](https://github.com/rango-exchange/rango-client/compare/wallets-core@0.55.0...wallets-core@0.56.0) (2025-12-15)
2
+
3
+
4
+ ### Features
5
+
6
+ * implement suggest action for hub ([c23ca71](https://github.com/rango-exchange/rango-client/commit/c23ca7174cfa388870006482c177c778a047ca58))
7
+
8
+
9
+
1
10
  # [0.55.0](https://github.com/rango-exchange/rango-client/compare/wallets-core@0.54.0...wallets-core@0.55.0) (2025-12-09)
2
11
 
3
12
 
@@ -1,2 +1,2 @@
1
- var O=Object.defineProperty;var r=(a,t)=>O(a,"name",{value:t,configurable:!0});var f=(e=>(e.BTC="BTC",e.BSC="BSC",e.LTC="LTC",e.THORCHAIN="THOR",e.BCH="BCH",e.BINANCE="BNB",e.ETHEREUM="ETH",e.POLYGON="POLYGON",e.TERRA="TERRA",e.POLKADOT="",e.TRON="TRON",e.DOGE="DOGE",e.HARMONY="HARMONY",e.AVAX_CCHAIN="AVAX_CCHAIN",e.FANTOM="FANTOM",e.MOONBEAM="MOONBEAM",e.ARBITRUM="ARBITRUM",e.BOBA="BOBA",e.OPTIMISM="OPTIMISM",e.FUSE="FUSE",e.CRONOS="CRONOS",e.SOLANA="SOLANA",e.MOONRIVER="MOONRIVER",e.GNOSIS="GNOSIS",e.COSMOS="COSMOS",e.OSMOSIS="OSMOSIS",e.AXELAR="AXELAR",e.MARS="MARS",e.STRIDE="STRIDE",e.MAYA="MAYA",e.AKASH="AKASH",e.IRIS="IRIS",e.PERSISTENCE="PERSISTENCE",e.SENTINEL="SENTINEL",e.REGEN="REGEN",e.CRYPTO_ORG="CRYPTO_ORG",e.SIF="SIF",e.CHIHUAHUA="CHIHUAHUA",e.JUNO="JUNO",e.KUJIRA="KUJIRA",e.STARNAME="STARNAME",e.COMDEX="COMDEX",e.STARGAZE="STARGAZE",e.DESMOS="DESMOS",e.BITCANNA="BITCANNA",e.SECRET="SECRET",e.INJECTIVE="INJECTIVE",e.LUMNETWORK="LUMNETWORK",e.BANDCHAIN="BANDCHAIN",e.EMONEY="EMONEY",e.BITSONG="BITSONG",e.KI="KI",e.MEDIBLOC="MEDIBLOC",e.KONSTELLATION="KONSTELLATION",e.UMEE="UMEE",e.STARKNET="STARKNET",e.TON="TON",e.BASE="BASE",e.SUI="SUI",e.Unknown="Unkown",e))(f||{}),N=(c=>(c.CONNECTED="connected",c.CONNECTING="connecting",c.REACHABLE="reachable",c.INSTALLED="installed",c.ACCOUNTS="accounts",c.NETWORK="network",c.NAMESPACE_DISCONNECTED="namespace_disconnected",c.PROVIDER_DISCONNECTED="provider_disconnected",c))(N||{});var E=class{static{r(this,"Persistor")}getItem(t){let n=localStorage.getItem(t);return n?JSON.parse(n):null}setItem(t,n){localStorage.setItem(t,JSON.stringify(n))}removeItem(t){localStorage.removeItem(t)}};function w(a,t){return`${t||""}:${a}`}r(w,"formatAddressWithNetwork");function y(a,t){return a?a.map(n=>w(n,t)):[]}r(y,"accountAddressesWithNetwork");function b(a){let[t,n]=a.split(":");return{network:t,address:n}}r(b,"readAccountAddress");function S(a){let{checkInstallation:t=!0}=a.config;return t}r(S,"needsCheckInstallation");var u=r((a,t)=>(a=typeof a=="string"&&a.startsWith("0x")?parseInt(a):a,Object.values(f).includes(String(a))?a:a==="Binance-Chain-Tigris"?"BNB":t.filter(o=>!!o.chainId).find(o=>(o.chainId?.startsWith("0x")?parseInt(o.chainId):o.chainId)==a)?.name||null),"getBlockChainNameFromId");async function T(a){if(await a.canEagerConnect())return await a.connectHandler();throw new Error(`can't restore connection for ${a.providerName}.`)}r(T,"eagerConnectHandler");function B(a){return a.namespace==="EVM"}r(B,"isEvmNamespace");var A=class{static{r(this,"Wallet")}provider;actions;state;options;info;cleanupSubscribe;constructor(t,n){this.actions=n,this.options=t,this.provider=null,this.info={supportedBlockchains:[],isContractWallet:!1,isHub:!1},this.state={connected:!1,connecting:!1,reachable:!1,installed:!1,accounts:null,network:null},S(t)||this.setInstalledAs(!0)}async suggestAndConnect(t){return this.actions.suggest&&await this.actions.suggest({instance:this.provider,meta:this.info.supportedBlockchains,network:t}),await this.connect(t)}async connect(t,n){if(this.state.connecting)throw new Error("Connecting...");let o=await this.getConnectionFromState(),i=this.state.network,s=t||i||this.options.config.defaultNetwork;if(o){let p=i!==s&&!!s;if(i===s)return o;let d=!0;if(this.actions.canSwitchNetworkTo&&(d=this.actions.canSwitchNetworkTo({provider:this.provider,meta:this.info.supportedBlockchains,network:s||""})),p&&d&&this.actions.switchNetwork)return await this.actions.switchNetwork({instance:this.provider,meta:this.info.supportedBlockchains,network:s,newInstance:this.tryGetInstance.bind(this),getState:this.getState.bind(this),updateChainId:this.updateChainId.bind(this)}),s!==this.state.network&&!this.options.config.isAsyncSwitchNetwork&&this.updateState({network:t}),{accounts:o.accounts,network:s,provider:this.provider}}let l=await this.tryGetInstance({network:t});this.updateState({connecting:!0}),this.setInstalledAs(!0);try{var g=await this.actions.connect({instance:l,network:s||void 0,meta:this.info.supportedBlockchains||[],namespaces:n})}catch(p){throw this.resetState(),p}this.updateState({connected:!0,reachable:!0,connecting:!1});let c=[],C=null,I;if(Array.isArray(g)){let p=null;c=g.flatMap(h=>{let k=h.chainId||"Unkown",m=u(k,this.info.supportedBlockchains)||"Unkown";return I=h.derivationPath?h.derivationPath:I,!p&&m!=="Unkown"&&this.info.supportedBlockchains.find(v=>v.name===m)?.info?.infoType==="EvmMetaInfo"&&(p=m),y(h.accounts,m)}).filter(Boolean),C=p||s||this.options.config.defaultNetwork}else{let p=g.chainId||"Unkown",d=u(p,this.info.supportedBlockchains)||"Unkown",h=g.derivationPath;c=y(g.accounts,d),C=d,I=h}return c.length>0&&this.updateState({accounts:c,network:C,derivationPath:I}),{accounts:this.state.accounts,network:this.state.network,provider:this.provider}}async disconnect(){this.resetState(),this.actions.disconnect&&this.actions.disconnect({instance:this.provider,destroyInstance:()=>{this.setProvider(null)}})}async eagerConnect(){let t=await this.tryGetInstance({network:void 0}),{canEagerConnect:n}=this.actions,o=this.options.config.type;return await T({canEagerConnect:async()=>{if(!n)throw new Error(`${o} provider hasn't implemented canEagerConnect.`);return await n({instance:t,meta:this.info.supportedBlockchains})},connectHandler:async()=>await this.connect(),providerName:o})}async getSigners(t){return await this.actions.getSigners(t)}getWalletInfo(t){return this.actions.getWalletInfo(t)}canSwitchNetworkTo(t,n){let o=this.actions.canSwitchNetworkTo;return o?o({network:t,meta:this.info.supportedBlockchains,provider:n}):!1}onInit(){if(!this.actions.getInstance)throw new Error(`Provider hasn't defined how to get wallet's instance. provider: ${this.options.config.type} on: onInit`);this.options.config.isAsyncInstance?S(this.options)&&this.actions.getInstance().then(t=>{t&&this.setInstalledAs(!0)}):this.actions.getInstance()&&!this.state.installed&&this.setInstalledAs(!0)}setProvider(t){if(this.provider=t,t&&this.actions.subscribe){let n=this.actions.subscribe({instance:t,state:this.state,meta:this.info.supportedBlockchains,connect:this.connect.bind(this),disconnect:this.disconnect.bind(this),updateAccounts:(o,i)=>{let s=this.state.network;i&&(s=u(i,this.info.supportedBlockchains)||"Unkown");let l=y(o,s);l.length>0&&this.updateState({accounts:l})},updateChainId:this.updateChainId.bind(this)});this.cleanupSubscribe=n}else!t&&this.cleanupSubscribe&&this.cleanupSubscribe()}setInfo(t){typeof t.supportedBlockchains<"u"&&(this.info.supportedBlockchains=t.supportedBlockchains),typeof t.isContractWallet<"u"&&(this.info.isContractWallet=t.isContractWallet)}setHandler(t){this.options.handler=t}getState(){return this.state}updateState(t){let n=[];typeof t.connected<"u"&&(this.state.connected=t.connected,n.push(["connected",t.connected])),typeof t.connecting<"u"&&(this.state.connecting=t.connecting,n.push(["connecting",t.connecting])),typeof t.reachable<"u"&&(this.state.reachable=t.reachable,n.push(["reachable",t.reachable])),typeof t.installed<"u"&&(this.state.installed=t.installed,n.push(["installed",t.installed])),typeof t.accounts<"u"&&(this.state.accounts=t.accounts,this.state.derivationPath=t.derivationPath,n.push(["accounts",t.accounts])),typeof t.network<"u"&&(this.state.network=t.network,n.push(["network",t.network]));let o=this.getState();n.forEach(([i,s])=>{let l={supportedBlockchains:this.info.supportedBlockchains,isContractWallet:this.info.isContractWallet,isHub:!1};this.options.handler(this.options.config.type,i,s,o,l)})}resetState(){this.updateState({connected:!1,connecting:!1,reachable:!1,accounts:null,network:null})}async getConnectionFromState(){return this.state.connected&&this.provider?{accounts:this.state.accounts,network:this.state.network,provider:this.provider}:null}updateChainId(t){let n=t?u(t,this.info.supportedBlockchains):"Unkown";this.updateState({network:n})}setInstalledAs(t){!S(this.options)&&t===!1||this.updateState({installed:t})}async tryGetInstance({network:t,force:n}){let o=null;if(this.setProvider(null),this.options.config.isAsyncInstance){let i={currentProvider:this.provider,meta:this.info.supportedBlockchains,force:n||!1,updateChainId:this.updateChainId.bind(this),getState:this.getState.bind(this)};t&&(i.network=t),o=await this.actions.getInstance(i)}else o=this.actions.getInstance();if(!o){this.setInstalledAs(!1),this.resetState();let i=`It seems your selected wallet (${this.options.config.type}) isn't installed.`;throw new Error(i)}return this.setProvider(o),o}},M=A;export{N as LegacyEvents,f as LegacyNetworks,M as LegacyWallet,E as Persistor,T as legacyEagerConnectHandler,w as legacyFormatAddressWithNetwork,u as legacyGetBlockChainNameFromId,B as legacyIsEvmNamespace,b as legacyReadAccountAddress};
1
+ var k=Object.defineProperty;var r=(a,t)=>k(a,"name",{value:t,configurable:!0});var I=(e=>(e.BTC="BTC",e.BSC="BSC",e.LTC="LTC",e.THORCHAIN="THOR",e.BCH="BCH",e.BINANCE="BNB",e.BLAST="BLAST",e.CELO="CELO",e.LINEA="LINEA",e.METIS="METIS",e.SONIC="SONIC",e.BERACHAIN="BERACHAIN",e.ZETA_CHAIN="ZETA_CHAIN",e.SCROLL="SCROLL",e.ZKSYNC="ZKSYNC",e.MONAD="MONAD",e.ETHEREUM="ETH",e.POLYGON="POLYGON",e.TERRA="TERRA",e.POLKADOT="",e.TRON="TRON",e.DOGE="DOGE",e.HARMONY="HARMONY",e.AVAX_CCHAIN="AVAX_CCHAIN",e.FANTOM="FANTOM",e.MOONBEAM="MOONBEAM",e.ARBITRUM="ARBITRUM",e.BOBA="BOBA",e.OPTIMISM="OPTIMISM",e.FUSE="FUSE",e.CRONOS="CRONOS",e.SOLANA="SOLANA",e.MOONRIVER="MOONRIVER",e.GNOSIS="GNOSIS",e.COSMOS="COSMOS",e.OSMOSIS="OSMOSIS",e.AXELAR="AXELAR",e.MARS="MARS",e.STRIDE="STRIDE",e.MAYA="MAYA",e.AKASH="AKASH",e.IRIS="IRIS",e.PERSISTENCE="PERSISTENCE",e.SENTINEL="SENTINEL",e.REGEN="REGEN",e.CRYPTO_ORG="CRYPTO_ORG",e.SIF="SIF",e.CHIHUAHUA="CHIHUAHUA",e.JUNO="JUNO",e.KUJIRA="KUJIRA",e.STARNAME="STARNAME",e.COMDEX="COMDEX",e.STARGAZE="STARGAZE",e.DESMOS="DESMOS",e.BITCANNA="BITCANNA",e.SECRET="SECRET",e.INJECTIVE="INJECTIVE",e.LUMNETWORK="LUMNETWORK",e.BANDCHAIN="BANDCHAIN",e.EMONEY="EMONEY",e.BITSONG="BITSONG",e.KI="KI",e.MEDIBLOC="MEDIBLOC",e.KONSTELLATION="KONSTELLATION",e.UMEE="UMEE",e.STARKNET="STARKNET",e.TON="TON",e.BASE="BASE",e.SUI="SUI",e.Unknown="Unkown",e))(I||{}),E=(c=>(c.CONNECTED="connected",c.CONNECTING="connecting",c.REACHABLE="reachable",c.INSTALLED="installed",c.ACCOUNTS="accounts",c.NETWORK="network",c.NAMESPACE_DISCONNECTED="namespace_disconnected",c.PROVIDER_DISCONNECTED="provider_disconnected",c))(E||{});var N=class{static{r(this,"Persistor")}getItem(t){let n=localStorage.getItem(t);return n?JSON.parse(n):null}setItem(t,n){localStorage.setItem(t,JSON.stringify(n))}removeItem(t){localStorage.removeItem(t)}};function O(a,t){return`${t||""}:${a}`}r(O,"formatAddressWithNetwork");function y(a,t){return a?a.map(n=>O(n,t)):[]}r(y,"accountAddressesWithNetwork");function B(a){let[t,n]=a.split(":");return{network:t,address:n}}r(B,"readAccountAddress");function S(a){let{checkInstallation:t=!0}=a.config;return t}r(S,"needsCheckInstallation");var u=r((a,t)=>(a=typeof a=="string"&&a.startsWith("0x")?parseInt(a):a,Object.values(I).includes(String(a))?a:a==="Binance-Chain-Tigris"?"BNB":t.filter(o=>!!o.chainId).find(o=>(o.chainId?.startsWith("0x")?parseInt(o.chainId):o.chainId)==a)?.name||null),"getBlockChainNameFromId");async function A(a){if(await a.canEagerConnect())return await a.connectHandler();throw new Error(`can't restore connection for ${a.providerName}.`)}r(A,"eagerConnectHandler");function b(a){return a.namespace==="EVM"}r(b,"isEvmNamespace");var T=class{static{r(this,"Wallet")}provider;actions;state;options;info;cleanupSubscribe;constructor(t,n){this.actions=n,this.options=t,this.provider=null,this.info={supportedBlockchains:[],isContractWallet:!1,isHub:!1},this.state={connected:!1,connecting:!1,reachable:!1,installed:!1,accounts:null,network:null},S(t)||this.setInstalledAs(!0)}async suggestAndConnect(t){return this.actions.suggest&&await this.actions.suggest({instance:this.provider,meta:this.info.supportedBlockchains,network:t}),await this.connect(t)}async connect(t,n){if(this.state.connecting)throw new Error("Connecting...");let o=await this.getConnectionFromState(),i=this.state.network,s=t||i||this.options.config.defaultNetwork;if(o){let p=i!==s&&!!s;if(i===s)return o;let d=!0;if(this.actions.canSwitchNetworkTo&&(d=this.actions.canSwitchNetworkTo({provider:this.provider,meta:this.info.supportedBlockchains,network:s||""})),p&&d&&this.actions.switchNetwork)return await this.actions.switchNetwork({instance:this.provider,meta:this.info.supportedBlockchains,network:s,newInstance:this.tryGetInstance.bind(this),getState:this.getState.bind(this),updateChainId:this.updateChainId.bind(this)}),s!==this.state.network&&!this.options.config.isAsyncSwitchNetwork&&this.updateState({network:t}),{accounts:o.accounts,network:s,provider:this.provider}}let l=await this.tryGetInstance({network:t});this.updateState({connecting:!0}),this.setInstalledAs(!0);try{var g=await this.actions.connect({instance:l,network:s||void 0,meta:this.info.supportedBlockchains||[],namespaces:n})}catch(p){throw this.resetState(),p}this.updateState({connected:!0,reachable:!0,connecting:!1});let c=[],C=null,f;if(Array.isArray(g)){let p=null;c=g.flatMap(h=>{let v=h.chainId||"Unkown",m=u(v,this.info.supportedBlockchains)||"Unkown";return f=h.derivationPath?h.derivationPath:f,!p&&m!=="Unkown"&&this.info.supportedBlockchains.find(w=>w.name===m)?.info?.infoType==="EvmMetaInfo"&&(p=m),y(h.accounts,m)}).filter(Boolean),C=p||s||this.options.config.defaultNetwork}else{let p=g.chainId||"Unkown",d=u(p,this.info.supportedBlockchains)||"Unkown",h=g.derivationPath;c=y(g.accounts,d),C=d,f=h}return c.length>0&&this.updateState({accounts:c,network:C,derivationPath:f}),{accounts:this.state.accounts,network:this.state.network,provider:this.provider}}async disconnect(){this.resetState(),this.actions.disconnect&&this.actions.disconnect({instance:this.provider,destroyInstance:()=>{this.setProvider(null)}})}async eagerConnect(){let t=await this.tryGetInstance({network:void 0}),{canEagerConnect:n}=this.actions,o=this.options.config.type;return await A({canEagerConnect:async()=>{if(!n)throw new Error(`${o} provider hasn't implemented canEagerConnect.`);return await n({instance:t,meta:this.info.supportedBlockchains})},connectHandler:async()=>await this.connect(),providerName:o})}async getSigners(t){return await this.actions.getSigners(t)}getWalletInfo(t){return this.actions.getWalletInfo(t)}canSwitchNetworkTo(t,n){let o=this.actions.canSwitchNetworkTo;return o?o({network:t,meta:this.info.supportedBlockchains,provider:n}):!1}onInit(){if(!this.actions.getInstance)throw new Error(`Provider hasn't defined how to get wallet's instance. provider: ${this.options.config.type} on: onInit`);this.options.config.isAsyncInstance?S(this.options)&&this.actions.getInstance().then(t=>{t&&this.setInstalledAs(!0)}):this.actions.getInstance()&&!this.state.installed&&this.setInstalledAs(!0)}setProvider(t){if(this.provider=t,t&&this.actions.subscribe){let n=this.actions.subscribe({instance:t,state:this.state,meta:this.info.supportedBlockchains,connect:this.connect.bind(this),disconnect:this.disconnect.bind(this),updateAccounts:(o,i)=>{let s=this.state.network;i&&(s=u(i,this.info.supportedBlockchains)||"Unkown");let l=y(o,s);l.length>0&&this.updateState({accounts:l})},updateChainId:this.updateChainId.bind(this)});this.cleanupSubscribe=n}else!t&&this.cleanupSubscribe&&this.cleanupSubscribe()}setInfo(t){typeof t.supportedBlockchains<"u"&&(this.info.supportedBlockchains=t.supportedBlockchains),typeof t.isContractWallet<"u"&&(this.info.isContractWallet=t.isContractWallet)}setHandler(t){this.options.handler=t}getState(){return this.state}updateState(t){let n=[];typeof t.connected<"u"&&(this.state.connected=t.connected,n.push(["connected",t.connected])),typeof t.connecting<"u"&&(this.state.connecting=t.connecting,n.push(["connecting",t.connecting])),typeof t.reachable<"u"&&(this.state.reachable=t.reachable,n.push(["reachable",t.reachable])),typeof t.installed<"u"&&(this.state.installed=t.installed,n.push(["installed",t.installed])),typeof t.accounts<"u"&&(this.state.accounts=t.accounts,this.state.derivationPath=t.derivationPath,n.push(["accounts",t.accounts])),typeof t.network<"u"&&(this.state.network=t.network,n.push(["network",t.network]));let o=this.getState();n.forEach(([i,s])=>{let l={supportedBlockchains:this.info.supportedBlockchains,isContractWallet:this.info.isContractWallet,isHub:!1};this.options.handler(this.options.config.type,i,s,o,l)})}resetState(){this.updateState({connected:!1,connecting:!1,reachable:!1,accounts:null,network:null})}async getConnectionFromState(){return this.state.connected&&this.provider?{accounts:this.state.accounts,network:this.state.network,provider:this.provider}:null}updateChainId(t){let n=t?u(t,this.info.supportedBlockchains):"Unkown";this.updateState({network:n})}setInstalledAs(t){!S(this.options)&&t===!1||this.updateState({installed:t})}async tryGetInstance({network:t,force:n}){let o=null;if(this.setProvider(null),this.options.config.isAsyncInstance){let i={currentProvider:this.provider,meta:this.info.supportedBlockchains,force:n||!1,updateChainId:this.updateChainId.bind(this),getState:this.getState.bind(this)};t&&(i.network=t),o=await this.actions.getInstance(i)}else o=this.actions.getInstance();if(!o){this.setInstalledAs(!1),this.resetState();let i=`It seems your selected wallet (${this.options.config.type}) isn't installed.`;throw new Error(i)}return this.setProvider(o),o}},M=T;export{E as LegacyEvents,I as LegacyNetworks,M as LegacyWallet,N as Persistor,A as legacyEagerConnectHandler,O as legacyFormatAddressWithNetwork,u as legacyGetBlockChainNameFromId,b as legacyIsEvmNamespace,B as legacyReadAccountAddress};
2
2
  //# sourceMappingURL=mod.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/legacy/types.ts", "../../src/legacy/persistor.ts", "../../src/legacy/helpers.ts", "../../src/legacy/utils.ts", "../../src/legacy/wallet.ts"],
4
- "sourcesContent": ["import type { State as WalletState } from './wallet.js';\nimport type { Namespace } from '../namespaces/common/mod.js';\nimport type { BlockchainMeta, SignerFactory } from 'rango-types';\n\nexport enum Networks {\n BTC = 'BTC',\n BSC = 'BSC',\n LTC = 'LTC',\n THORCHAIN = 'THOR',\n BCH = 'BCH',\n BINANCE = 'BNB',\n ETHEREUM = 'ETH',\n POLYGON = 'POLYGON',\n TERRA = 'TERRA',\n POLKADOT = '',\n TRON = 'TRON',\n DOGE = 'DOGE',\n HARMONY = 'HARMONY',\n AVAX_CCHAIN = 'AVAX_CCHAIN',\n FANTOM = 'FANTOM',\n MOONBEAM = 'MOONBEAM',\n ARBITRUM = 'ARBITRUM',\n BOBA = 'BOBA',\n OPTIMISM = 'OPTIMISM',\n FUSE = 'FUSE',\n CRONOS = 'CRONOS',\n SOLANA = 'SOLANA',\n MOONRIVER = 'MOONRIVER',\n GNOSIS = 'GNOSIS',\n COSMOS = 'COSMOS',\n OSMOSIS = 'OSMOSIS',\n AXELAR = 'AXELAR',\n MARS = 'MARS',\n STRIDE = 'STRIDE',\n MAYA = 'MAYA',\n AKASH = 'AKASH',\n IRIS = 'IRIS',\n PERSISTENCE = 'PERSISTENCE',\n SENTINEL = 'SENTINEL',\n REGEN = 'REGEN',\n CRYPTO_ORG = 'CRYPTO_ORG',\n SIF = 'SIF',\n CHIHUAHUA = 'CHIHUAHUA',\n JUNO = 'JUNO',\n KUJIRA = 'KUJIRA',\n STARNAME = 'STARNAME',\n COMDEX = 'COMDEX',\n STARGAZE = 'STARGAZE',\n DESMOS = 'DESMOS',\n BITCANNA = 'BITCANNA',\n SECRET = 'SECRET',\n INJECTIVE = 'INJECTIVE',\n LUMNETWORK = 'LUMNETWORK',\n BANDCHAIN = 'BANDCHAIN',\n EMONEY = 'EMONEY',\n BITSONG = 'BITSONG',\n KI = 'KI',\n MEDIBLOC = 'MEDIBLOC',\n KONSTELLATION = 'KONSTELLATION',\n UMEE = 'UMEE',\n STARKNET = 'STARKNET',\n TON = 'TON',\n BASE = 'BASE',\n SUI = 'SUI',\n // Using instead of null\n Unknown = 'Unkown',\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype InstanceType = any;\n\nexport type NamespaceData = {\n namespace: Namespace;\n derivationPath?: string;\n};\n\nexport type WalletType = string;\nexport type Network = string;\n\nexport type InstallObjects = {\n CHROME?: string;\n FIREFOX?: string;\n EDGE?: string;\n BRAVE?: string;\n DEFAULT: string;\n};\n\nexport type NamespaceMeta = {\n label: string;\n /**\n * By using a matched `blockchain.name` (in meta) and `id`, we show logo in Namespace modal\n * e.g. ETH\n */\n id: string;\n value: Namespace;\n unsupported?: boolean;\n getSupportedChains: (chains: BlockchainMeta[]) => BlockchainMeta[];\n};\n\ninterface NeedsNamespace {\n selection: 'single' | 'multiple';\n data: NamespaceMeta[];\n}\n\ninterface NeedsDerivationPath {\n data: {\n id: string;\n label: string;\n namespace: Namespace;\n generateDerivationPath: (index: string) => string;\n }[];\n}\n\nexport type WalletInfo = {\n name: string;\n img: string;\n installLink: InstallObjects | string;\n /**\n * @deprecated we don't use this value anymore.\n */\n color: string;\n supportedChains: BlockchainMeta[];\n showOnMobile?: boolean;\n isContractWallet?: boolean;\n mobileWallet?: boolean;\n\n needsDerivationPath?: NeedsDerivationPath;\n needsNamespace?: NeedsNamespace;\n};\n\nexport type State = {\n [key: string]: WalletState | undefined;\n};\n\nexport type ConnectResult = {\n accounts: string[] | null;\n network: Network | null;\n provider: InstanceType;\n};\n\nexport type Providers = { [type in WalletType]?: InstanceType };\nexport type NetworkProviderMap = Map<Networks, unknown>;\n\nexport enum Events {\n CONNECTED = 'connected',\n CONNECTING = 'connecting',\n REACHABLE = 'reachable',\n INSTALLED = 'installed',\n ACCOUNTS = 'accounts',\n NETWORK = 'network',\n // Hub only events\n NAMESPACE_DISCONNECTED = 'namespace_disconnected',\n\n PROVIDER_DISCONNECTED = 'provider_disconnected',\n}\n\nexport type ProviderConnectResult = {\n accounts: string[];\n chainId: string;\n derivationPath?: string;\n};\n\nexport type GetInstanceOptions = {\n network?: Network;\n currentProvider: InstanceType;\n meta: BlockchainMeta[];\n getState: () => WalletState;\n /**\n * We always get the instance once and reuse it whenever we needs. By using this option\n * We can force the library to get a new instance and replace it with the old one.\n *\n * Originally, we used this option for wallet connect 1 and its switching network challenge.\n */\n force?: boolean;\n updateChainId: (chainId: number | string) => void;\n};\n\nexport type GetInstance =\n | (() => InstanceType)\n | ((options: GetInstanceOptions) => Promise<InstanceType>);\n\nexport type TryGetInstance =\n | (() => InstanceType)\n | ((\n options: Pick<GetInstanceOptions, 'force' | 'network'>\n ) => Promise<InstanceType>);\n\nexport type Connect = (options: {\n instance: InstanceType;\n network?: Network;\n meta: BlockchainMeta[];\n namespaces?: NamespaceData[];\n}) => Promise<ProviderConnectResult | ProviderConnectResult[]>;\n\nexport type Disconnect = (options: {\n instance: InstanceType;\n destroyInstance: () => void;\n}) => Promise<void>;\n\ntype CleanupSubscribe = () => void;\n\nexport type Subscribe = (options: {\n instance: InstanceType;\n state: WalletState;\n meta: BlockchainMeta[];\n updateChainId: (chainId: string) => void;\n updateAccounts: (accounts: string[], chainId?: string) => void;\n connect: (network?: Network) => void;\n disconnect: () => void;\n}) => CleanupSubscribe | void;\n\nexport type SwitchNetwork = (options: {\n instance: InstanceType;\n network: Network;\n meta: BlockchainMeta[];\n newInstance?: TryGetInstance;\n getState?: () => WalletState;\n updateChainId: (chainId: string) => void;\n}) => Promise<void>;\n\nexport type Suggest = (options: {\n instance: InstanceType;\n network: Network;\n meta: BlockchainMeta[];\n}) => Promise<void>;\n\nexport type CanSwitchNetwork = (options: {\n network: Network;\n meta: BlockchainMeta[];\n provider: InstanceType;\n}) => boolean;\n\nexport type CanEagerConnect = (options: {\n instance: InstanceType;\n meta: BlockchainMeta[];\n}) => Promise<boolean>;\n\nexport type EagerConnectResult<I = unknown> = {\n accounts: string[] | null;\n network: string | null;\n provider: I | null;\n};\n\nexport interface WalletActions {\n connect: Connect;\n getInstance: InstanceType;\n disconnect?: Disconnect;\n subscribe?: Subscribe;\n // unsubscribe, // coupled to subscribe.\n\n // Optional, but should be provided at the same time.\n suggest?: Suggest;\n switchNetwork?: SwitchNetwork;\n getSigners: (provider: InstanceType) => Promise<SignerFactory>;\n canSwitchNetworkTo?: CanSwitchNetwork;\n canEagerConnect?: CanEagerConnect;\n getWalletInfo(allBlockChains: BlockchainMeta[]): WalletInfo;\n}\n\nexport interface WalletConfig {\n type: WalletType;\n defaultNetwork?: Network;\n checkInstallation?: boolean;\n isAsyncInstance?: boolean;\n isAsyncSwitchNetwork?: boolean;\n}\n\nexport type WalletProviders = Map<\n WalletType,\n {\n actions: WalletActions;\n config: WalletConfig;\n }\n>;\n\nexport type ProviderInterface = { config: WalletConfig } & WalletActions;\n\n// it comes from wallets.ts and `connect`\ntype NetworkTypeFromLegacyConnect = Network | undefined;\n\nexport type NamespaceInputForConnect<T extends Namespace = Namespace> = {\n /**\n * By default, you should specify namespace (e.g. evm).\n */\n namespace: T;\n /**\n * In some cases, we need to connect a specific network on a namespace. e.g. Polygon on EVM.\n */\n network: NetworkTypeFromLegacyConnect;\n derivationPath?: string;\n};\n", "export interface PersistStorage<T> {\n getItem: (name: string) => T | null;\n setItem: (name: string, value: T) => void;\n removeItem: (name: string) => void;\n}\n\nexport class Persistor<T> implements PersistStorage<T> {\n getItem(name: string) {\n const item = localStorage.getItem(name);\n const parsedItem = item ? (JSON.parse(item) as T) : null;\n return parsedItem;\n }\n setItem(name: string, value: T) {\n localStorage.setItem(name, JSON.stringify(value));\n }\n removeItem(name: string) {\n localStorage.removeItem(name);\n }\n}\n", "import type { Network } from './types.js';\nimport type { Options } from './wallet.js';\nimport type { BlockchainMeta } from 'rango-types';\n\nimport { Networks } from './types.js';\n\nexport function formatAddressWithNetwork(\n address: string,\n network?: Network | null\n) {\n return `${network || ''}:${address}`;\n}\n\nexport function accountAddressesWithNetwork(\n addresses: string[] | null,\n network?: Network | null\n) {\n if (!addresses) {\n return [];\n }\n\n return addresses.map((address) => {\n return formatAddressWithNetwork(address, network);\n });\n}\n\nexport function readAccountAddress(addressWithNetwork: string): {\n address: string;\n network: Network;\n} {\n const [network, address] = addressWithNetwork.split(':');\n\n return {\n network,\n address,\n };\n}\n\nexport function needsCheckInstallation(options: Options) {\n const { checkInstallation = true } = options.config;\n return checkInstallation;\n}\n\nexport const getBlockChainNameFromId = (\n chainId: string | number,\n blockchains: BlockchainMeta[]\n): Network | null => {\n chainId =\n typeof chainId === 'string' && chainId.startsWith('0x')\n ? parseInt(chainId)\n : chainId;\n\n /*\n * Sometimes providers are passing `Network` as chainId.\n * If chainId is a `Network`, we return itself.\n */\n const allNetworks = Object.values(Networks);\n if (allNetworks.includes(String(chainId) as Networks)) {\n return chainId as Networks;\n }\n\n if (chainId === 'Binance-Chain-Tigris') {\n return Networks.BINANCE;\n }\n return (\n blockchains\n .filter((blockchainMeta) => !!blockchainMeta.chainId)\n .find((blockchainMeta) => {\n const blockchainChainId = blockchainMeta.chainId?.startsWith('0x')\n ? parseInt(blockchainMeta.chainId)\n : blockchainMeta.chainId;\n return blockchainChainId == chainId;\n })?.name || null\n );\n};\n", "import type { NamespaceInputForConnect } from './types.js';\n\nexport async function eagerConnectHandler<R = unknown>(params: {\n canEagerConnect: () => Promise<boolean>;\n connectHandler: () => Promise<R>;\n providerName: string;\n}) {\n // Check if we can eagerly connect to the wallet\n if (await params.canEagerConnect()) {\n // Connect to wallet as usual\n return await params.connectHandler();\n }\n throw new Error(`can't restore connection for ${params.providerName}.`);\n}\n\nexport function isEvmNamespace(\n namespace: NamespaceInputForConnect\n): namespace is NamespaceInputForConnect<'EVM'> {\n return namespace.namespace === 'EVM';\n}\n", "import type {\n EagerConnectResult,\n GetInstanceOptions,\n NamespaceData,\n Network,\n WalletActions,\n WalletConfig,\n WalletType,\n} from './types.js';\nimport type { Namespace } from '../namespaces/common/types.js';\nimport type { BlockchainMeta } from 'rango-types';\n\nimport {\n accountAddressesWithNetwork,\n getBlockChainNameFromId,\n needsCheckInstallation,\n} from './helpers.js';\nimport { Events, Networks } from './types.js';\nimport { eagerConnectHandler } from './utils.js';\n\nexport type EventHandler = (\n type: WalletType,\n event: Events,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value: any,\n coreState: State,\n info: EventInfo\n) => void;\n\nexport type EventInfo = {\n supportedBlockchains: BlockchainMeta[];\n isContractWallet: boolean;\n\n // Hub fields\n isHub: boolean;\n // will be set alongside ACCOUNT event\n namespace?: Namespace;\n derivationPath?: string;\n};\n\nexport interface State {\n connected: boolean;\n connecting: boolean;\n /**\n * @depreacted it always returns `false`. don't use it.\n */\n reachable: boolean;\n installed: boolean;\n accounts: string[] | null;\n network: Network | null;\n derivationPath?: string;\n}\n\nexport interface Options {\n config: WalletConfig;\n handler: EventHandler;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nclass Wallet<InstanceType = any> {\n public provider: InstanceType | null;\n private actions: WalletActions;\n private state: State;\n private options: Options;\n private info: EventInfo;\n private cleanupSubscribe?: (() => void) | void;\n\n constructor(options: Options, actions: WalletActions) {\n this.actions = actions;\n this.options = options;\n this.provider = null;\n this.info = {\n supportedBlockchains: [],\n isContractWallet: false,\n isHub: false,\n };\n this.state = {\n connected: false,\n connecting: false,\n // TODO: Remove\n reachable: false,\n installed: false,\n accounts: null,\n network: null,\n };\n\n if (!needsCheckInstallation(options)) {\n this.setInstalledAs(true);\n }\n }\n\n async suggestAndConnect(network: Network) {\n if (this.actions.suggest) {\n await this.actions.suggest({\n instance: this.provider,\n meta: this.info.supportedBlockchains,\n network,\n });\n }\n return await this.connect(network);\n }\n\n async connect(network?: Network, namespaces?: NamespaceData[]) {\n // If it's connecting, nothing do.\n if (this.state.connecting) {\n throw new Error('Connecting...');\n }\n\n const connectionFromState = await this.getConnectionFromState();\n const currentNetwork = this.state.network;\n /*\n * If a network hasn't been provided and also we have `lastNetwork`\n * We will use lastNetwork to make sure we will not\n * Ask the user to switch his network wrongly.\n */\n const requestedNetwork =\n network || currentNetwork || this.options.config.defaultNetwork;\n\n if (connectionFromState) {\n const networkChanged =\n currentNetwork !== requestedNetwork && !!requestedNetwork;\n\n // Reuse current connection if nothing has changed and we already have the connection in memory.\n if (currentNetwork === requestedNetwork) {\n return connectionFromState;\n }\n\n let canSwitch = true;\n if (this.actions.canSwitchNetworkTo) {\n canSwitch = this.actions.canSwitchNetworkTo({\n provider: this.provider,\n meta: this.info.supportedBlockchains,\n network: requestedNetwork || '',\n });\n }\n\n if (networkChanged && canSwitch && !!this.actions.switchNetwork) {\n await this.actions.switchNetwork({\n instance: this.provider,\n meta: this.info.supportedBlockchains,\n // TODO: Fix type error\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n network: requestedNetwork,\n newInstance: this.tryGetInstance.bind(this),\n getState: this.getState.bind(this),\n updateChainId: this.updateChainId.bind(this),\n });\n\n /*\n * We assume if we reach here (`switchNetwork` not throwing error), Switch successfully has been done.\n * But for providers with async switch network like wallet-connect, we need to wait for chain change\n * event before changing network.\n */\n if (\n requestedNetwork !== this.state.network &&\n !this.options.config.isAsyncSwitchNetwork\n ) {\n this.updateState({\n network,\n });\n }\n\n return {\n // Only network has been changed, so we reuse accounts from what we have already.\n accounts: connectionFromState.accounts,\n network: requestedNetwork,\n provider: this.provider,\n };\n }\n\n // If none of the above conditions didn't match, continute to connect.\n }\n\n // We are connecting to wallet for the first time\n\n // Trying to get wallet's instance, if it's not available, raise an error.\n const instance = await this.tryGetInstance({ network });\n\n // Instance exists, trying to connect\n this.updateState({\n connecting: true,\n });\n this.setInstalledAs(true);\n\n try {\n // eslint-disable-next-line no-var\n var connectResult = await this.actions.connect({\n instance,\n network: requestedNetwork || undefined,\n meta: this.info.supportedBlockchains || [],\n namespaces,\n });\n } catch (e) {\n this.resetState();\n throw e;\n }\n\n this.updateState({\n connected: true,\n reachable: true,\n connecting: false,\n });\n\n // TODO: Handle accounts.length > 0\n\n // Inserting accounts into our state.\n let nextAccounts: string[] = [];\n let nextNetwork: Network | null | undefined = null;\n let nextDerivationPath: string | undefined = undefined;\n if (Array.isArray(connectResult)) {\n let activeEvmNetwork: Network | null = null;\n const accounts = connectResult.flatMap((blockchain) => {\n const chainId = blockchain.chainId || Networks.Unknown;\n // Try to map chainId with a Network, if not found, we use chainId directly.\n const network =\n getBlockChainNameFromId(chainId, this.info.supportedBlockchains) ||\n Networks.Unknown;\n nextDerivationPath = blockchain.derivationPath\n ? blockchain.derivationPath\n : nextDerivationPath;\n\n /*\n * When connecting to an evm instance, it will return address and wallet's active chain.\n * On switch network we are comparing state's network and what passed as requestedNetwork.\n * This code is for making sure we are setting correct active chain in state if it's evm.\n */\n if (!activeEvmNetwork && network !== Networks.Unknown) {\n const blockchainMeta = this.info.supportedBlockchains.find(\n (blockchain) => blockchain.name === network\n );\n if (blockchainMeta?.info?.infoType === 'EvmMetaInfo') {\n activeEvmNetwork = network;\n }\n }\n // TODO: second parameter should be `string` when we decided to open source the package.\n return accountAddressesWithNetwork(blockchain.accounts, network);\n });\n nextAccounts = accounts.filter(Boolean);\n nextNetwork =\n activeEvmNetwork ||\n requestedNetwork ||\n this.options.config.defaultNetwork;\n } else {\n const chainId = connectResult.chainId || Networks.Unknown;\n const network =\n getBlockChainNameFromId(chainId, this.info.supportedBlockchains) ||\n Networks.Unknown;\n const derivationPath = connectResult.derivationPath;\n\n // We fallback to current active network if `chainId` not provided.\n nextAccounts = accountAddressesWithNetwork(\n connectResult.accounts,\n network\n );\n nextNetwork = network;\n nextDerivationPath = derivationPath;\n }\n\n if (nextAccounts.length > 0) {\n this.updateState({\n accounts: nextAccounts,\n network: nextNetwork,\n derivationPath: nextDerivationPath,\n });\n }\n\n return {\n accounts: this.state.accounts,\n network: this.state.network,\n provider: this.provider,\n };\n }\n\n async disconnect() {\n this.resetState();\n\n if (this.actions.disconnect) {\n void this.actions.disconnect({\n instance: this.provider,\n // On wallet connect, we need to destory the instance and get a whole new instance when we are going to connect\n destroyInstance: () => {\n this.setProvider(null);\n },\n });\n }\n }\n\n // This method is only used for auto connection\n async eagerConnect(): Promise<EagerConnectResult<InstanceType>> {\n const instance = await this.tryGetInstance({ network: undefined });\n const { canEagerConnect } = this.actions;\n const providerName = this.options.config.type;\n\n return await eagerConnectHandler({\n canEagerConnect: async () => {\n if (!canEagerConnect) {\n throw new Error(\n `${providerName} provider hasn't implemented canEagerConnect.`\n );\n }\n\n return await canEagerConnect({\n instance: instance,\n meta: this.info.supportedBlockchains,\n });\n },\n connectHandler: async () => {\n const result = await this.connect();\n return result;\n },\n providerName,\n });\n }\n\n async getSigners(provider: InstanceType) {\n return await this.actions.getSigners(provider);\n }\n getWalletInfo(allBlockChains: BlockchainMeta[]) {\n return this.actions.getWalletInfo(allBlockChains);\n }\n canSwitchNetworkTo(network: Network, provider: InstanceType) {\n const switchTo = this.actions.canSwitchNetworkTo;\n if (!switchTo) {\n return false;\n }\n\n return switchTo({\n network,\n meta: this.info.supportedBlockchains,\n provider,\n });\n }\n\n onInit() {\n // some times functions can be overridden by wallets. see rf-2119\n if (!this.actions.getInstance) {\n throw new Error(\n `Provider hasn't defined how to get wallet's instance. provider: ${this.options.config.type} on: onInit`\n );\n }\n\n if (!this.options.config.isAsyncInstance) {\n const instance = this.actions.getInstance();\n if (!!instance && !this.state.installed) {\n this.setInstalledAs(true);\n }\n } else if (needsCheckInstallation(this.options)) {\n this.actions.getInstance().then((data: unknown) => {\n if (data) {\n this.setInstalledAs(true);\n }\n });\n }\n }\n\n setProvider(value: InstanceType | null) {\n this.provider = value;\n if (!!value && !!this.actions.subscribe) {\n const cleanup = this.actions.subscribe({\n instance: value,\n state: this.state,\n meta: this.info.supportedBlockchains,\n connect: this.connect.bind(this),\n disconnect: this.disconnect.bind(this),\n updateAccounts: (accounts, chainId) => {\n let network = this.state.network;\n if (chainId) {\n network =\n getBlockChainNameFromId(\n chainId,\n this.info.supportedBlockchains\n ) || Networks.Unknown;\n }\n\n const nextAccounts = accountAddressesWithNetwork(accounts, network);\n if (nextAccounts.length > 0) {\n this.updateState({\n accounts: nextAccounts,\n });\n }\n },\n updateChainId: this.updateChainId.bind(this),\n });\n this.cleanupSubscribe = cleanup;\n } else if (!value && this.cleanupSubscribe) {\n this.cleanupSubscribe();\n }\n }\n\n setInfo(info: Partial<EventInfo>) {\n if (typeof info.supportedBlockchains !== 'undefined') {\n this.info.supportedBlockchains = info.supportedBlockchains;\n }\n if (typeof info.isContractWallet !== 'undefined') {\n this.info.isContractWallet = info.isContractWallet;\n }\n }\n\n setHandler(handler: EventHandler) {\n this.options.handler = handler;\n }\n\n getState(): State {\n return this.state;\n }\n\n updateState(states: Partial<State>) {\n /*\n * We will notify handler after updating all the states.\n * Because when we call `handler` it will has latest states.\n */\n const updates: [Events, unknown][] = [];\n\n if (typeof states.connected !== 'undefined') {\n this.state.connected = states.connected;\n updates.push([Events.CONNECTED, states.connected]);\n }\n if (typeof states.connecting !== 'undefined') {\n this.state.connecting = states.connecting;\n updates.push([Events.CONNECTING, states.connecting]);\n }\n if (typeof states.reachable !== 'undefined') {\n this.state.reachable = states.reachable;\n updates.push([Events.REACHABLE, states.reachable]);\n }\n if (typeof states.installed !== 'undefined') {\n this.state.installed = states.installed;\n updates.push([Events.INSTALLED, states.installed]);\n }\n if (typeof states.accounts !== 'undefined') {\n this.state.accounts = states.accounts;\n this.state.derivationPath = states.derivationPath;\n updates.push([Events.ACCOUNTS, states.accounts]);\n }\n if (typeof states.network !== 'undefined') {\n this.state.network = states.network;\n updates.push([Events.NETWORK, states.network]);\n }\n\n const state = this.getState();\n updates.forEach(([name, value]) => {\n const eventInfo: EventInfo = {\n supportedBlockchains: this.info.supportedBlockchains,\n isContractWallet: this.info.isContractWallet,\n isHub: false,\n };\n this.options.handler(\n this.options.config.type,\n name,\n value,\n state,\n eventInfo\n );\n });\n }\n\n resetState() {\n this.updateState({\n connected: false,\n connecting: false,\n reachable: false,\n accounts: null,\n network: null,\n });\n }\n\n private async getConnectionFromState() {\n // Already connected, so we return provider that we have in memory.\n\n /*\n * For switching network on Trust Wallet (WalletConnect),\n * We only kill the session (and not restting the whole state)\n * So we are relying on this.provider for achieving this functionality.\n */\n if (this.state.connected && !!this.provider) {\n return {\n accounts: this.state.accounts,\n network: this.state.network,\n provider: this.provider,\n };\n }\n\n return null;\n }\n\n private updateChainId(chainId: string | number) {\n const network = chainId\n ? getBlockChainNameFromId(chainId, this.info.supportedBlockchains)\n : Networks.Unknown;\n\n this.updateState({\n network,\n });\n }\n\n private setInstalledAs(value: boolean) {\n if (!needsCheckInstallation(this.options) && value === false) {\n return;\n }\n\n this.updateState({\n installed: value,\n });\n }\n // eslint-disable-next-line destructuring/in-methods-params\n private async tryGetInstance({\n network,\n force,\n }: {\n network?: Network;\n force?: boolean;\n }) {\n let instance = null;\n /*\n * For switching network on Trust Wallet (WalletConnect),\n * We only kill the session (and not restting the whole state)\n * So we are relying on this.provider for achieving this functionality.\n */\n this.setProvider(null);\n if (this.options.config.isAsyncInstance) {\n // Trying to connect\n const instanceOptions: GetInstanceOptions = {\n currentProvider: this.provider,\n meta: this.info.supportedBlockchains,\n force: force || false,\n updateChainId: this.updateChainId.bind(this),\n getState: this.getState.bind(this),\n };\n\n if (network) {\n instanceOptions.network = network;\n }\n instance = await this.actions.getInstance(instanceOptions);\n } else {\n instance = this.actions.getInstance();\n }\n\n if (!instance) {\n this.setInstalledAs(false);\n this.resetState();\n\n const error_message = `It seems your selected wallet (${this.options.config.type}) isn't installed.`;\n throw new Error(error_message);\n }\n\n this.setProvider(instance);\n return instance;\n }\n}\n\nexport default Wallet;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type { State as WalletState } from './wallet.js';\nimport type { Namespace } from '../namespaces/common/mod.js';\nimport type { BlockchainMeta, SignerFactory } from 'rango-types';\n\nexport enum Networks {\n BTC = 'BTC',\n BSC = 'BSC',\n LTC = 'LTC',\n THORCHAIN = 'THOR',\n BCH = 'BCH',\n BINANCE = 'BNB',\n BLAST = 'BLAST',\n CELO = 'CELO',\n LINEA = 'LINEA',\n METIS = 'METIS',\n SONIC = 'SONIC',\n BERACHAIN = 'BERACHAIN',\n ZETA_CHAIN = 'ZETA_CHAIN',\n SCROLL = 'SCROLL',\n ZKSYNC = 'ZKSYNC',\n MONAD = 'MONAD',\n ETHEREUM = 'ETH',\n POLYGON = 'POLYGON',\n TERRA = 'TERRA',\n POLKADOT = '',\n TRON = 'TRON',\n DOGE = 'DOGE',\n HARMONY = 'HARMONY',\n AVAX_CCHAIN = 'AVAX_CCHAIN',\n FANTOM = 'FANTOM',\n MOONBEAM = 'MOONBEAM',\n ARBITRUM = 'ARBITRUM',\n BOBA = 'BOBA',\n OPTIMISM = 'OPTIMISM',\n FUSE = 'FUSE',\n CRONOS = 'CRONOS',\n SOLANA = 'SOLANA',\n MOONRIVER = 'MOONRIVER',\n GNOSIS = 'GNOSIS',\n COSMOS = 'COSMOS',\n OSMOSIS = 'OSMOSIS',\n AXELAR = 'AXELAR',\n MARS = 'MARS',\n STRIDE = 'STRIDE',\n MAYA = 'MAYA',\n AKASH = 'AKASH',\n IRIS = 'IRIS',\n PERSISTENCE = 'PERSISTENCE',\n SENTINEL = 'SENTINEL',\n REGEN = 'REGEN',\n CRYPTO_ORG = 'CRYPTO_ORG',\n SIF = 'SIF',\n CHIHUAHUA = 'CHIHUAHUA',\n JUNO = 'JUNO',\n KUJIRA = 'KUJIRA',\n STARNAME = 'STARNAME',\n COMDEX = 'COMDEX',\n STARGAZE = 'STARGAZE',\n DESMOS = 'DESMOS',\n BITCANNA = 'BITCANNA',\n SECRET = 'SECRET',\n INJECTIVE = 'INJECTIVE',\n LUMNETWORK = 'LUMNETWORK',\n BANDCHAIN = 'BANDCHAIN',\n EMONEY = 'EMONEY',\n BITSONG = 'BITSONG',\n KI = 'KI',\n MEDIBLOC = 'MEDIBLOC',\n KONSTELLATION = 'KONSTELLATION',\n UMEE = 'UMEE',\n STARKNET = 'STARKNET',\n TON = 'TON',\n BASE = 'BASE',\n SUI = 'SUI',\n // Using instead of null\n Unknown = 'Unkown',\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype InstanceType = any;\n\nexport type NamespaceData = {\n namespace: Namespace;\n derivationPath?: string;\n};\n\nexport type WalletType = string;\nexport type Network = string;\n\nexport type InstallObjects = {\n CHROME?: string;\n FIREFOX?: string;\n EDGE?: string;\n BRAVE?: string;\n DEFAULT: string;\n};\n\nexport type NamespaceMeta = {\n label: string;\n /**\n * By using a matched `blockchain.name` (in meta) and `id`, we show logo in Namespace modal\n * e.g. ETH\n */\n id: string;\n value: Namespace;\n unsupported?: boolean;\n getSupportedChains: (chains: BlockchainMeta[]) => BlockchainMeta[];\n};\n\ninterface NeedsNamespace {\n selection: 'single' | 'multiple';\n data: NamespaceMeta[];\n}\n\ninterface NeedsDerivationPath {\n data: {\n id: string;\n label: string;\n namespace: Namespace;\n generateDerivationPath: (index: string) => string;\n }[];\n}\n\nexport type WalletInfo = {\n name: string;\n img: string;\n installLink: InstallObjects | string;\n /**\n * @deprecated we don't use this value anymore.\n */\n color: string;\n supportedChains: BlockchainMeta[];\n showOnMobile?: boolean;\n isContractWallet?: boolean;\n mobileWallet?: boolean;\n\n needsDerivationPath?: NeedsDerivationPath;\n needsNamespace?: NeedsNamespace;\n};\n\nexport type State = {\n [key: string]: WalletState | undefined;\n};\n\nexport type ConnectResult = {\n accounts: string[] | null;\n network: Network | null;\n provider: InstanceType;\n};\n\nexport type Providers = { [type in WalletType]?: InstanceType };\nexport type NetworkProviderMap = Map<Networks, unknown>;\n\nexport enum Events {\n CONNECTED = 'connected',\n CONNECTING = 'connecting',\n REACHABLE = 'reachable',\n INSTALLED = 'installed',\n ACCOUNTS = 'accounts',\n NETWORK = 'network',\n // Hub only events\n NAMESPACE_DISCONNECTED = 'namespace_disconnected',\n\n PROVIDER_DISCONNECTED = 'provider_disconnected',\n}\n\nexport type ProviderConnectResult = {\n accounts: string[];\n chainId: string;\n derivationPath?: string;\n};\n\nexport type GetInstanceOptions = {\n network?: Network;\n currentProvider: InstanceType;\n meta: BlockchainMeta[];\n getState: () => WalletState;\n /**\n * We always get the instance once and reuse it whenever we needs. By using this option\n * We can force the library to get a new instance and replace it with the old one.\n *\n * Originally, we used this option for wallet connect 1 and its switching network challenge.\n */\n force?: boolean;\n updateChainId: (chainId: number | string) => void;\n};\n\nexport type GetInstance =\n | (() => InstanceType)\n | ((options: GetInstanceOptions) => Promise<InstanceType>);\n\nexport type TryGetInstance =\n | (() => InstanceType)\n | ((\n options: Pick<GetInstanceOptions, 'force' | 'network'>\n ) => Promise<InstanceType>);\n\nexport type Connect = (options: {\n instance: InstanceType;\n network?: Network;\n meta: BlockchainMeta[];\n namespaces?: NamespaceData[];\n}) => Promise<ProviderConnectResult | ProviderConnectResult[]>;\n\nexport type Disconnect = (options: {\n instance: InstanceType;\n destroyInstance: () => void;\n}) => Promise<void>;\n\ntype CleanupSubscribe = () => void;\n\nexport type Subscribe = (options: {\n instance: InstanceType;\n state: WalletState;\n meta: BlockchainMeta[];\n updateChainId: (chainId: string) => void;\n updateAccounts: (accounts: string[], chainId?: string) => void;\n connect: (network?: Network) => void;\n disconnect: () => void;\n}) => CleanupSubscribe | void;\n\nexport type SwitchNetwork = (options: {\n instance: InstanceType;\n network: Network;\n meta: BlockchainMeta[];\n newInstance?: TryGetInstance;\n getState?: () => WalletState;\n updateChainId: (chainId: string) => void;\n}) => Promise<void>;\n\nexport type Suggest = (options: {\n instance: InstanceType;\n network: Network;\n meta: BlockchainMeta[];\n}) => Promise<void>;\n\nexport type CanSwitchNetwork = (options: {\n network: Network;\n meta: BlockchainMeta[];\n provider: InstanceType;\n}) => boolean;\n\nexport type CanEagerConnect = (options: {\n instance: InstanceType;\n meta: BlockchainMeta[];\n}) => Promise<boolean>;\n\nexport type EagerConnectResult<I = unknown> = {\n accounts: string[] | null;\n network: string | null;\n provider: I | null;\n};\n\nexport interface WalletActions {\n connect: Connect;\n getInstance: InstanceType;\n disconnect?: Disconnect;\n subscribe?: Subscribe;\n // unsubscribe, // coupled to subscribe.\n\n // Optional, but should be provided at the same time.\n suggest?: Suggest;\n switchNetwork?: SwitchNetwork;\n getSigners: (provider: InstanceType) => Promise<SignerFactory>;\n canSwitchNetworkTo?: CanSwitchNetwork;\n canEagerConnect?: CanEagerConnect;\n getWalletInfo(allBlockChains: BlockchainMeta[]): WalletInfo;\n}\n\nexport interface WalletConfig {\n type: WalletType;\n defaultNetwork?: Network;\n checkInstallation?: boolean;\n isAsyncInstance?: boolean;\n isAsyncSwitchNetwork?: boolean;\n}\n\nexport type WalletProviders = Map<\n WalletType,\n {\n actions: WalletActions;\n config: WalletConfig;\n }\n>;\n\nexport type ProviderInterface = { config: WalletConfig } & WalletActions;\n\n// it comes from wallets.ts and `connect`\ntype NetworkTypeFromLegacyConnect = Network | undefined;\n\nexport type NamespaceInputForConnect<T extends Namespace = Namespace> = {\n /**\n * By default, you should specify namespace (e.g. evm).\n */\n namespace: T;\n /**\n * In some cases, we need to connect a specific network on a namespace. e.g. Polygon on EVM.\n */\n network: NetworkTypeFromLegacyConnect;\n derivationPath?: string;\n};\n", "export interface PersistStorage<T> {\n getItem: (name: string) => T | null;\n setItem: (name: string, value: T) => void;\n removeItem: (name: string) => void;\n}\n\nexport class Persistor<T> implements PersistStorage<T> {\n getItem(name: string) {\n const item = localStorage.getItem(name);\n const parsedItem = item ? (JSON.parse(item) as T) : null;\n return parsedItem;\n }\n setItem(name: string, value: T) {\n localStorage.setItem(name, JSON.stringify(value));\n }\n removeItem(name: string) {\n localStorage.removeItem(name);\n }\n}\n", "import type { Network } from './types.js';\nimport type { Options } from './wallet.js';\nimport type { BlockchainMeta } from 'rango-types';\n\nimport { Networks } from './types.js';\n\nexport function formatAddressWithNetwork(\n address: string,\n network?: Network | null\n) {\n return `${network || ''}:${address}`;\n}\n\nexport function accountAddressesWithNetwork(\n addresses: string[] | null,\n network?: Network | null\n) {\n if (!addresses) {\n return [];\n }\n\n return addresses.map((address) => {\n return formatAddressWithNetwork(address, network);\n });\n}\n\nexport function readAccountAddress(addressWithNetwork: string): {\n address: string;\n network: Network;\n} {\n const [network, address] = addressWithNetwork.split(':');\n\n return {\n network,\n address,\n };\n}\n\nexport function needsCheckInstallation(options: Options) {\n const { checkInstallation = true } = options.config;\n return checkInstallation;\n}\n\nexport const getBlockChainNameFromId = (\n chainId: string | number,\n blockchains: BlockchainMeta[]\n): Network | null => {\n chainId =\n typeof chainId === 'string' && chainId.startsWith('0x')\n ? parseInt(chainId)\n : chainId;\n\n /*\n * Sometimes providers are passing `Network` as chainId.\n * If chainId is a `Network`, we return itself.\n */\n const allNetworks = Object.values(Networks);\n if (allNetworks.includes(String(chainId) as Networks)) {\n return chainId as Networks;\n }\n\n if (chainId === 'Binance-Chain-Tigris') {\n return Networks.BINANCE;\n }\n return (\n blockchains\n .filter((blockchainMeta) => !!blockchainMeta.chainId)\n .find((blockchainMeta) => {\n const blockchainChainId = blockchainMeta.chainId?.startsWith('0x')\n ? parseInt(blockchainMeta.chainId)\n : blockchainMeta.chainId;\n return blockchainChainId == chainId;\n })?.name || null\n );\n};\n", "import type { NamespaceInputForConnect } from './types.js';\n\nexport async function eagerConnectHandler<R = unknown>(params: {\n canEagerConnect: () => Promise<boolean>;\n connectHandler: () => Promise<R>;\n providerName: string;\n}) {\n // Check if we can eagerly connect to the wallet\n if (await params.canEagerConnect()) {\n // Connect to wallet as usual\n return await params.connectHandler();\n }\n throw new Error(`can't restore connection for ${params.providerName}.`);\n}\n\nexport function isEvmNamespace(\n namespace: NamespaceInputForConnect\n): namespace is NamespaceInputForConnect<'EVM'> {\n return namespace.namespace === 'EVM';\n}\n", "import type {\n EagerConnectResult,\n GetInstanceOptions,\n NamespaceData,\n Network,\n WalletActions,\n WalletConfig,\n WalletType,\n} from './types.js';\nimport type { Namespace } from '../namespaces/common/types.js';\nimport type { BlockchainMeta } from 'rango-types';\n\nimport {\n accountAddressesWithNetwork,\n getBlockChainNameFromId,\n needsCheckInstallation,\n} from './helpers.js';\nimport { Events, Networks } from './types.js';\nimport { eagerConnectHandler } from './utils.js';\n\nexport type EventHandler = (\n type: WalletType,\n event: Events,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value: any,\n coreState: State,\n info: EventInfo\n) => void;\n\nexport type EventInfo = {\n supportedBlockchains: BlockchainMeta[];\n isContractWallet: boolean;\n\n // Hub fields\n isHub: boolean;\n // will be set alongside ACCOUNT event\n namespace?: Namespace;\n derivationPath?: string;\n};\n\nexport interface State {\n connected: boolean;\n connecting: boolean;\n /**\n * @depreacted it always returns `false`. don't use it.\n */\n reachable: boolean;\n installed: boolean;\n accounts: string[] | null;\n network: Network | null;\n derivationPath?: string;\n}\n\nexport interface Options {\n config: WalletConfig;\n handler: EventHandler;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nclass Wallet<InstanceType = any> {\n public provider: InstanceType | null;\n private actions: WalletActions;\n private state: State;\n private options: Options;\n private info: EventInfo;\n private cleanupSubscribe?: (() => void) | void;\n\n constructor(options: Options, actions: WalletActions) {\n this.actions = actions;\n this.options = options;\n this.provider = null;\n this.info = {\n supportedBlockchains: [],\n isContractWallet: false,\n isHub: false,\n };\n this.state = {\n connected: false,\n connecting: false,\n // TODO: Remove\n reachable: false,\n installed: false,\n accounts: null,\n network: null,\n };\n\n if (!needsCheckInstallation(options)) {\n this.setInstalledAs(true);\n }\n }\n\n async suggestAndConnect(network: Network) {\n if (this.actions.suggest) {\n await this.actions.suggest({\n instance: this.provider,\n meta: this.info.supportedBlockchains,\n network,\n });\n }\n return await this.connect(network);\n }\n\n async connect(network?: Network, namespaces?: NamespaceData[]) {\n // If it's connecting, nothing do.\n if (this.state.connecting) {\n throw new Error('Connecting...');\n }\n\n const connectionFromState = await this.getConnectionFromState();\n const currentNetwork = this.state.network;\n /*\n * If a network hasn't been provided and also we have `lastNetwork`\n * We will use lastNetwork to make sure we will not\n * Ask the user to switch his network wrongly.\n */\n const requestedNetwork =\n network || currentNetwork || this.options.config.defaultNetwork;\n\n if (connectionFromState) {\n const networkChanged =\n currentNetwork !== requestedNetwork && !!requestedNetwork;\n\n // Reuse current connection if nothing has changed and we already have the connection in memory.\n if (currentNetwork === requestedNetwork) {\n return connectionFromState;\n }\n\n let canSwitch = true;\n if (this.actions.canSwitchNetworkTo) {\n canSwitch = this.actions.canSwitchNetworkTo({\n provider: this.provider,\n meta: this.info.supportedBlockchains,\n network: requestedNetwork || '',\n });\n }\n\n if (networkChanged && canSwitch && !!this.actions.switchNetwork) {\n await this.actions.switchNetwork({\n instance: this.provider,\n meta: this.info.supportedBlockchains,\n // TODO: Fix type error\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n network: requestedNetwork,\n newInstance: this.tryGetInstance.bind(this),\n getState: this.getState.bind(this),\n updateChainId: this.updateChainId.bind(this),\n });\n\n /*\n * We assume if we reach here (`switchNetwork` not throwing error), Switch successfully has been done.\n * But for providers with async switch network like wallet-connect, we need to wait for chain change\n * event before changing network.\n */\n if (\n requestedNetwork !== this.state.network &&\n !this.options.config.isAsyncSwitchNetwork\n ) {\n this.updateState({\n network,\n });\n }\n\n return {\n // Only network has been changed, so we reuse accounts from what we have already.\n accounts: connectionFromState.accounts,\n network: requestedNetwork,\n provider: this.provider,\n };\n }\n\n // If none of the above conditions didn't match, continute to connect.\n }\n\n // We are connecting to wallet for the first time\n\n // Trying to get wallet's instance, if it's not available, raise an error.\n const instance = await this.tryGetInstance({ network });\n\n // Instance exists, trying to connect\n this.updateState({\n connecting: true,\n });\n this.setInstalledAs(true);\n\n try {\n // eslint-disable-next-line no-var\n var connectResult = await this.actions.connect({\n instance,\n network: requestedNetwork || undefined,\n meta: this.info.supportedBlockchains || [],\n namespaces,\n });\n } catch (e) {\n this.resetState();\n throw e;\n }\n\n this.updateState({\n connected: true,\n reachable: true,\n connecting: false,\n });\n\n // TODO: Handle accounts.length > 0\n\n // Inserting accounts into our state.\n let nextAccounts: string[] = [];\n let nextNetwork: Network | null | undefined = null;\n let nextDerivationPath: string | undefined = undefined;\n if (Array.isArray(connectResult)) {\n let activeEvmNetwork: Network | null = null;\n const accounts = connectResult.flatMap((blockchain) => {\n const chainId = blockchain.chainId || Networks.Unknown;\n // Try to map chainId with a Network, if not found, we use chainId directly.\n const network =\n getBlockChainNameFromId(chainId, this.info.supportedBlockchains) ||\n Networks.Unknown;\n nextDerivationPath = blockchain.derivationPath\n ? blockchain.derivationPath\n : nextDerivationPath;\n\n /*\n * When connecting to an evm instance, it will return address and wallet's active chain.\n * On switch network we are comparing state's network and what passed as requestedNetwork.\n * This code is for making sure we are setting correct active chain in state if it's evm.\n */\n if (!activeEvmNetwork && network !== Networks.Unknown) {\n const blockchainMeta = this.info.supportedBlockchains.find(\n (blockchain) => blockchain.name === network\n );\n if (blockchainMeta?.info?.infoType === 'EvmMetaInfo') {\n activeEvmNetwork = network;\n }\n }\n // TODO: second parameter should be `string` when we decided to open source the package.\n return accountAddressesWithNetwork(blockchain.accounts, network);\n });\n nextAccounts = accounts.filter(Boolean);\n nextNetwork =\n activeEvmNetwork ||\n requestedNetwork ||\n this.options.config.defaultNetwork;\n } else {\n const chainId = connectResult.chainId || Networks.Unknown;\n const network =\n getBlockChainNameFromId(chainId, this.info.supportedBlockchains) ||\n Networks.Unknown;\n const derivationPath = connectResult.derivationPath;\n\n // We fallback to current active network if `chainId` not provided.\n nextAccounts = accountAddressesWithNetwork(\n connectResult.accounts,\n network\n );\n nextNetwork = network;\n nextDerivationPath = derivationPath;\n }\n\n if (nextAccounts.length > 0) {\n this.updateState({\n accounts: nextAccounts,\n network: nextNetwork,\n derivationPath: nextDerivationPath,\n });\n }\n\n return {\n accounts: this.state.accounts,\n network: this.state.network,\n provider: this.provider,\n };\n }\n\n async disconnect() {\n this.resetState();\n\n if (this.actions.disconnect) {\n void this.actions.disconnect({\n instance: this.provider,\n // On wallet connect, we need to destory the instance and get a whole new instance when we are going to connect\n destroyInstance: () => {\n this.setProvider(null);\n },\n });\n }\n }\n\n // This method is only used for auto connection\n async eagerConnect(): Promise<EagerConnectResult<InstanceType>> {\n const instance = await this.tryGetInstance({ network: undefined });\n const { canEagerConnect } = this.actions;\n const providerName = this.options.config.type;\n\n return await eagerConnectHandler({\n canEagerConnect: async () => {\n if (!canEagerConnect) {\n throw new Error(\n `${providerName} provider hasn't implemented canEagerConnect.`\n );\n }\n\n return await canEagerConnect({\n instance: instance,\n meta: this.info.supportedBlockchains,\n });\n },\n connectHandler: async () => {\n const result = await this.connect();\n return result;\n },\n providerName,\n });\n }\n\n async getSigners(provider: InstanceType) {\n return await this.actions.getSigners(provider);\n }\n getWalletInfo(allBlockChains: BlockchainMeta[]) {\n return this.actions.getWalletInfo(allBlockChains);\n }\n canSwitchNetworkTo(network: Network, provider: InstanceType) {\n const switchTo = this.actions.canSwitchNetworkTo;\n if (!switchTo) {\n return false;\n }\n\n return switchTo({\n network,\n meta: this.info.supportedBlockchains,\n provider,\n });\n }\n\n onInit() {\n // some times functions can be overridden by wallets. see rf-2119\n if (!this.actions.getInstance) {\n throw new Error(\n `Provider hasn't defined how to get wallet's instance. provider: ${this.options.config.type} on: onInit`\n );\n }\n\n if (!this.options.config.isAsyncInstance) {\n const instance = this.actions.getInstance();\n if (!!instance && !this.state.installed) {\n this.setInstalledAs(true);\n }\n } else if (needsCheckInstallation(this.options)) {\n this.actions.getInstance().then((data: unknown) => {\n if (data) {\n this.setInstalledAs(true);\n }\n });\n }\n }\n\n setProvider(value: InstanceType | null) {\n this.provider = value;\n if (!!value && !!this.actions.subscribe) {\n const cleanup = this.actions.subscribe({\n instance: value,\n state: this.state,\n meta: this.info.supportedBlockchains,\n connect: this.connect.bind(this),\n disconnect: this.disconnect.bind(this),\n updateAccounts: (accounts, chainId) => {\n let network = this.state.network;\n if (chainId) {\n network =\n getBlockChainNameFromId(\n chainId,\n this.info.supportedBlockchains\n ) || Networks.Unknown;\n }\n\n const nextAccounts = accountAddressesWithNetwork(accounts, network);\n if (nextAccounts.length > 0) {\n this.updateState({\n accounts: nextAccounts,\n });\n }\n },\n updateChainId: this.updateChainId.bind(this),\n });\n this.cleanupSubscribe = cleanup;\n } else if (!value && this.cleanupSubscribe) {\n this.cleanupSubscribe();\n }\n }\n\n setInfo(info: Partial<EventInfo>) {\n if (typeof info.supportedBlockchains !== 'undefined') {\n this.info.supportedBlockchains = info.supportedBlockchains;\n }\n if (typeof info.isContractWallet !== 'undefined') {\n this.info.isContractWallet = info.isContractWallet;\n }\n }\n\n setHandler(handler: EventHandler) {\n this.options.handler = handler;\n }\n\n getState(): State {\n return this.state;\n }\n\n updateState(states: Partial<State>) {\n /*\n * We will notify handler after updating all the states.\n * Because when we call `handler` it will has latest states.\n */\n const updates: [Events, unknown][] = [];\n\n if (typeof states.connected !== 'undefined') {\n this.state.connected = states.connected;\n updates.push([Events.CONNECTED, states.connected]);\n }\n if (typeof states.connecting !== 'undefined') {\n this.state.connecting = states.connecting;\n updates.push([Events.CONNECTING, states.connecting]);\n }\n if (typeof states.reachable !== 'undefined') {\n this.state.reachable = states.reachable;\n updates.push([Events.REACHABLE, states.reachable]);\n }\n if (typeof states.installed !== 'undefined') {\n this.state.installed = states.installed;\n updates.push([Events.INSTALLED, states.installed]);\n }\n if (typeof states.accounts !== 'undefined') {\n this.state.accounts = states.accounts;\n this.state.derivationPath = states.derivationPath;\n updates.push([Events.ACCOUNTS, states.accounts]);\n }\n if (typeof states.network !== 'undefined') {\n this.state.network = states.network;\n updates.push([Events.NETWORK, states.network]);\n }\n\n const state = this.getState();\n updates.forEach(([name, value]) => {\n const eventInfo: EventInfo = {\n supportedBlockchains: this.info.supportedBlockchains,\n isContractWallet: this.info.isContractWallet,\n isHub: false,\n };\n this.options.handler(\n this.options.config.type,\n name,\n value,\n state,\n eventInfo\n );\n });\n }\n\n resetState() {\n this.updateState({\n connected: false,\n connecting: false,\n reachable: false,\n accounts: null,\n network: null,\n });\n }\n\n private async getConnectionFromState() {\n // Already connected, so we return provider that we have in memory.\n\n /*\n * For switching network on Trust Wallet (WalletConnect),\n * We only kill the session (and not restting the whole state)\n * So we are relying on this.provider for achieving this functionality.\n */\n if (this.state.connected && !!this.provider) {\n return {\n accounts: this.state.accounts,\n network: this.state.network,\n provider: this.provider,\n };\n }\n\n return null;\n }\n\n private updateChainId(chainId: string | number) {\n const network = chainId\n ? getBlockChainNameFromId(chainId, this.info.supportedBlockchains)\n : Networks.Unknown;\n\n this.updateState({\n network,\n });\n }\n\n private setInstalledAs(value: boolean) {\n if (!needsCheckInstallation(this.options) && value === false) {\n return;\n }\n\n this.updateState({\n installed: value,\n });\n }\n // eslint-disable-next-line destructuring/in-methods-params\n private async tryGetInstance({\n network,\n force,\n }: {\n network?: Network;\n force?: boolean;\n }) {\n let instance = null;\n /*\n * For switching network on Trust Wallet (WalletConnect),\n * We only kill the session (and not restting the whole state)\n * So we are relying on this.provider for achieving this functionality.\n */\n this.setProvider(null);\n if (this.options.config.isAsyncInstance) {\n // Trying to connect\n const instanceOptions: GetInstanceOptions = {\n currentProvider: this.provider,\n meta: this.info.supportedBlockchains,\n force: force || false,\n updateChainId: this.updateChainId.bind(this),\n getState: this.getState.bind(this),\n };\n\n if (network) {\n instanceOptions.network = network;\n }\n instance = await this.actions.getInstance(instanceOptions);\n } else {\n instance = this.actions.getInstance();\n }\n\n if (!instance) {\n this.setInstalledAs(false);\n this.resetState();\n\n const error_message = `It seems your selected wallet (${this.options.config.type}) isn't installed.`;\n throw new Error(error_message);\n }\n\n this.setProvider(instance);\n return instance;\n }\n}\n\nexport default Wallet;\n"],
5
+ "mappings": "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",
6
6
  "names": ["Networks", "Events", "Persistor", "__name", "name", "item", "value", "formatAddressWithNetwork", "address", "network", "__name", "accountAddressesWithNetwork", "addresses", "readAccountAddress", "addressWithNetwork", "needsCheckInstallation", "options", "checkInstallation", "getBlockChainNameFromId", "chainId", "blockchains", "Networks", "blockchainMeta", "eagerConnectHandler", "params", "__name", "isEvmNamespace", "namespace", "Wallet", "__name", "options", "actions", "needsCheckInstallation", "network", "namespaces", "connectionFromState", "currentNetwork", "requestedNetwork", "networkChanged", "canSwitch", "instance", "connectResult", "e", "nextAccounts", "nextNetwork", "nextDerivationPath", "activeEvmNetwork", "blockchain", "chainId", "getBlockChainNameFromId", "accountAddressesWithNetwork", "derivationPath", "canEagerConnect", "providerName", "eagerConnectHandler", "provider", "allBlockChains", "switchTo", "data", "value", "cleanup", "accounts", "info", "handler", "states", "updates", "state", "name", "eventInfo", "force", "instanceOptions", "error_message", "wallet_default"]
7
7
  }
@@ -8,6 +8,16 @@ export declare enum Networks {
8
8
  THORCHAIN = "THOR",
9
9
  BCH = "BCH",
10
10
  BINANCE = "BNB",
11
+ BLAST = "BLAST",
12
+ CELO = "CELO",
13
+ LINEA = "LINEA",
14
+ METIS = "METIS",
15
+ SONIC = "SONIC",
16
+ BERACHAIN = "BERACHAIN",
17
+ ZETA_CHAIN = "ZETA_CHAIN",
18
+ SCROLL = "SCROLL",
19
+ ZKSYNC = "ZKSYNC",
20
+ MONAD = "MONAD",
11
21
  ETHEREUM = "ETH",
12
22
  POLYGON = "POLYGON",
13
23
  TERRA = "TERRA",
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/legacy/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/legacy/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/namespaces/evm/actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAWlE,eAAO,MAAM,WAAW,+EAAyB,CAAC;AAClD,wBAAgB,OAAO,CACrB,QAAQ,EAAE,MAAM,WAAW,EAC3B,OAAO,CAAC,EAAE,cAAc,GACvB,mBAAmB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAiDrD;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,WAAW,GAAG,SAAS,GACtC,eAAe,CAAC,UAAU,CAAC,CAsB7B;AACD,wBAAgB,gBAAgB,IAAI,mBAAmB,CACrD,UAAU,CAAC,kBAAkB,CAAC,EAC9B,OAAO,CACR,CAKA;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,WAAW,GAAG,SAAS,GACtC,mBAAmB,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAYxD"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/namespaces/evm/actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EAEV,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAWlE,eAAO,MAAM,WAAW,+EAAyB,CAAC;AAClD,wBAAgB,OAAO,CACrB,QAAQ,EAAE,MAAM,WAAW,EAC3B,OAAO,CAAC,EAAE,cAAc,GACvB,mBAAmB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CA2DrD;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,WAAW,GAAG,SAAS,GACtC,eAAe,CAAC,UAAU,CAAC,CAsB7B;AACD,wBAAgB,gBAAgB,IAAI,mBAAmB,CACrD,UAAU,CAAC,kBAAkB,CAAC,EAC9B,OAAO,CACR,CAKA;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,WAAW,GAAG,SAAS,GACtC,mBAAmB,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAYxD"}
@@ -1,2 +1,2 @@
1
- var _=Object.defineProperty;var t=(o,e)=>_(o,"name",{value:e,configurable:!0});var c=(o,e)=>{for(var r in e)_(o,r,{get:e[r],enumerable:!0})};var M={};c(M,{canEagerConnect:()=>te,canSwitchNetwork:()=>oe,connect:()=>ee,getChainId:()=>re,recommended:()=>Z});function O(o){let[,e]=o.state();e("network",null),e("accounts",null),e("connected",!1),e("connecting",!1),e("connectArgs",null)}t(O,"disconnect");var j=[["disconnect",O]];var V={};c(V,{filterAndGetEvmBlockchainNames:()=>C,formatAccountsToCAIP:()=>m,getAccounts:()=>b,isUserRejectionError:()=>X,suggestNetwork:()=>K,switchNetwork:()=>D,switchOrAddNetwork:()=>w});import{AccountId as G}from"caip";import{evmBlockchains as J}from"rango-types";var A="eip155",z="1";var Q=16;async function b(o){let[e,r]=await Promise.all([o.request({method:"eth_requestAccounts"}),o.request({method:"eth_chainId"})]),n=r;return typeof n=="number"&&(n=`0x${Number(r).toString(Q)}`),{accounts:e,chainId:n}}t(b,"getAccounts");async function K(o,e){return await o.request({method:"wallet_addEthereumChain",params:[e]})}t(K,"suggestNetwork");async function D(o,e){return await o.request({method:"wallet_switchEthereumChain",params:[{chainId:e}]})}t(D,"switchNetwork");function C(o){return J(o).map(e=>e.name)}t(C,"filterAndGetEvmBlockchainNames");async function w(o,e){try{let r=typeof e=="string"?e:e.chainId;await D(o,r)}catch(r){let n=r;if(typeof e!="string"&&(n.code===4902||!n.code)){await K(o,e);return}throw r}}t(w,"switchOrAddNetwork");var F=4001;function X(o){if(typeof o=="object"&&o!==null){let e=o.code,r=o.cause?.code;return e===F||r===F}return!1}t(X,"isUserRejectionError");function m(o,e){return o.map(r=>G.format({address:r,chainId:{namespace:A,reference:e}}))}t(m,"formatAccountsToCAIP");var Z=[...j];function ee(o,e){return async(r,n)=>{let[,d]=r.state();d("connectArgs",{chain:n});let a=o();if(!a)throw new Error("Do your wallet injected correctly and is evm compatible?");n&&(e?.switchOrAddNetwork?await e.switchOrAddNetwork(a,n):await w(a,n));let i=await b(a);if(!i.accounts||!i.accounts.length)throw new Error("No accounts were returned by the provider. Please make sure your wallet has an active EVM-compatible account selected.");return{accounts:m(i.accounts,i.chainId),network:i.chainId}}}t(ee,"connect");function te(o){return async()=>{let e=o();if(!e)throw new Error("Trying to eagerly connect to your EVM wallet, but seems its instance is not available.");try{return!!(await e.request({method:"eth_accounts"})).length}catch{return!1}}}t(te,"canEagerConnect");function oe(){return(o,e)=>{let{network:r,supportedChains:n}=e;return C(n).includes(r)}}t(oe,"canSwitchNetwork");function re(o){return async()=>{let e=o();if(!e)throw new Error("Trying to get chain id from your EVM wallet, but instance is not available.");return e.request({method:"eth_chainId"})}}t(re,"getChainId");var W={};c(W,{changeAccountSubscriber:()=>ne,changeChainSubscriber:()=>se});function ne(o){return l.changeAccountSubscriber(o).build()}t(ne,"changeAccountSubscriber");function se(o){let e;return[r=>{let n=o();if(!n)throw new Error("Trying to subscribe to your EVM wallet, but seems its instance is not available.");let[,d]=r.state();e=t(async a=>{d("network",a)},"eventCallback"),n.on("chainChanged",e)},()=>{let r=o();e&&r&&r.removeListener("chainChanged",e)}]}t(se,"changeChainSubscriber");var U={};c(U,{recommended:()=>ie});function v(o){let[,e]=o.state();e("connecting",!1)}t(v,"intoConnectionFinished");var E=[["connect",v]];var ie=[...E];var $={};c($,{recommended:()=>he});import{createStore as Tt}from"zustand/vanilla";import{produce as ft}from"immer";import{produce as xt}from"immer";var s=class{static{t(this,"ActionBuilder")}name;#e=new Map;#t=new Map;#r=new Map;#o=new Map;#n;constructor(e){this.name=e}and(e){return this.#e.has(this.name)||this.#e.set(this.name,[]),this.#e.get(this.name)?.push(e),this}or(e){return this.#t.has(this.name)||this.#t.set(this.name,[]),this.#t.get(this.name)?.push(e),this}before(e){return this.#o.has(this.name)||this.#o.set(this.name,[]),this.#o.get(this.name)?.push(e),this}after(e){return this.#r.has(this.name)||this.#r.set(this.name,[]),this.#r.get(this.name)?.push(e),this}action(e){return this.#n=e,this}build(){if(!this.#n)throw new Error("Your action builder should includes an action.");return{actionName:this.name,action:this.#n,before:this.#o,after:this.#r,and:this.#e,or:this.#t}}};import*as io from"caip";var f=class{static{t(this,"ChangeAccountSubscriberBuilder")}#e=null;#t=null;#r=null;#o=null;#n=null;getInstance(e){return this.#e=e,this}format(e){return this.#t=e,this}onSwitchAccount(e){return this.#r=e,this}addEventListener(e){return this.#o=e,this}removeEventListener(e){return this.#n=e,this}build(){if(this.#e===null)throw new Error(this.#s("getInstance"));if(this.#t===null)throw new Error(this.#s("format"));if(this.#o===null)throw new Error(this.#s("addEventListener"));if(this.#n===null)throw new Error(this.#s("removeEventListener"));let e=this.#e,r=this.#t,n=this.#o,d=this.#n,a=this.#r,i,p;return[async x=>{let[,S]=x.state(),u=e();if(!u)throw new Error("Trying to subscribe to your wallet, but seems its instance is not available.");i=t(async k=>{let R=!0;a?.({payload:k,preventDefault:()=>{R=!1}},x),R&&S("accounts",await r(u,k))},"subscriber"),p=n(u,i)},(x,S)=>{p&&typeof p=="function"&&p();let u=e();return d(u,i),S}]}#s(e){return`Required "${e}" operation has not been set for "changeAccountSubscriber"`}};import{AccountId as fe}from"caip";function L(o){try{return fe.parse(o),!0}catch{return!1}}t(L,"isValidCaipAddress");function h(o,e){if(!e.accounts.every(L))throw new Error(`Your provider should format account addresses in CAIP-10 format. Your provided accounts: ${e.accounts}`);let[,r]=o.state();return r("accounts",e.accounts),r("network",e.network),r("connected",!0),e}t(h,"connectAndUpdateStateForMultiNetworks");function g(o){let[,e]=o.state();e("connecting",!0)}t(g,"intoConnecting");var T=[["connect",g]];var he=[["connect",h]];var Y={};c(Y,{recommended:()=>le});var le=[...T];var l={};c(l,{canEagerConnect:()=>ye,canSwitchNetwork:()=>ge,changeAccountSubscriber:()=>xe,connect:()=>ve,getChainId:()=>Se});var ve=t(()=>new s("connect").and(h).before(g).after(v),"connect"),ye=t(()=>new s("canEagerConnect"),"canEagerConnect"),ge=t(()=>new s("canSwitchNetwork"),"canSwitchNetwork"),xe=t(o=>new f().getInstance(o).onSwitchAccount((e,r)=>{(!e.payload||!e.payload.length)&&(r.action("disconnect"),e.preventDefault())}).format(async(e,r)=>{let n=await e.request({method:"eth_chainId"});return m(r,n)}).addEventListener((e,r)=>{e.on("accountsChanged",r)}).removeEventListener((e,r)=>{e.removeListener?.("accountsChanged",r)}),"changeAccountSubscriber"),Se=t(()=>new s("getChainId"),"getChainId");export{z as CAIP_ETHEREUM_CHAIN_ID,A as CAIP_NAMESPACE,M as actions,U as after,$ as and,Y as before,l as builders,W as hooks,V as utils};
1
+ var _=Object.defineProperty;var t=(o,e)=>_(o,"name",{value:e,configurable:!0});var c=(o,e)=>{for(var r in e)_(o,r,{get:e[r],enumerable:!0})};var M={};c(M,{canEagerConnect:()=>te,canSwitchNetwork:()=>oe,connect:()=>ee,getChainId:()=>re,recommended:()=>Z});function O(o){let[,e]=o.state();e("network",null),e("accounts",null),e("connected",!1),e("connecting",!1),e("connectArgs",null)}t(O,"disconnect");var j=[["disconnect",O]];var V={};c(V,{filterAndGetEvmBlockchainNames:()=>C,formatAccountsToCAIP:()=>m,getAccounts:()=>b,isUserRejectionError:()=>X,suggestNetwork:()=>K,switchNetwork:()=>D,switchOrAddNetwork:()=>w});import{AccountId as G}from"caip";import{evmBlockchains as J}from"rango-types";var A="eip155",z="1";var Q=16;async function b(o){let[e,r]=await Promise.all([o.request({method:"eth_requestAccounts"}),o.request({method:"eth_chainId"})]),n=r;return typeof n=="number"&&(n=`0x${Number(r).toString(Q)}`),{accounts:e,chainId:n}}t(b,"getAccounts");async function K(o,e){return await o.request({method:"wallet_addEthereumChain",params:[e]})}t(K,"suggestNetwork");async function D(o,e){return await o.request({method:"wallet_switchEthereumChain",params:[{chainId:e}]})}t(D,"switchNetwork");function C(o){return J(o).map(e=>e.name)}t(C,"filterAndGetEvmBlockchainNames");async function w(o,e){try{let r=typeof e=="string"?e:e.chainId;await D(o,r)}catch(r){let n=r;if(typeof e!="string"&&(n.code===4902||!n.code)){await K(o,e);return}throw r}}t(w,"switchOrAddNetwork");var F=4001;function X(o){if(typeof o=="object"&&o!==null){let e=o.code,r=o.cause?.code;return e===F||r===F}return!1}t(X,"isUserRejectionError");function m(o,e){return o.map(r=>G.format({address:r,chainId:{namespace:A,reference:e}}))}t(m,"formatAccountsToCAIP");var Z=[...j];function ee(o,e){return async(r,n)=>{let[,d]=r.state();d("connectArgs",{chain:n});let a=o();if(!a)throw new Error("Do your wallet injected correctly and is evm compatible?");n&&(e?.switchOrAddNetwork?await e.switchOrAddNetwork(a,n):await w(a,n));let s;if(e?.getAccounts?s=await e.getAccounts(a):s=await b(a),!s.accounts||!s.accounts.length)throw new Error("No accounts were returned by the provider. Please make sure your wallet has an active EVM-compatible account selected.");return{accounts:m(s.accounts,s.chainId),network:s.chainId}}}t(ee,"connect");function te(o){return async()=>{let e=o();if(!e)throw new Error("Trying to eagerly connect to your EVM wallet, but seems its instance is not available.");try{return!!(await e.request({method:"eth_accounts"})).length}catch{return!1}}}t(te,"canEagerConnect");function oe(){return(o,e)=>{let{network:r,supportedChains:n}=e;return C(n).includes(r)}}t(oe,"canSwitchNetwork");function re(o){return async()=>{let e=o();if(!e)throw new Error("Trying to get chain id from your EVM wallet, but instance is not available.");return e.request({method:"eth_chainId"})}}t(re,"getChainId");var W={};c(W,{changeAccountSubscriber:()=>ne,changeChainSubscriber:()=>se});function ne(o){return l.changeAccountSubscriber(o).build()}t(ne,"changeAccountSubscriber");function se(o){let e;return[r=>{let n=o();if(!n)throw new Error("Trying to subscribe to your EVM wallet, but seems its instance is not available.");let[,d]=r.state();e=t(async a=>{d("network",a)},"eventCallback"),n.on("chainChanged",e)},()=>{let r=o();e&&r&&r.removeListener("chainChanged",e)}]}t(se,"changeChainSubscriber");var U={};c(U,{recommended:()=>ie});function v(o){let[,e]=o.state();e("connecting",!1)}t(v,"intoConnectionFinished");var E=[["connect",v]];var ie=[...E];var $={};c($,{recommended:()=>he});import{createStore as Tt}from"zustand/vanilla";import{produce as ft}from"immer";import{produce as xt}from"immer";var i=class{static{t(this,"ActionBuilder")}name;#e=new Map;#t=new Map;#r=new Map;#o=new Map;#n;constructor(e){this.name=e}and(e){return this.#e.has(this.name)||this.#e.set(this.name,[]),this.#e.get(this.name)?.push(e),this}or(e){return this.#t.has(this.name)||this.#t.set(this.name,[]),this.#t.get(this.name)?.push(e),this}before(e){return this.#o.has(this.name)||this.#o.set(this.name,[]),this.#o.get(this.name)?.push(e),this}after(e){return this.#r.has(this.name)||this.#r.set(this.name,[]),this.#r.get(this.name)?.push(e),this}action(e){return this.#n=e,this}build(){if(!this.#n)throw new Error("Your action builder should includes an action.");return{actionName:this.name,action:this.#n,before:this.#o,after:this.#r,and:this.#e,or:this.#t}}};import*as io from"caip";var f=class{static{t(this,"ChangeAccountSubscriberBuilder")}#e=null;#t=null;#r=null;#o=null;#n=null;getInstance(e){return this.#e=e,this}format(e){return this.#t=e,this}onSwitchAccount(e){return this.#r=e,this}addEventListener(e){return this.#o=e,this}removeEventListener(e){return this.#n=e,this}build(){if(this.#e===null)throw new Error(this.#s("getInstance"));if(this.#t===null)throw new Error(this.#s("format"));if(this.#o===null)throw new Error(this.#s("addEventListener"));if(this.#n===null)throw new Error(this.#s("removeEventListener"));let e=this.#e,r=this.#t,n=this.#o,d=this.#n,a=this.#r,s,p;return[async x=>{let[,S]=x.state(),u=e();if(!u)throw new Error("Trying to subscribe to your wallet, but seems its instance is not available.");s=t(async k=>{let R=!0;a?.({payload:k,preventDefault:()=>{R=!1}},x),R&&S("accounts",await r(u,k))},"subscriber"),p=n(u,s)},(x,S)=>{p&&typeof p=="function"&&p();let u=e();return d(u,s),S}]}#s(e){return`Required "${e}" operation has not been set for "changeAccountSubscriber"`}};import{AccountId as fe}from"caip";function L(o){try{return fe.parse(o),!0}catch{return!1}}t(L,"isValidCaipAddress");function h(o,e){if(!e.accounts.every(L))throw new Error(`Your provider should format account addresses in CAIP-10 format. Your provided accounts: ${e.accounts}`);let[,r]=o.state();return r("accounts",e.accounts),r("network",e.network),r("connected",!0),e}t(h,"connectAndUpdateStateForMultiNetworks");function g(o){let[,e]=o.state();e("connecting",!0)}t(g,"intoConnecting");var T=[["connect",g]];var he=[["connect",h]];var Y={};c(Y,{recommended:()=>le});var le=[...T];var l={};c(l,{canEagerConnect:()=>ye,canSwitchNetwork:()=>ge,changeAccountSubscriber:()=>xe,connect:()=>ve,getChainId:()=>Se});var ve=t(()=>new i("connect").and(h).before(g).after(v),"connect"),ye=t(()=>new i("canEagerConnect"),"canEagerConnect"),ge=t(()=>new i("canSwitchNetwork"),"canSwitchNetwork"),xe=t(o=>new f().getInstance(o).onSwitchAccount((e,r)=>{(!e.payload||!e.payload.length)&&(r.action("disconnect"),e.preventDefault())}).format(async(e,r)=>{let n=await e.request({method:"eth_chainId"});return m(r,n)}).addEventListener((e,r)=>{e.on("accountsChanged",r)}).removeEventListener((e,r)=>{e.removeListener?.("accountsChanged",r)}),"changeAccountSubscriber"),Se=t(()=>new i("getChainId"),"getChainId");export{z as CAIP_ETHEREUM_CHAIN_ID,A as CAIP_NAMESPACE,M as actions,U as after,$ as and,Y as before,l as builders,W as hooks,V as utils};
2
2
  //# sourceMappingURL=mod.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/namespaces/evm/actions.ts", "../../../src/namespaces/common/actions.ts", "../../../src/namespaces/evm/utils.ts", "../../../src/namespaces/evm/constants.ts", "../../../src/namespaces/evm/hooks.ts", "../../../src/namespaces/evm/after.ts", "../../../src/namespaces/common/after.ts", "../../../src/namespaces/evm/and.ts", "../../../src/hub/store/store.ts", "../../../src/hub/store/namespaces.ts", "../../../src/hub/store/providers.ts", "../../../src/builders/action.ts", "../../../src/utils/mod.ts", "../../../src/namespaces/common/hooks/changeAccountSubscriber.ts", "../../../src/namespaces/common/helpers.ts", "../../../src/namespaces/common/and.ts", "../../../src/namespaces/common/before.ts", "../../../src/namespaces/evm/before.ts", "../../../src/namespaces/evm/builders.ts"],
4
- "sourcesContent": ["import type { ConnectOptions, EvmActions, ProviderAPI } from './types.js';\nimport type { Context } from '../../hub/namespaces/mod.js';\nimport type { CanEagerConnect } from '../../hub/namespaces/types.js';\nimport type { FunctionWithContext } from '../../types/actions.js';\n\nimport { recommended as commonRecommended } from '../common/actions.js';\n\nimport {\n filterAndGetEvmBlockchainNames,\n formatAccountsToCAIP,\n getAccounts,\n switchOrAddNetwork,\n} from './utils.js';\n\nexport const recommended = [...commonRecommended];\nexport function connect(\n instance: () => ProviderAPI,\n options?: ConnectOptions\n): FunctionWithContext<EvmActions['connect'], Context> {\n return async (context, chain) => {\n // Setting connect args to be used on other actions\n const [, setState] = context.state();\n setState('connectArgs', { chain });\n const evmInstance = instance();\n\n if (!evmInstance) {\n throw new Error(\n 'Do your wallet injected correctly and is evm compatible?'\n );\n }\n\n if (chain) {\n /*\n * The `switchOrAddNetwork` function can be optionally provided through `options`\n * to handle network switching or addition in a way that is compatible with the specific wallet provider.\n * This approach is necessary because not all providers follow the same conventions\u2014\n * for example, Rabby uses a different error code for \"chain not found\".\n */\n if (options?.switchOrAddNetwork) {\n await options.switchOrAddNetwork(evmInstance, chain);\n } else {\n await switchOrAddNetwork(evmInstance, chain);\n }\n }\n\n const providerAccounts = await getAccounts(evmInstance);\n\n /*\n * Ensure that the provider returns at least one valid account before proceeding.\n * This prevents cases (e.g., MetaMask bug) where a user connects with an account\n * that has no associated EVM address, leaving the dApp without any usable accounts.\n */\n if (!providerAccounts.accounts || !providerAccounts.accounts.length) {\n throw new Error(\n 'No accounts were returned by the provider. Please make sure your wallet has an active EVM-compatible account selected.'\n );\n }\n const formattedAccounts = formatAccountsToCAIP(\n providerAccounts.accounts,\n providerAccounts.chainId\n );\n\n return {\n accounts: formattedAccounts,\n network: providerAccounts.chainId,\n };\n };\n}\n\nexport function canEagerConnect(\n instance: () => ProviderAPI | undefined\n): CanEagerConnect<EvmActions> {\n return async () => {\n const evmInstance = instance();\n\n if (!evmInstance) {\n throw new Error(\n 'Trying to eagerly connect to your EVM wallet, but seems its instance is not available.'\n );\n }\n\n try {\n const accounts: string[] = await evmInstance.request({\n method: 'eth_accounts',\n });\n if (accounts.length) {\n return true;\n }\n return false;\n } catch {\n return false;\n }\n };\n}\nexport function canSwitchNetwork(): FunctionWithContext<\n EvmActions['canSwitchNetwork'],\n Context\n> {\n return (context, params) => {\n const { network, supportedChains } = params;\n return filterAndGetEvmBlockchainNames(supportedChains).includes(network);\n };\n}\n\nexport function getChainId(\n instance: () => ProviderAPI | undefined\n): FunctionWithContext<EvmActions['getChainId'], Context> {\n return async () => {\n const evmInstance = instance();\n\n if (!evmInstance) {\n throw new Error(\n 'Trying to get chain id from your EVM wallet, but instance is not available.'\n );\n }\n\n return evmInstance.request({ method: 'eth_chainId' });\n };\n}\n", "import type { Context } from '../../hub/namespaces/mod.js';\n\nexport function disconnect(context: Context): void {\n const [, setState] = context.state();\n setState('network', null);\n setState('accounts', null);\n setState('connected', false);\n setState('connecting', false);\n setState('connectArgs', null);\n}\n\nexport const recommended = [['disconnect', disconnect] as const];\n", "import type { Chain, ChainId, ProviderAPI } from './types.js';\nimport type { CaipAccount } from '../../types/accounts.js';\n\nimport { AccountId } from 'caip';\nimport { type BlockchainMeta, evmBlockchains } from 'rango-types';\n\nimport { CAIP_NAMESPACE } from './constants.js';\n\nconst CHAIN_ID_RADIX = 16;\n\nexport async function getAccounts(provider: ProviderAPI) {\n const [accounts, chainId] = await Promise.all([\n provider.request({ method: 'eth_requestAccounts' }),\n provider.request({ method: 'eth_chainId' }),\n ]);\n /*\n * Trust Wallet Compatibility Fix:\n * Trust Wallet's in-app browser has been observed to return the `chainId` as a\n * number (e.g., 1) rather than the standard hexadecimal string (e.g., \"0x1\").\n * This code block standardizes the `chainId` to the required hex format to\n * prevent downstream errors.\n */\n let standardChainId = chainId;\n if (typeof standardChainId === 'number') {\n standardChainId = `0x${Number(chainId).toString(CHAIN_ID_RADIX)}`;\n }\n\n return {\n accounts,\n chainId: standardChainId,\n };\n}\n\nexport async function suggestNetwork(instance: ProviderAPI, chain: Chain) {\n return await instance.request({\n method: 'wallet_addEthereumChain',\n params: [chain],\n });\n}\n\nexport async function switchNetwork(instance: ProviderAPI, chainId: ChainId) {\n return await instance.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: chainId }],\n });\n}\nexport function filterAndGetEvmBlockchainNames(meta: BlockchainMeta[]) {\n return evmBlockchains(meta).map((blockchain) => blockchain.name);\n}\nexport async function switchOrAddNetwork(\n instance: ProviderAPI,\n chain: ChainId | Chain\n) {\n try {\n const chainId = typeof chain === 'string' ? chain : chain.chainId;\n await switchNetwork(instance, chainId);\n } catch (switchError) {\n const error = switchError as { code: number };\n\n /*\n * Error code 4902 is used by MetaMask to indicate that the requested chain has not been added to the wallet.\n * This code is not part of the official EIP-1193 spec (https://eips.ethereum.org/EIPS/eip-1193#supported-rpc-methods),\n * so other providers may use a different code or behavior for the same condition.\n */\n const NOT_FOUND_CHAIN_ERROR_CODE = 4902;\n if (\n typeof chain !== 'string' &&\n (error.code === NOT_FOUND_CHAIN_ERROR_CODE || !error.code)\n ) {\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 suggestNetwork(instance, chain);\n return;\n }\n throw switchError;\n }\n}\n\nconst EIP_1193_USER_REJECTION_ERROR_CODE = 4001;\nexport function isUserRejectionError(error: unknown): boolean {\n // EIP-1193 user rejection error can be in error.code or error.cause.code\n if (typeof error === 'object' && error !== null) {\n const code = (error as { code?: number }).code;\n const causeCode = (error as { cause?: { code?: number } }).cause?.code;\n return (\n code === EIP_1193_USER_REJECTION_ERROR_CODE ||\n causeCode === EIP_1193_USER_REJECTION_ERROR_CODE\n );\n }\n return false;\n}\n\nexport function formatAccountsToCAIP(accounts: string[], chainId: string) {\n return accounts.map(\n (account) =>\n AccountId.format({\n address: account,\n chainId: {\n namespace: CAIP_NAMESPACE,\n reference: chainId,\n },\n }) as CaipAccount\n );\n}\n", "export const CAIP_NAMESPACE = 'eip155';\nexport const CAIP_ETHEREUM_CHAIN_ID = '1';\n", "import type { EIP1193EventMap } from './eip1193.js';\nimport type { EvmActions, ProviderAPI } from './types.js';\nimport type { Subscriber, SubscriberCleanUp } from '../../mod.js';\n\nimport { builders } from './mod.js';\n\nexport function changeAccountSubscriber(\n instance: () => ProviderAPI\n): [Subscriber<EvmActions>, SubscriberCleanUp<EvmActions>] {\n return builders.changeAccountSubscriber(instance).build();\n}\n\nexport function changeChainSubscriber(\n instance: () => ProviderAPI\n): [Subscriber<EvmActions>, SubscriberCleanUp<EvmActions>] {\n let eventCallback: EIP1193EventMap['chainChanged'];\n\n return [\n (context) => {\n const evmInstance = instance();\n\n if (!evmInstance) {\n throw new Error(\n 'Trying to subscribe to your EVM wallet, but seems its instance is not available.'\n );\n }\n\n const [, setState] = context.state();\n\n eventCallback = async (chainId: string) => {\n setState('network', chainId);\n };\n evmInstance.on('chainChanged', eventCallback);\n },\n () => {\n const evmInstance = instance();\n\n if (eventCallback && evmInstance) {\n evmInstance.removeListener('chainChanged', eventCallback);\n }\n },\n ];\n}\n", "import { recommended as commonRecommended } from '../common/after.js';\n\nexport const recommended = [...commonRecommended];\n", "import type { Context } from '../../hub/namespaces/mod.js';\n\nexport function intoConnectionFinished(context: Context) {\n const [, setState] = context.state();\n setState('connecting', false);\n}\n\nexport const recommended = [['connect', intoConnectionFinished] as const];\n", "import { connectAndUpdateStateForMultiNetworks } from '../common/mod.js';\n\nexport const recommended = [\n ['connect', connectAndUpdateStateForMultiNetworks] as const,\n];\n", "import type { StoreApi } from 'zustand/vanilla';\n\nimport { createStore as createZustandStore } from 'zustand/vanilla';\n\nimport { extend, type Store } from './extend.js';\nimport { hubStore, type HubStore } from './hub.js';\nimport { namespacesStore, type NamespaceStore } from './namespaces.js';\nimport { providersStore, type ProviderStore } from './providers.js';\n\n/************ State ************/\n\nexport interface State {\n hub: HubStore;\n providers: ProviderStore;\n namespaces: NamespaceStore;\n}\n\nexport type RawStore = StoreApi<State>;\n\nexport const createStore = (): Store => {\n const store = createZustandStore<State>((...api) => {\n return {\n hub: hubStore(...api),\n providers: providersStore(...api),\n namespaces: namespacesStore(...api),\n };\n });\n\n return extend(store);\n};\n", "/************ Namespace ************/\n\nimport type { StateCreator } from 'zustand';\n\nimport { produce } from 'immer';\n\nimport {\n ConsumableEvents,\n type NamespaceConnectedEvent,\n type NamespaceDisconnectedEvent,\n type NamespaceSwitchedAccountEvent,\n type NamespaceSwitchedNetworkEvent,\n} from './events.js';\nimport { namespaceStateSelector, type State } from './mod.js';\n\n// Currently, namespace doesn't has any config.\nexport type NamespaceConfig = object;\n\nexport interface NamespaceData {\n accounts: null | string[];\n network: null | string;\n connected: boolean;\n connecting: boolean;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n connectArgs: Record<string, any> | null;\n}\n\ninterface NamespaceInfo {\n providerId: string;\n namespaceId: string;\n}\n\ninterface NamespaceItem {\n info: NamespaceInfo;\n data: NamespaceData;\n error: unknown;\n}\n\ntype NamespaceState = {\n events: InstanceType<typeof ConsumableEvents>;\n list: Record<string, NamespaceItem>;\n};\n\ninterface NamespaceActions {\n addNamespace: (id: string, config: NamespaceInfo) => void;\n updateStatus: <K extends keyof NamespaceData>(\n id: string,\n key: K,\n value: NamespaceData[K]\n ) => void;\n\n _produceEventsWhenUpdatingStatus: <K extends keyof NamespaceData>(\n namespace: NamespaceItem,\n id: string,\n key: K,\n value: NamespaceData[K]\n ) => void;\n}\ninterface NamespaceSelectors {\n getNamespaceData(storeId: string): NamespaceData;\n}\n\nexport type NamespaceStore = NamespaceState &\n NamespaceActions &\n NamespaceSelectors;\ntype NamespaceStateCreator = StateCreator<State, [], [], NamespaceStore>;\n\nconst namespacesStore: NamespaceStateCreator = (set, get) => ({\n events: new ConsumableEvents(),\n\n list: {},\n addNamespace: (id, info) => {\n const data: NamespaceData = {\n accounts: null,\n network: null,\n connected: false,\n connecting: false,\n connectArgs: null,\n };\n\n const item = {\n data,\n error: '',\n info,\n };\n\n set(\n produce((state: State) => {\n state.namespaces.list[id] = item;\n })\n );\n },\n updateStatus: (id, key, value) => {\n const ns = get().namespaces.list[id];\n if (!ns) {\n throw new Error(`No namespace with '${id}' found.`);\n }\n\n get().namespaces._produceEventsWhenUpdatingStatus(ns, id, key, value);\n\n // Updating state\n set(\n produce((state: State) => {\n state.namespaces.list[id].data[key] = value;\n })\n );\n },\n getNamespaceData(storeId) {\n return namespaceStateSelector(get(), storeId);\n },\n\n _produceEventsWhenUpdatingStatus: (namespace, id, key, value) => {\n if (key === 'accounts') {\n // check for both null and empty array\n const isAccountsEmpty =\n Object.is(value, null) || (Array.isArray(value) && value.length === 0);\n\n if (isAccountsEmpty) {\n const currentConnectedStatus = get().namespaces.list[id].data.connected;\n if (currentConnectedStatus) {\n const event: NamespaceDisconnectedEvent = {\n type: 'namespace_disconnected',\n provider: namespace.info.providerId,\n namespace: namespace.info.namespaceId,\n };\n\n get().namespaces.events.push(event);\n }\n // Skip emitting disconnect event, if the `connected` is false\n } else {\n const currentAccounts = get().namespaces.list[id].data.accounts;\n\n if (!currentAccounts) {\n const event: NamespaceConnectedEvent = {\n type: 'namespace_connected',\n provider: namespace.info.providerId,\n namespace: namespace.info.namespaceId,\n accounts: value as string[],\n };\n\n get().namespaces.events.push(event);\n } else {\n const areSameAccounts =\n // Clone the object from the Zustand store, as it's immutable, to avoid errors during sorting.\n [...currentAccounts].sort().toString() ===\n (value as string[]).sort().toString();\n\n if (!areSameAccounts) {\n const event: NamespaceSwitchedAccountEvent = {\n type: 'namespace_account_switched',\n provider: namespace.info.providerId,\n namespace: namespace.info.namespaceId,\n previousAccounts: currentAccounts,\n accounts: value as string[],\n };\n\n get().namespaces.events.push(event);\n }\n }\n }\n } else if (key === 'network') {\n const currentNetwork = get().namespaces.list[id].data.network;\n\n const event: NamespaceSwitchedNetworkEvent = {\n type: 'namespace_network_switched',\n provider: namespace.info.providerId,\n namespace: namespace.info.namespaceId,\n network: value as string,\n previousNetwork: currentNetwork,\n };\n\n get().namespaces.events.push(event);\n }\n },\n});\n\nexport { namespacesStore };\n", "import type { Namespace } from '../../namespaces/common/types.js';\nimport type { State as InternalProviderState } from '../provider/mod.js';\nimport type { BlockchainMeta, SignerFactory } from 'rango-types';\nimport type { StateCreator } from 'zustand';\n\nimport { produce } from 'immer';\n\nimport { ConsumableEvents, type ProviderDetectedEvent } from './events.js';\nimport { guessProviderStateSelector, type State } from './mod.js';\n\ntype Browsers = 'firefox' | 'chrome' | 'edge' | 'brave' | 'homepage';\ntype Property<N extends string, V> = { name: N; value: V };\n\ntype NamespacesProperty = Property<\n 'namespaces',\n {\n selection: 'single' | 'multiple';\n data: {\n label: string;\n id: string;\n value: Namespace;\n unsupported?: boolean;\n getSupportedChains: (chains: BlockchainMeta[]) => BlockchainMeta[];\n }[];\n }\n>;\ntype DerivationPathProperty = Property<\n 'derivationPath',\n {\n data: {\n id: string;\n label: string;\n namespace: Namespace;\n generateDerivationPath: (index: string) => string;\n }[];\n }\n>;\ntype DetailsProperty = Property<\n 'details',\n {\n mobileWallet?: boolean;\n showOnMobile?: boolean;\n isContractWallet?: boolean;\n }\n>;\ntype SignersProperty = Property<\n 'signers',\n {\n getSigners: () => Promise<SignerFactory>;\n }\n>;\n\nexport type ProviderMetadata = {\n name: string;\n icon: string;\n extensions: Partial<Record<Browsers, string>>;\n properties?: Array<\n | NamespacesProperty\n | DerivationPathProperty\n | DetailsProperty\n | SignersProperty\n >;\n};\n\nexport interface ProviderConfig {\n metadata: ProviderMetadata;\n}\n\nexport type ProviderInfo = ProviderConfig;\n\ninterface ProviderData {\n installed: boolean;\n}\n\ninterface ProviderItem {\n config: ProviderConfig;\n data: ProviderData;\n error: unknown;\n}\n\ntype ProviderState = {\n events: ConsumableEvents;\n list: Record<string, ProviderItem>;\n};\ninterface ProviderActions {\n addProvider: (id: string, config: ProviderConfig) => void;\n removeProvider: (id: string) => void;\n updateStatus: <K extends keyof ProviderData>(\n id: string,\n key: K,\n value: ProviderData[K]\n ) => void;\n\n _produceEventsWhenUpdatingStatus: <K extends keyof ProviderData>(\n provider: ProviderItem,\n id: string,\n key: K,\n value: ProviderData[K]\n ) => void;\n}\n\ninterface ProviderSelectors {\n /**\n * Provider has a limited state to itself, to be compatible with legacy, we try to produce same object as legacy\n * which includes namespace state as well.\n */\n guessNamespacesState: (id: string) => InternalProviderState;\n}\n\nexport type ProviderStore = ProviderState & ProviderActions & ProviderSelectors;\ntype ProvidersStateCreator = StateCreator<State, [], [], ProviderStore>;\n\nconst providersStore: ProvidersStateCreator = (set, get) => ({\n events: new ConsumableEvents(),\n\n list: {},\n addProvider: (id, config) => {\n const item = {\n data: {\n installed: false,\n },\n error: '',\n config,\n };\n\n set(\n produce((state: State) => {\n state.providers.list[id] = item;\n })\n );\n },\n removeProvider: (id) => {\n set(\n produce((state: State) => {\n delete state.providers.list[id];\n })\n );\n },\n updateStatus: (id, key, value) => {\n const provider = get().providers.list[id];\n if (!provider) {\n throw new Error(`No namespace namespace with '${id}' found.`);\n }\n\n get().providers._produceEventsWhenUpdatingStatus(provider, id, key, value);\n\n set(\n produce((state: State) => {\n state.providers.list[id].data[key] = value;\n })\n );\n },\n guessNamespacesState: (providerId: string): InternalProviderState => {\n return guessProviderStateSelector(get(), providerId);\n },\n\n _produceEventsWhenUpdatingStatus: (_provider, id, key, _value) => {\n if (key === 'installed') {\n const event: ProviderDetectedEvent = {\n type: 'provider_detected',\n provider: id,\n };\n\n get().providers.events.push(event);\n }\n },\n});\n\nexport { providersStore };\n", "import type { Actions, Context, Operators } from '../hub/namespaces/types.js';\nimport type { AnyFunction, FunctionWithContext } from '../types/actions.js';\n\nexport interface ActionByBuilder<T, Context> {\n actionName: keyof T;\n and: Operators<T>;\n or: Operators<T>;\n after: Operators<T>;\n before: Operators<T>;\n action: FunctionWithContext<T[keyof T], Context>;\n}\n\n/*\n * TODO:\n * Currently, to use this builder you will write something like this:\n * new ActionBuilder<EvmActions, 'disconnect'>('disconnect').after(....)\n *\n * I couldn't figure it out to be able typescript infer the constructor value as key of actions.\n * Ideal usage:\n * new ActionBuilder<EvmActions>('disconnect').after(....)\n *\n */\nexport class ActionBuilder<T extends Actions<T>, K extends keyof T> {\n readonly name: K;\n #and: Operators<T> = new Map();\n #or: Operators<T> = new Map();\n #after: Operators<T> = new Map();\n #before: Operators<T> = new Map();\n #action: FunctionWithContext<T[keyof T], Context<T>> | undefined;\n\n constructor(name: K) {\n this.name = name;\n }\n\n public and(action: FunctionWithContext<AnyFunction, Context<T>>) {\n if (!this.#and.has(this.name)) {\n this.#and.set(this.name, []);\n }\n this.#and.get(this.name)?.push(action);\n return this;\n }\n\n public or(action: FunctionWithContext<AnyFunction, Context<T>>) {\n if (!this.#or.has(this.name)) {\n this.#or.set(this.name, []);\n }\n this.#or.get(this.name)?.push(action);\n return this;\n }\n\n public before(action: FunctionWithContext<AnyFunction, Context<T>>) {\n if (!this.#before.has(this.name)) {\n this.#before.set(this.name, []);\n }\n this.#before.get(this.name)?.push(action);\n return this;\n }\n\n public after(action: FunctionWithContext<AnyFunction, Context<T>>) {\n if (!this.#after.has(this.name)) {\n this.#after.set(this.name, []);\n }\n this.#after.get(this.name)?.push(action);\n return this;\n }\n\n public action(action: FunctionWithContext<T[keyof T], Context<T>>) {\n this.#action = action;\n return this;\n }\n\n public build(): ActionByBuilder<T, Context<T>> {\n if (!this.#action) {\n throw new Error('Your action builder should includes an action.');\n }\n\n return {\n actionName: this.name,\n action: this.#action,\n before: this.#before,\n after: this.#after,\n and: this.#and,\n or: this.#or,\n };\n }\n}\n", "/*\n * It is not a good idea to re-export all of CAIP because if they have a breaking change, we will break as well.\n * It would be better to create an abstraction over them and export our own interface to ensure it is under our control.\n */\nexport * as CAIP from 'caip';\n\nexport { generateStoreId } from '../hub/helpers.js';\nexport * from './versions.js';\n", "import type {\n Actions,\n Context,\n SubscriberCleanUp,\n} from '../../../hub/namespaces/types.js';\nimport type { Subscriber } from '../../../mod.js';\nimport type { AutoImplementedActionsByRecommended } from '../types.js';\n\ntype OnSwitchAccountEvent<EventType> = {\n payload: EventType;\n preventDefault: () => void;\n};\n\nexport class ChangeAccountSubscriberBuilder<\n EventType,\n ProviderAPI,\n ActionsType extends Actions<ActionsType> &\n Actions<AutoImplementedActionsByRecommended>\n> {\n #getInstance: (() => ProviderAPI) | null = null;\n #format:\n | ((instance: ProviderAPI, event: EventType) => Promise<string[]>)\n | null = null;\n #onSwitchAccount:\n | ((\n event: OnSwitchAccountEvent<EventType>,\n context: Context<ActionsType>\n ) => void)\n | null = null;\n\n #addEventListener:\n | ((\n instance: ProviderAPI,\n callback: (event: EventType) => void\n ) => (() => void) | void)\n | null = null;\n #removeEventListener:\n | ((instance: ProviderAPI, callback: (event: EventType) => void) => void)\n | null = null;\n\n /**\n * Sets the function that provides the provider API instance.\n *\n * @param operator - Function that returns the provider API instance\n * @returns The builder instance for method chaining\n * @example\n * ```typescript\n * builder.getInstance(() => window.ethereum)\n * ```\n */\n public getInstance(operator: () => ProviderAPI) {\n this.#getInstance = operator;\n return this;\n }\n\n /**\n * Sets the formatter function that converts provider events to account strings.\n *\n * @param operator - Function that takes a provider instance and event, returns array of account strings\n * @returns The builder instance for method chaining\n * @example\n * ```typescript\n * builder.format(async (instance, event) => event.accounts || [])\n * ```\n */\n public format(\n operator: (instance: ProviderAPI, event: EventType) => Promise<string[]>\n ) {\n this.#format = operator;\n return this;\n }\n\n /**\n * Set a handler that runs whenever a **switch-account** event occurs.\n *\n * The provided operator is called with:\n * - `event`: An object containing:\n * - `payload`: The event payload associated with the account switch.\n * - `preventDefault`: A function that prevents the default switch-account\n * behavior (e.g., updating the active accounts list).\n * - `context`: The execution context of the current flow or action.\n *\n * Calling `event.preventDefault()` inside the handler cancels the built-in\n * account switching logic.\n *\n * @param operator - A function invoked on each switch-account event.\n * It receives `(event, context)` and can call `event.preventDefault()` to\n * stop the default behavior.\n *\n * @returns The builder instance for method chaining.\n *\n * @example\n * ```ts\n * builder.onSwitchAccount((event, context) => {\n * if (!event.payload.userConfirmed) {\n * event.preventDefault(); // cancel default account switch\n * }\n *\n * console.log(\"Switching account:\", event.payload.accountId);\n * });\n * ```\n */\n public onSwitchAccount(\n operator: (\n event: OnSwitchAccountEvent<EventType>,\n context: Context<ActionsType>\n ) => void\n ) {\n this.#onSwitchAccount = operator;\n return this;\n }\n\n /**\n * Sets the event listener attachment function.\n *\n * @param operator - Function that attaches an event listener and optionally returns a cleanup function\n * @returns The builder instance for method chaining\n * @example\n * ```typescript\n * builder.addEventListener((instance, callback) => {\n * return instance.on('accountsChanged', callback);\n * })\n * ```\n */\n public addEventListener(\n operator: (\n instance: ProviderAPI,\n callback: (event: EventType) => void\n ) => (() => void) | void\n ) {\n this.#addEventListener = operator;\n return this;\n }\n\n /**\n * Sets the event listener removal function.\n *\n * @param operator - Function that removes an event listener from the provider\n * @returns The builder instance for method chaining\n * @example\n * ```typescript\n * builder.removeEventListener((instance, callback) => instance.off('accountsChanged', callback))\n * ```\n */\n public removeEventListener(\n operator: (\n instance: ProviderAPI,\n callback: (event: EventType) => void\n ) => void\n ) {\n this.#removeEventListener = operator;\n return this;\n }\n public build(): [Subscriber<ActionsType>, SubscriberCleanUp<ActionsType>] {\n if (this.#getInstance === null) {\n throw new Error(this.#getErrorMessage('getInstance'));\n }\n if (this.#format === null) {\n throw new Error(this.#getErrorMessage('format'));\n }\n if (this.#addEventListener === null) {\n throw new Error(this.#getErrorMessage('addEventListener'));\n }\n if (this.#removeEventListener === null) {\n throw new Error(this.#getErrorMessage('removeEventListener'));\n }\n\n /**\n * Capture current operator state at build time to ensure immutability.\n *\n * This creates a snapshot of all operators, preventing the built subscriber\n * from being affected by subsequent changes to the builder instance.\n * Each call to build() gets its own isolated set of operators, allowing\n * the builder to be reused for creating multiple independent subscribers.\n */\n const getInstance = this.#getInstance;\n const format = this.#format;\n const addEventListener = this.#addEventListener;\n const removeEventListener = this.#removeEventListener;\n const onSwitchAccount = this.#onSwitchAccount;\n\n let subscriber: (event: EventType) => void;\n let unsubscribe: (() => void) | void;\n return [\n async (context) => {\n const [, setState] = context.state();\n const instance = getInstance();\n\n if (!instance) {\n throw new Error(\n 'Trying to subscribe to your wallet, but seems its instance is not available.'\n );\n }\n subscriber = async (event) => {\n let shouldProceedWithDefault = true;\n onSwitchAccount?.(\n {\n payload: event,\n preventDefault: () => {\n shouldProceedWithDefault = false;\n },\n },\n context\n );\n if (!shouldProceedWithDefault) {\n return;\n }\n setState('accounts', await format(instance, event));\n };\n unsubscribe = addEventListener(instance, subscriber);\n },\n (_, err) => {\n /**\n * Call the cleanup function if addEventListener returned one.\n * This handles providers that return an unsubscribe function from their event listeners.\n */\n if (unsubscribe && typeof unsubscribe === 'function') {\n unsubscribe();\n }\n const instance = getInstance();\n\n /**\n * Always call removeEventListener as well to handle the on/off pattern.\n * This ensures cleanup works regardless of which pattern the provider uses.\n */\n removeEventListener(instance, subscriber);\n\n // subscriber can be passed to `or`, it will get the error and should rethrow error to pass the error to next `or` or throw error.\n return err;\n },\n ];\n }\n #getErrorMessage(operatorName: string) {\n return `Required \"${operatorName}\" operation has not been set for \"changeAccountSubscriber\"`;\n }\n}\n", "import { AccountId } from 'caip';\n\nexport function isValidCaipAddress(address: string): boolean {\n try {\n AccountId.parse(address);\n return true;\n } catch {\n return false;\n }\n}\n", "import type {\n Accounts,\n AccountsWithActiveChain,\n} from './../../types/accounts.js';\nimport type { Context } from '../../hub/namespaces/mod.js';\n\nimport { isValidCaipAddress } from './helpers.js';\n\nexport function connectAndUpdateStateForSingleNetwork(\n context: Context,\n accounts: Accounts\n) {\n if (!accounts.every(isValidCaipAddress)) {\n throw new Error(\n `Your provider should format account addresses in CAIP-10 format. Your provided accounts: ${accounts}`\n );\n }\n\n const [, setState] = context.state();\n setState('accounts', accounts);\n setState('connected', true);\n return accounts;\n}\n\nexport function connectAndUpdateStateForMultiNetworks(\n context: Context,\n accounts: AccountsWithActiveChain\n) {\n if (!accounts.accounts.every(isValidCaipAddress)) {\n throw new Error(\n `Your provider should format account addresses in CAIP-10 format. Your provided accounts: ${accounts.accounts}`\n );\n }\n\n const [, setState] = context.state();\n setState('accounts', accounts.accounts);\n setState('network', accounts.network);\n setState('connected', true);\n return accounts;\n}\n\nexport const recommended = [];\n", "import type { Context } from '../../hub/namespaces/mod.js';\n\nexport function intoConnecting(context: Context) {\n const [, setState] = context.state();\n setState('connecting', true);\n}\n\n// Please consider if you are going to add something here, make sure it works on all namespaces.\nexport const recommended = [['connect', intoConnecting] as const];\n", "import { beforeRecommended } from '../common/mod.js';\n\nexport const recommended = [...beforeRecommended];\n", "import type { EvmActions, ProviderAPI } from './types.js';\n\nimport { ActionBuilder } from '../../mod.js';\nimport { ChangeAccountSubscriberBuilder } from '../common/hooks/changeAccountSubscriber.js';\nimport {\n connectAndUpdateStateForMultiNetworks,\n intoConnecting,\n intoConnectionFinished,\n} from '../common/mod.js';\n\nimport { formatAccountsToCAIP } from './utils.js';\n\n// Actions\nexport const connect = () =>\n new ActionBuilder<EvmActions, 'connect'>('connect')\n .and(connectAndUpdateStateForMultiNetworks)\n .before(intoConnecting)\n .after(intoConnectionFinished);\n\nexport const canEagerConnect = () =>\n new ActionBuilder<EvmActions, 'canEagerConnect'>('canEagerConnect');\nexport const canSwitchNetwork = () =>\n new ActionBuilder<EvmActions, 'canSwitchNetwork'>('canSwitchNetwork');\n\n// Hooks\nexport const changeAccountSubscriber = (getInstance: () => ProviderAPI) =>\n new ChangeAccountSubscriberBuilder<string[], ProviderAPI, EvmActions>()\n .getInstance(getInstance)\n /*\n * In some wallets, when a user switches to an account not yet connected to the dApp, it returns null.\n * A null value indicates no access to the account, requiring a disconnect and user reconnection.\n * This behavior may vary across different wallets, and if so, a different approach may be needed.\n */\n .onSwitchAccount((event, context) => {\n if (!event.payload || !event.payload.length) {\n context.action('disconnect');\n event.preventDefault();\n }\n })\n .format(async (instance, accounts) => {\n const chainId = await instance.request({ method: 'eth_chainId' });\n return formatAccountsToCAIP(accounts, chainId);\n })\n .addEventListener((instance, callback) => {\n instance.on('accountsChanged', callback);\n })\n .removeEventListener((instance, callback) => {\n instance.removeListener?.('accountsChanged', callback);\n });\n\nexport const getChainId = () =>\n new ActionBuilder<EvmActions, 'getChainId'>('getChainId');\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type {\n ConnectOptions,\n EvmActions,\n ProviderAccounts,\n ProviderAPI,\n} from './types.js';\nimport type { Context } from '../../hub/namespaces/mod.js';\nimport type { CanEagerConnect } from '../../hub/namespaces/types.js';\nimport type { FunctionWithContext } from '../../types/actions.js';\n\nimport { recommended as commonRecommended } from '../common/actions.js';\n\nimport {\n filterAndGetEvmBlockchainNames,\n formatAccountsToCAIP,\n getAccounts,\n switchOrAddNetwork,\n} from './utils.js';\n\nexport const recommended = [...commonRecommended];\nexport function connect(\n instance: () => ProviderAPI,\n options?: ConnectOptions\n): FunctionWithContext<EvmActions['connect'], Context> {\n return async (context, chain) => {\n // Setting connect args to be used on other actions\n const [, setState] = context.state();\n setState('connectArgs', { chain });\n const evmInstance = instance();\n\n if (!evmInstance) {\n throw new Error(\n 'Do your wallet injected correctly and is evm compatible?'\n );\n }\n\n if (chain) {\n /*\n * The `switchOrAddNetwork` function can be optionally provided through `options`\n * to handle network switching or addition in a way that is compatible with the specific wallet provider.\n * This approach is necessary because not all providers follow the same conventions\u2014\n * for example, Rabby uses a different error code for \"chain not found\".\n */\n if (options?.switchOrAddNetwork) {\n await options.switchOrAddNetwork(evmInstance, chain);\n } else {\n await switchOrAddNetwork(evmInstance, chain);\n }\n }\n\n let providerAccounts: ProviderAccounts;\n /*\n * The `getAccounts` function can be optionally provided through `options`\n * to handle getting address and chainId of the specific wallet provider.\n * This approach is necessary because not all providers follow the same conventions.\n */\n if (options?.getAccounts) {\n providerAccounts = await options.getAccounts(evmInstance);\n } else {\n providerAccounts = await getAccounts(evmInstance);\n }\n\n /*\n * Ensure that the provider returns at least one valid account before proceeding.\n * This prevents cases (e.g., MetaMask bug) where a user connects with an account\n * that has no associated EVM address, leaving the dApp without any usable accounts.\n */\n if (!providerAccounts.accounts || !providerAccounts.accounts.length) {\n throw new Error(\n 'No accounts were returned by the provider. Please make sure your wallet has an active EVM-compatible account selected.'\n );\n }\n const formattedAccounts = formatAccountsToCAIP(\n providerAccounts.accounts,\n providerAccounts.chainId\n );\n\n return {\n accounts: formattedAccounts,\n network: providerAccounts.chainId,\n };\n };\n}\n\nexport function canEagerConnect(\n instance: () => ProviderAPI | undefined\n): CanEagerConnect<EvmActions> {\n return async () => {\n const evmInstance = instance();\n\n if (!evmInstance) {\n throw new Error(\n 'Trying to eagerly connect to your EVM wallet, but seems its instance is not available.'\n );\n }\n\n try {\n const accounts: string[] = await evmInstance.request({\n method: 'eth_accounts',\n });\n if (accounts.length) {\n return true;\n }\n return false;\n } catch {\n return false;\n }\n };\n}\nexport function canSwitchNetwork(): FunctionWithContext<\n EvmActions['canSwitchNetwork'],\n Context\n> {\n return (context, params) => {\n const { network, supportedChains } = params;\n return filterAndGetEvmBlockchainNames(supportedChains).includes(network);\n };\n}\n\nexport function getChainId(\n instance: () => ProviderAPI | undefined\n): FunctionWithContext<EvmActions['getChainId'], Context> {\n return async () => {\n const evmInstance = instance();\n\n if (!evmInstance) {\n throw new Error(\n 'Trying to get chain id from your EVM wallet, but instance is not available.'\n );\n }\n\n return evmInstance.request({ method: 'eth_chainId' });\n };\n}\n", "import type { Context } from '../../hub/namespaces/mod.js';\n\nexport function disconnect(context: Context): void {\n const [, setState] = context.state();\n setState('network', null);\n setState('accounts', null);\n setState('connected', false);\n setState('connecting', false);\n setState('connectArgs', null);\n}\n\nexport const recommended = [['disconnect', disconnect] as const];\n", "import type { Chain, ChainId, ProviderAPI } from './types.js';\nimport type { CaipAccount } from '../../types/accounts.js';\n\nimport { AccountId } from 'caip';\nimport { type BlockchainMeta, evmBlockchains } from 'rango-types';\n\nimport { CAIP_NAMESPACE } from './constants.js';\n\nconst CHAIN_ID_RADIX = 16;\n\nexport async function getAccounts(provider: ProviderAPI) {\n const [accounts, chainId] = await Promise.all([\n provider.request({ method: 'eth_requestAccounts' }),\n provider.request({ method: 'eth_chainId' }),\n ]);\n /*\n * Trust Wallet Compatibility Fix:\n * Trust Wallet's in-app browser has been observed to return the `chainId` as a\n * number (e.g., 1) rather than the standard hexadecimal string (e.g., \"0x1\").\n * This code block standardizes the `chainId` to the required hex format to\n * prevent downstream errors.\n */\n let standardChainId = chainId;\n if (typeof standardChainId === 'number') {\n standardChainId = `0x${Number(chainId).toString(CHAIN_ID_RADIX)}`;\n }\n\n return {\n accounts,\n chainId: standardChainId,\n };\n}\n\nexport async function suggestNetwork(instance: ProviderAPI, chain: Chain) {\n return await instance.request({\n method: 'wallet_addEthereumChain',\n params: [chain],\n });\n}\n\nexport async function switchNetwork(instance: ProviderAPI, chainId: ChainId) {\n return await instance.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: chainId }],\n });\n}\nexport function filterAndGetEvmBlockchainNames(meta: BlockchainMeta[]) {\n return evmBlockchains(meta).map((blockchain) => blockchain.name);\n}\nexport async function switchOrAddNetwork(\n instance: ProviderAPI,\n chain: ChainId | Chain\n) {\n try {\n const chainId = typeof chain === 'string' ? chain : chain.chainId;\n await switchNetwork(instance, chainId);\n } catch (switchError) {\n const error = switchError as { code: number };\n\n /*\n * Error code 4902 is used by MetaMask to indicate that the requested chain has not been added to the wallet.\n * This code is not part of the official EIP-1193 spec (https://eips.ethereum.org/EIPS/eip-1193#supported-rpc-methods),\n * so other providers may use a different code or behavior for the same condition.\n */\n const NOT_FOUND_CHAIN_ERROR_CODE = 4902;\n if (\n typeof chain !== 'string' &&\n (error.code === NOT_FOUND_CHAIN_ERROR_CODE || !error.code)\n ) {\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 suggestNetwork(instance, chain);\n return;\n }\n throw switchError;\n }\n}\n\nconst EIP_1193_USER_REJECTION_ERROR_CODE = 4001;\nexport function isUserRejectionError(error: unknown): boolean {\n // EIP-1193 user rejection error can be in error.code or error.cause.code\n if (typeof error === 'object' && error !== null) {\n const code = (error as { code?: number }).code;\n const causeCode = (error as { cause?: { code?: number } }).cause?.code;\n return (\n code === EIP_1193_USER_REJECTION_ERROR_CODE ||\n causeCode === EIP_1193_USER_REJECTION_ERROR_CODE\n );\n }\n return false;\n}\n\nexport function formatAccountsToCAIP(accounts: string[], chainId: string) {\n return accounts.map(\n (account) =>\n AccountId.format({\n address: account,\n chainId: {\n namespace: CAIP_NAMESPACE,\n reference: chainId,\n },\n }) as CaipAccount\n );\n}\n", "export const CAIP_NAMESPACE = 'eip155';\nexport const CAIP_ETHEREUM_CHAIN_ID = '1';\n", "import type { EIP1193EventMap } from './eip1193.js';\nimport type { EvmActions, ProviderAPI } from './types.js';\nimport type { Subscriber, SubscriberCleanUp } from '../../mod.js';\n\nimport { builders } from './mod.js';\n\nexport function changeAccountSubscriber(\n instance: () => ProviderAPI\n): [Subscriber<EvmActions>, SubscriberCleanUp<EvmActions>] {\n return builders.changeAccountSubscriber(instance).build();\n}\n\nexport function changeChainSubscriber(\n instance: () => ProviderAPI\n): [Subscriber<EvmActions>, SubscriberCleanUp<EvmActions>] {\n let eventCallback: EIP1193EventMap['chainChanged'];\n\n return [\n (context) => {\n const evmInstance = instance();\n\n if (!evmInstance) {\n throw new Error(\n 'Trying to subscribe to your EVM wallet, but seems its instance is not available.'\n );\n }\n\n const [, setState] = context.state();\n\n eventCallback = async (chainId: string) => {\n setState('network', chainId);\n };\n evmInstance.on('chainChanged', eventCallback);\n },\n () => {\n const evmInstance = instance();\n\n if (eventCallback && evmInstance) {\n evmInstance.removeListener('chainChanged', eventCallback);\n }\n },\n ];\n}\n", "import { recommended as commonRecommended } from '../common/after.js';\n\nexport const recommended = [...commonRecommended];\n", "import type { Context } from '../../hub/namespaces/mod.js';\n\nexport function intoConnectionFinished(context: Context) {\n const [, setState] = context.state();\n setState('connecting', false);\n}\n\nexport const recommended = [['connect', intoConnectionFinished] as const];\n", "import { connectAndUpdateStateForMultiNetworks } from '../common/mod.js';\n\nexport const recommended = [\n ['connect', connectAndUpdateStateForMultiNetworks] as const,\n];\n", "import type { StoreApi } from 'zustand/vanilla';\n\nimport { createStore as createZustandStore } from 'zustand/vanilla';\n\nimport { extend, type Store } from './extend.js';\nimport { hubStore, type HubStore } from './hub.js';\nimport { namespacesStore, type NamespaceStore } from './namespaces.js';\nimport { providersStore, type ProviderStore } from './providers.js';\n\n/************ State ************/\n\nexport interface State {\n hub: HubStore;\n providers: ProviderStore;\n namespaces: NamespaceStore;\n}\n\nexport type RawStore = StoreApi<State>;\n\nexport const createStore = (): Store => {\n const store = createZustandStore<State>((...api) => {\n return {\n hub: hubStore(...api),\n providers: providersStore(...api),\n namespaces: namespacesStore(...api),\n };\n });\n\n return extend(store);\n};\n", "/************ Namespace ************/\n\nimport type { StateCreator } from 'zustand';\n\nimport { produce } from 'immer';\n\nimport {\n ConsumableEvents,\n type NamespaceConnectedEvent,\n type NamespaceDisconnectedEvent,\n type NamespaceSwitchedAccountEvent,\n type NamespaceSwitchedNetworkEvent,\n} from './events.js';\nimport { namespaceStateSelector, type State } from './mod.js';\n\n// Currently, namespace doesn't has any config.\nexport type NamespaceConfig = object;\n\nexport interface NamespaceData {\n accounts: null | string[];\n network: null | string;\n connected: boolean;\n connecting: boolean;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n connectArgs: Record<string, any> | null;\n}\n\ninterface NamespaceInfo {\n providerId: string;\n namespaceId: string;\n}\n\ninterface NamespaceItem {\n info: NamespaceInfo;\n data: NamespaceData;\n error: unknown;\n}\n\ntype NamespaceState = {\n events: InstanceType<typeof ConsumableEvents>;\n list: Record<string, NamespaceItem>;\n};\n\ninterface NamespaceActions {\n addNamespace: (id: string, config: NamespaceInfo) => void;\n updateStatus: <K extends keyof NamespaceData>(\n id: string,\n key: K,\n value: NamespaceData[K]\n ) => void;\n\n _produceEventsWhenUpdatingStatus: <K extends keyof NamespaceData>(\n namespace: NamespaceItem,\n id: string,\n key: K,\n value: NamespaceData[K]\n ) => void;\n}\ninterface NamespaceSelectors {\n getNamespaceData(storeId: string): NamespaceData;\n}\n\nexport type NamespaceStore = NamespaceState &\n NamespaceActions &\n NamespaceSelectors;\ntype NamespaceStateCreator = StateCreator<State, [], [], NamespaceStore>;\n\nconst namespacesStore: NamespaceStateCreator = (set, get) => ({\n events: new ConsumableEvents(),\n\n list: {},\n addNamespace: (id, info) => {\n const data: NamespaceData = {\n accounts: null,\n network: null,\n connected: false,\n connecting: false,\n connectArgs: null,\n };\n\n const item = {\n data,\n error: '',\n info,\n };\n\n set(\n produce((state: State) => {\n state.namespaces.list[id] = item;\n })\n );\n },\n updateStatus: (id, key, value) => {\n const ns = get().namespaces.list[id];\n if (!ns) {\n throw new Error(`No namespace with '${id}' found.`);\n }\n\n get().namespaces._produceEventsWhenUpdatingStatus(ns, id, key, value);\n\n // Updating state\n set(\n produce((state: State) => {\n state.namespaces.list[id].data[key] = value;\n })\n );\n },\n getNamespaceData(storeId) {\n return namespaceStateSelector(get(), storeId);\n },\n\n _produceEventsWhenUpdatingStatus: (namespace, id, key, value) => {\n if (key === 'accounts') {\n // check for both null and empty array\n const isAccountsEmpty =\n Object.is(value, null) || (Array.isArray(value) && value.length === 0);\n\n if (isAccountsEmpty) {\n const currentConnectedStatus = get().namespaces.list[id].data.connected;\n if (currentConnectedStatus) {\n const event: NamespaceDisconnectedEvent = {\n type: 'namespace_disconnected',\n provider: namespace.info.providerId,\n namespace: namespace.info.namespaceId,\n };\n\n get().namespaces.events.push(event);\n }\n // Skip emitting disconnect event, if the `connected` is false\n } else {\n const currentAccounts = get().namespaces.list[id].data.accounts;\n\n if (!currentAccounts) {\n const event: NamespaceConnectedEvent = {\n type: 'namespace_connected',\n provider: namespace.info.providerId,\n namespace: namespace.info.namespaceId,\n accounts: value as string[],\n };\n\n get().namespaces.events.push(event);\n } else {\n const areSameAccounts =\n // Clone the object from the Zustand store, as it's immutable, to avoid errors during sorting.\n [...currentAccounts].sort().toString() ===\n (value as string[]).sort().toString();\n\n if (!areSameAccounts) {\n const event: NamespaceSwitchedAccountEvent = {\n type: 'namespace_account_switched',\n provider: namespace.info.providerId,\n namespace: namespace.info.namespaceId,\n previousAccounts: currentAccounts,\n accounts: value as string[],\n };\n\n get().namespaces.events.push(event);\n }\n }\n }\n } else if (key === 'network') {\n const currentNetwork = get().namespaces.list[id].data.network;\n\n const event: NamespaceSwitchedNetworkEvent = {\n type: 'namespace_network_switched',\n provider: namespace.info.providerId,\n namespace: namespace.info.namespaceId,\n network: value as string,\n previousNetwork: currentNetwork,\n };\n\n get().namespaces.events.push(event);\n }\n },\n});\n\nexport { namespacesStore };\n", "import type { Namespace } from '../../namespaces/common/types.js';\nimport type { State as InternalProviderState } from '../provider/mod.js';\nimport type { BlockchainMeta, SignerFactory } from 'rango-types';\nimport type { StateCreator } from 'zustand';\n\nimport { produce } from 'immer';\n\nimport { ConsumableEvents, type ProviderDetectedEvent } from './events.js';\nimport { guessProviderStateSelector, type State } from './mod.js';\n\ntype Browsers = 'firefox' | 'chrome' | 'edge' | 'brave' | 'homepage';\ntype Property<N extends string, V> = { name: N; value: V };\n\ntype NamespacesProperty = Property<\n 'namespaces',\n {\n selection: 'single' | 'multiple';\n data: {\n label: string;\n id: string;\n value: Namespace;\n unsupported?: boolean;\n getSupportedChains: (chains: BlockchainMeta[]) => BlockchainMeta[];\n }[];\n }\n>;\ntype DerivationPathProperty = Property<\n 'derivationPath',\n {\n data: {\n id: string;\n label: string;\n namespace: Namespace;\n generateDerivationPath: (index: string) => string;\n }[];\n }\n>;\ntype DetailsProperty = Property<\n 'details',\n {\n mobileWallet?: boolean;\n showOnMobile?: boolean;\n isContractWallet?: boolean;\n }\n>;\ntype SignersProperty = Property<\n 'signers',\n {\n getSigners: () => Promise<SignerFactory>;\n }\n>;\n\nexport type ProviderMetadata = {\n name: string;\n icon: string;\n extensions: Partial<Record<Browsers, string>>;\n properties?: Array<\n | NamespacesProperty\n | DerivationPathProperty\n | DetailsProperty\n | SignersProperty\n >;\n};\n\nexport interface ProviderConfig {\n metadata: ProviderMetadata;\n}\n\nexport type ProviderInfo = ProviderConfig;\n\ninterface ProviderData {\n installed: boolean;\n}\n\ninterface ProviderItem {\n config: ProviderConfig;\n data: ProviderData;\n error: unknown;\n}\n\ntype ProviderState = {\n events: ConsumableEvents;\n list: Record<string, ProviderItem>;\n};\ninterface ProviderActions {\n addProvider: (id: string, config: ProviderConfig) => void;\n removeProvider: (id: string) => void;\n updateStatus: <K extends keyof ProviderData>(\n id: string,\n key: K,\n value: ProviderData[K]\n ) => void;\n\n _produceEventsWhenUpdatingStatus: <K extends keyof ProviderData>(\n provider: ProviderItem,\n id: string,\n key: K,\n value: ProviderData[K]\n ) => void;\n}\n\ninterface ProviderSelectors {\n /**\n * Provider has a limited state to itself, to be compatible with legacy, we try to produce same object as legacy\n * which includes namespace state as well.\n */\n guessNamespacesState: (id: string) => InternalProviderState;\n}\n\nexport type ProviderStore = ProviderState & ProviderActions & ProviderSelectors;\ntype ProvidersStateCreator = StateCreator<State, [], [], ProviderStore>;\n\nconst providersStore: ProvidersStateCreator = (set, get) => ({\n events: new ConsumableEvents(),\n\n list: {},\n addProvider: (id, config) => {\n const item = {\n data: {\n installed: false,\n },\n error: '',\n config,\n };\n\n set(\n produce((state: State) => {\n state.providers.list[id] = item;\n })\n );\n },\n removeProvider: (id) => {\n set(\n produce((state: State) => {\n delete state.providers.list[id];\n })\n );\n },\n updateStatus: (id, key, value) => {\n const provider = get().providers.list[id];\n if (!provider) {\n throw new Error(`No namespace namespace with '${id}' found.`);\n }\n\n get().providers._produceEventsWhenUpdatingStatus(provider, id, key, value);\n\n set(\n produce((state: State) => {\n state.providers.list[id].data[key] = value;\n })\n );\n },\n guessNamespacesState: (providerId: string): InternalProviderState => {\n return guessProviderStateSelector(get(), providerId);\n },\n\n _produceEventsWhenUpdatingStatus: (_provider, id, key, _value) => {\n if (key === 'installed') {\n const event: ProviderDetectedEvent = {\n type: 'provider_detected',\n provider: id,\n };\n\n get().providers.events.push(event);\n }\n },\n});\n\nexport { providersStore };\n", "import type { Actions, Context, Operators } from '../hub/namespaces/types.js';\nimport type { AnyFunction, FunctionWithContext } from '../types/actions.js';\n\nexport interface ActionByBuilder<T, Context> {\n actionName: keyof T;\n and: Operators<T>;\n or: Operators<T>;\n after: Operators<T>;\n before: Operators<T>;\n action: FunctionWithContext<T[keyof T], Context>;\n}\n\n/*\n * TODO:\n * Currently, to use this builder you will write something like this:\n * new ActionBuilder<EvmActions, 'disconnect'>('disconnect').after(....)\n *\n * I couldn't figure it out to be able typescript infer the constructor value as key of actions.\n * Ideal usage:\n * new ActionBuilder<EvmActions>('disconnect').after(....)\n *\n */\nexport class ActionBuilder<T extends Actions<T>, K extends keyof T> {\n readonly name: K;\n #and: Operators<T> = new Map();\n #or: Operators<T> = new Map();\n #after: Operators<T> = new Map();\n #before: Operators<T> = new Map();\n #action: FunctionWithContext<T[keyof T], Context<T>> | undefined;\n\n constructor(name: K) {\n this.name = name;\n }\n\n public and(action: FunctionWithContext<AnyFunction, Context<T>>) {\n if (!this.#and.has(this.name)) {\n this.#and.set(this.name, []);\n }\n this.#and.get(this.name)?.push(action);\n return this;\n }\n\n public or(action: FunctionWithContext<AnyFunction, Context<T>>) {\n if (!this.#or.has(this.name)) {\n this.#or.set(this.name, []);\n }\n this.#or.get(this.name)?.push(action);\n return this;\n }\n\n public before(action: FunctionWithContext<AnyFunction, Context<T>>) {\n if (!this.#before.has(this.name)) {\n this.#before.set(this.name, []);\n }\n this.#before.get(this.name)?.push(action);\n return this;\n }\n\n public after(action: FunctionWithContext<AnyFunction, Context<T>>) {\n if (!this.#after.has(this.name)) {\n this.#after.set(this.name, []);\n }\n this.#after.get(this.name)?.push(action);\n return this;\n }\n\n public action(action: FunctionWithContext<T[keyof T], Context<T>>) {\n this.#action = action;\n return this;\n }\n\n public build(): ActionByBuilder<T, Context<T>> {\n if (!this.#action) {\n throw new Error('Your action builder should includes an action.');\n }\n\n return {\n actionName: this.name,\n action: this.#action,\n before: this.#before,\n after: this.#after,\n and: this.#and,\n or: this.#or,\n };\n }\n}\n", "/*\n * It is not a good idea to re-export all of CAIP because if they have a breaking change, we will break as well.\n * It would be better to create an abstraction over them and export our own interface to ensure it is under our control.\n */\nexport * as CAIP from 'caip';\n\nexport { generateStoreId } from '../hub/helpers.js';\nexport * from './versions.js';\n", "import type {\n Actions,\n Context,\n SubscriberCleanUp,\n} from '../../../hub/namespaces/types.js';\nimport type { Subscriber } from '../../../mod.js';\nimport type { AutoImplementedActionsByRecommended } from '../types.js';\n\ntype OnSwitchAccountEvent<EventType> = {\n payload: EventType;\n preventDefault: () => void;\n};\n\nexport class ChangeAccountSubscriberBuilder<\n EventType,\n ProviderAPI,\n ActionsType extends Actions<ActionsType> &\n Actions<AutoImplementedActionsByRecommended>\n> {\n #getInstance: (() => ProviderAPI) | null = null;\n #format:\n | ((instance: ProviderAPI, event: EventType) => Promise<string[]>)\n | null = null;\n #onSwitchAccount:\n | ((\n event: OnSwitchAccountEvent<EventType>,\n context: Context<ActionsType>\n ) => void)\n | null = null;\n\n #addEventListener:\n | ((\n instance: ProviderAPI,\n callback: (event: EventType) => void\n ) => (() => void) | void)\n | null = null;\n #removeEventListener:\n | ((instance: ProviderAPI, callback: (event: EventType) => void) => void)\n | null = null;\n\n /**\n * Sets the function that provides the provider API instance.\n *\n * @param operator - Function that returns the provider API instance\n * @returns The builder instance for method chaining\n * @example\n * ```typescript\n * builder.getInstance(() => window.ethereum)\n * ```\n */\n public getInstance(operator: () => ProviderAPI) {\n this.#getInstance = operator;\n return this;\n }\n\n /**\n * Sets the formatter function that converts provider events to account strings.\n *\n * @param operator - Function that takes a provider instance and event, returns array of account strings\n * @returns The builder instance for method chaining\n * @example\n * ```typescript\n * builder.format(async (instance, event) => event.accounts || [])\n * ```\n */\n public format(\n operator: (instance: ProviderAPI, event: EventType) => Promise<string[]>\n ) {\n this.#format = operator;\n return this;\n }\n\n /**\n * Set a handler that runs whenever a **switch-account** event occurs.\n *\n * The provided operator is called with:\n * - `event`: An object containing:\n * - `payload`: The event payload associated with the account switch.\n * - `preventDefault`: A function that prevents the default switch-account\n * behavior (e.g., updating the active accounts list).\n * - `context`: The execution context of the current flow or action.\n *\n * Calling `event.preventDefault()` inside the handler cancels the built-in\n * account switching logic.\n *\n * @param operator - A function invoked on each switch-account event.\n * It receives `(event, context)` and can call `event.preventDefault()` to\n * stop the default behavior.\n *\n * @returns The builder instance for method chaining.\n *\n * @example\n * ```ts\n * builder.onSwitchAccount((event, context) => {\n * if (!event.payload.userConfirmed) {\n * event.preventDefault(); // cancel default account switch\n * }\n *\n * console.log(\"Switching account:\", event.payload.accountId);\n * });\n * ```\n */\n public onSwitchAccount(\n operator: (\n event: OnSwitchAccountEvent<EventType>,\n context: Context<ActionsType>\n ) => void\n ) {\n this.#onSwitchAccount = operator;\n return this;\n }\n\n /**\n * Sets the event listener attachment function.\n *\n * @param operator - Function that attaches an event listener and optionally returns a cleanup function\n * @returns The builder instance for method chaining\n * @example\n * ```typescript\n * builder.addEventListener((instance, callback) => {\n * return instance.on('accountsChanged', callback);\n * })\n * ```\n */\n public addEventListener(\n operator: (\n instance: ProviderAPI,\n callback: (event: EventType) => void\n ) => (() => void) | void\n ) {\n this.#addEventListener = operator;\n return this;\n }\n\n /**\n * Sets the event listener removal function.\n *\n * @param operator - Function that removes an event listener from the provider\n * @returns The builder instance for method chaining\n * @example\n * ```typescript\n * builder.removeEventListener((instance, callback) => instance.off('accountsChanged', callback))\n * ```\n */\n public removeEventListener(\n operator: (\n instance: ProviderAPI,\n callback: (event: EventType) => void\n ) => void\n ) {\n this.#removeEventListener = operator;\n return this;\n }\n public build(): [Subscriber<ActionsType>, SubscriberCleanUp<ActionsType>] {\n if (this.#getInstance === null) {\n throw new Error(this.#getErrorMessage('getInstance'));\n }\n if (this.#format === null) {\n throw new Error(this.#getErrorMessage('format'));\n }\n if (this.#addEventListener === null) {\n throw new Error(this.#getErrorMessage('addEventListener'));\n }\n if (this.#removeEventListener === null) {\n throw new Error(this.#getErrorMessage('removeEventListener'));\n }\n\n /**\n * Capture current operator state at build time to ensure immutability.\n *\n * This creates a snapshot of all operators, preventing the built subscriber\n * from being affected by subsequent changes to the builder instance.\n * Each call to build() gets its own isolated set of operators, allowing\n * the builder to be reused for creating multiple independent subscribers.\n */\n const getInstance = this.#getInstance;\n const format = this.#format;\n const addEventListener = this.#addEventListener;\n const removeEventListener = this.#removeEventListener;\n const onSwitchAccount = this.#onSwitchAccount;\n\n let subscriber: (event: EventType) => void;\n let unsubscribe: (() => void) | void;\n return [\n async (context) => {\n const [, setState] = context.state();\n const instance = getInstance();\n\n if (!instance) {\n throw new Error(\n 'Trying to subscribe to your wallet, but seems its instance is not available.'\n );\n }\n subscriber = async (event) => {\n let shouldProceedWithDefault = true;\n onSwitchAccount?.(\n {\n payload: event,\n preventDefault: () => {\n shouldProceedWithDefault = false;\n },\n },\n context\n );\n if (!shouldProceedWithDefault) {\n return;\n }\n setState('accounts', await format(instance, event));\n };\n unsubscribe = addEventListener(instance, subscriber);\n },\n (_, err) => {\n /**\n * Call the cleanup function if addEventListener returned one.\n * This handles providers that return an unsubscribe function from their event listeners.\n */\n if (unsubscribe && typeof unsubscribe === 'function') {\n unsubscribe();\n }\n const instance = getInstance();\n\n /**\n * Always call removeEventListener as well to handle the on/off pattern.\n * This ensures cleanup works regardless of which pattern the provider uses.\n */\n removeEventListener(instance, subscriber);\n\n // subscriber can be passed to `or`, it will get the error and should rethrow error to pass the error to next `or` or throw error.\n return err;\n },\n ];\n }\n #getErrorMessage(operatorName: string) {\n return `Required \"${operatorName}\" operation has not been set for \"changeAccountSubscriber\"`;\n }\n}\n", "import { AccountId } from 'caip';\n\nexport function isValidCaipAddress(address: string): boolean {\n try {\n AccountId.parse(address);\n return true;\n } catch {\n return false;\n }\n}\n", "import type {\n Accounts,\n AccountsWithActiveChain,\n} from './../../types/accounts.js';\nimport type { Context } from '../../hub/namespaces/mod.js';\n\nimport { isValidCaipAddress } from './helpers.js';\n\nexport function connectAndUpdateStateForSingleNetwork(\n context: Context,\n accounts: Accounts\n) {\n if (!accounts.every(isValidCaipAddress)) {\n throw new Error(\n `Your provider should format account addresses in CAIP-10 format. Your provided accounts: ${accounts}`\n );\n }\n\n const [, setState] = context.state();\n setState('accounts', accounts);\n setState('connected', true);\n return accounts;\n}\n\nexport function connectAndUpdateStateForMultiNetworks(\n context: Context,\n accounts: AccountsWithActiveChain\n) {\n if (!accounts.accounts.every(isValidCaipAddress)) {\n throw new Error(\n `Your provider should format account addresses in CAIP-10 format. Your provided accounts: ${accounts.accounts}`\n );\n }\n\n const [, setState] = context.state();\n setState('accounts', accounts.accounts);\n setState('network', accounts.network);\n setState('connected', true);\n return accounts;\n}\n\nexport const recommended = [];\n", "import type { Context } from '../../hub/namespaces/mod.js';\n\nexport function intoConnecting(context: Context) {\n const [, setState] = context.state();\n setState('connecting', true);\n}\n\n// Please consider if you are going to add something here, make sure it works on all namespaces.\nexport const recommended = [['connect', intoConnecting] as const];\n", "import { beforeRecommended } from '../common/mod.js';\n\nexport const recommended = [...beforeRecommended];\n", "import type { EvmActions, ProviderAPI } from './types.js';\n\nimport { ActionBuilder } from '../../mod.js';\nimport { ChangeAccountSubscriberBuilder } from '../common/hooks/changeAccountSubscriber.js';\nimport {\n connectAndUpdateStateForMultiNetworks,\n intoConnecting,\n intoConnectionFinished,\n} from '../common/mod.js';\n\nimport { formatAccountsToCAIP } from './utils.js';\n\n// Actions\nexport const connect = () =>\n new ActionBuilder<EvmActions, 'connect'>('connect')\n .and(connectAndUpdateStateForMultiNetworks)\n .before(intoConnecting)\n .after(intoConnectionFinished);\n\nexport const canEagerConnect = () =>\n new ActionBuilder<EvmActions, 'canEagerConnect'>('canEagerConnect');\nexport const canSwitchNetwork = () =>\n new ActionBuilder<EvmActions, 'canSwitchNetwork'>('canSwitchNetwork');\n\n// Hooks\nexport const changeAccountSubscriber = (getInstance: () => ProviderAPI) =>\n new ChangeAccountSubscriberBuilder<string[], ProviderAPI, EvmActions>()\n .getInstance(getInstance)\n /*\n * In some wallets, when a user switches to an account not yet connected to the dApp, it returns null.\n * A null value indicates no access to the account, requiring a disconnect and user reconnection.\n * This behavior may vary across different wallets, and if so, a different approach may be needed.\n */\n .onSwitchAccount((event, context) => {\n if (!event.payload || !event.payload.length) {\n context.action('disconnect');\n event.preventDefault();\n }\n })\n .format(async (instance, accounts) => {\n const chainId = await instance.request({ method: 'eth_chainId' });\n return formatAccountsToCAIP(accounts, chainId);\n })\n .addEventListener((instance, callback) => {\n instance.on('accountsChanged', callback);\n })\n .removeEventListener((instance, callback) => {\n instance.removeListener?.('accountsChanged', callback);\n });\n\nexport const getChainId = () =>\n new ActionBuilder<EvmActions, 'getChainId'>('getChainId');\n"],
5
+ "mappings": "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",
6
6
  "names": ["actions_exports", "__export", "canEagerConnect", "canSwitchNetwork", "connect", "getChainId", "recommended", "disconnect", "context", "setState", "__name", "recommended", "utils_exports", "__export", "filterAndGetEvmBlockchainNames", "formatAccountsToCAIP", "getAccounts", "isUserRejectionError", "suggestNetwork", "switchNetwork", "switchOrAddNetwork", "AccountId", "evmBlockchains", "CAIP_NAMESPACE", "CAIP_ETHEREUM_CHAIN_ID", "CHAIN_ID_RADIX", "getAccounts", "provider", "accounts", "chainId", "standardChainId", "__name", "suggestNetwork", "instance", "chain", "switchNetwork", "filterAndGetEvmBlockchainNames", "meta", "evmBlockchains", "blockchain", "switchOrAddNetwork", "switchError", "error", "EIP_1193_USER_REJECTION_ERROR_CODE", "isUserRejectionError", "code", "causeCode", "formatAccountsToCAIP", "account", "AccountId", "CAIP_NAMESPACE", "recommended", "connect", "instance", "options", "context", "chain", "setState", "evmInstance", "switchOrAddNetwork", "providerAccounts", "getAccounts", "formatAccountsToCAIP", "__name", "canEagerConnect", "canSwitchNetwork", "params", "network", "supportedChains", "filterAndGetEvmBlockchainNames", "getChainId", "hooks_exports", "__export", "changeAccountSubscriber", "changeChainSubscriber", "changeAccountSubscriber", "instance", "builders_exports", "__name", "changeChainSubscriber", "eventCallback", "context", "evmInstance", "setState", "chainId", "after_exports", "__export", "recommended", "intoConnectionFinished", "context", "setState", "__name", "recommended", "recommended", "and_exports", "__export", "recommended", "createZustandStore", "produce", "produce", "ActionBuilder", "__name", "#and", "#or", "#after", "#before", "#action", "name", "action", "CAIP", "ChangeAccountSubscriberBuilder", "__name", "#getInstance", "#format", "#onSwitchAccount", "#addEventListener", "#removeEventListener", "operator", "#getErrorMessage", "getInstance", "format", "addEventListener", "removeEventListener", "onSwitchAccount", "subscriber", "unsubscribe", "context", "setState", "instance", "event", "shouldProceedWithDefault", "_", "err", "operatorName", "AccountId", "isValidCaipAddress", "address", "AccountId", "__name", "connectAndUpdateStateForMultiNetworks", "context", "accounts", "isValidCaipAddress", "setState", "__name", "intoConnecting", "context", "setState", "__name", "recommended", "recommended", "connectAndUpdateStateForMultiNetworks", "before_exports", "__export", "recommended", "recommended", "builders_exports", "__export", "canEagerConnect", "canSwitchNetwork", "changeAccountSubscriber", "connect", "getChainId", "connect", "__name", "ActionBuilder", "connectAndUpdateStateForMultiNetworks", "intoConnecting", "intoConnectionFinished", "canEagerConnect", "canSwitchNetwork", "changeAccountSubscriber", "getInstance", "ChangeAccountSubscriberBuilder", "event", "context", "instance", "accounts", "chainId", "formatAccountsToCAIP", "callback", "getChainId"]
7
7
  }
@@ -15,8 +15,13 @@ type CanSwitchNetworkParams = {
15
15
  export type ProviderAPI = EIP1193Provider;
16
16
  export type ChainId = string;
17
17
  export type Chain = AddEthereumChainParameter;
18
+ export type ProviderAccounts = {
19
+ accounts: string[];
20
+ chainId: ChainId;
21
+ };
18
22
  export type ConnectOptions = {
19
23
  switchOrAddNetwork?: (instance: ProviderAPI, chain: ChainId | Chain) => void;
24
+ getAccounts?: (provider: ProviderAPI) => Promise<ProviderAccounts>;
20
25
  derivationPath?: string;
21
26
  };
22
27
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/namespaces/evm/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EACV,mCAAmC,EACnC,aAAa,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,WAAW,UACf,SAAQ,mCAAmC,EACzC,aAAa;IACf,OAAO,EAAE,CACP,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,EACvB,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACtC,eAAe,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,gBAAgB,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,OAAO,CAAC;IAC9D,UAAU,EAAE,MAAM,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;CAC1C;AACD,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC;AAE1C,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAC7B,MAAM,MAAM,KAAK,GAAG,yBAAyB,CAAC;AAE9C,MAAM,MAAM,cAAc,GAAG;IAC3B,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/namespaces/evm/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EACV,mCAAmC,EACnC,aAAa,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,WAAW,UACf,SAAQ,mCAAmC,EACzC,aAAa;IACf,OAAO,EAAE,CACP,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,EACvB,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACtC,eAAe,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,gBAAgB,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,OAAO,CAAC;IAC9D,UAAU,EAAE,MAAM,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;CAC1C;AACD,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC;AAE1C,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAC7B,MAAM,MAAM,KAAK,GAAG,yBAAyB,CAAC;AAC9C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC3B,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC;IAC7E,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC"}
@@ -1,2 +1,2 @@
1
- var T=Object.defineProperty;var t=(n,e)=>T(n,"name",{value:e,configurable:!0});var r=(n,e)=>{for(var o in e)T(n,o,{get:e[o],enumerable:!0})};var M={};r(M,{canEagerConnect:()=>q,connect:()=>X,recommended:()=>J});function k(n){let[,e]=n.state();e("network",null),e("accounts",null),e("connected",!1),e("connecting",!1),e("connectArgs",null)}t(k,"disconnect");var O=[["disconnect",k]];var R={};r(R,{formatAccountsToCAIP:()=>a,getAccounts:()=>x});import{AccountId as z}from"caip";var S="solana",A="5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp";async function x(n){let e=await n.connect();return{accounts:[e?e.publicKey.toString():n.publicKey.toString()],chainId:"SOLANA"}}t(x,"getAccounts");function a(n){return n.map(e=>z.format({address:e.toString(),chainId:{namespace:S,reference:A}}))}t(a,"formatAccountsToCAIP");var J=[...O];function X(n){return async()=>{let e=n(),o=await x(e);if(Array.isArray(o))throw new Error("Expecting solana response to be a single value, not an array.");return a(o.accounts)}}t(X,"connect");function q(n){return async()=>{let e=n();if(!e)throw new Error("Trying to eagerly connect to your Solana wallet, but seems its instance is not available.");try{return!!await e.connect({onlyIfTrusted:!0})}catch{return!1}}}t(q,"canEagerConnect");var F={};r(F,{changeAccountSubscriber:()=>Z});function Z(n){return u.changeAccountSubscriber(n).build()}t(Z,"changeAccountSubscriber");var B={};r(B,{recommended:()=>Q});function l(n){let[,e]=n.state();e("connecting",!1)}t(l,"intoConnectionFinished");var C=[["connect",l]];var Q=[...C];var K={};r(K,{recommended:()=>ae});import{createStore as Gt}from"zustand/vanilla";import{produce as Tt}from"immer";import{produce as Bt}from"immer";var s=class{static{t(this,"ActionBuilder")}name;#e=new Map;#t=new Map;#o=new Map;#n=new Map;#r;constructor(e){this.name=e}and(e){return this.#e.has(this.name)||this.#e.set(this.name,[]),this.#e.get(this.name)?.push(e),this}or(e){return this.#t.has(this.name)||this.#t.set(this.name,[]),this.#t.get(this.name)?.push(e),this}before(e){return this.#n.has(this.name)||this.#n.set(this.name,[]),this.#n.get(this.name)?.push(e),this}after(e){return this.#o.has(this.name)||this.#o.set(this.name,[]),this.#o.get(this.name)?.push(e),this}action(e){return this.#r=e,this}build(){if(!this.#r)throw new Error("Your action builder should includes an action.");return{actionName:this.name,action:this.#r,before:this.#n,after:this.#o,and:this.#e,or:this.#t}}};import*as En from"caip";var c=class{static{t(this,"ChangeAccountSubscriberBuilder")}#e=null;#t=null;#o=null;#n=null;#r=null;getInstance(e){return this.#e=e,this}format(e){return this.#t=e,this}onSwitchAccount(e){return this.#o=e,this}addEventListener(e){return this.#n=e,this}removeEventListener(e){return this.#r=e,this}build(){if(this.#e===null)throw new Error(this.#s("getInstance"));if(this.#t===null)throw new Error(this.#s("format"));if(this.#n===null)throw new Error(this.#s("addEventListener"));if(this.#r===null)throw new Error(this.#s("removeEventListener"));let e=this.#e,o=this.#t,L=this.#n,H=this.#r,U=this.#o,f,d;return[async v=>{let[,y]=v.state(),i=e();if(!i)throw new Error("Trying to subscribe to your wallet, but seems its instance is not available.");f=t(async N=>{let P=!0;U?.({payload:N,preventDefault:()=>{P=!1}},v),P&&y("accounts",await o(i,N))},"subscriber"),d=L(i,f)},(v,y)=>{d&&typeof d=="function"&&d();let i=e();return H(i,f),y}]}#s(e){return`Required "${e}" operation has not been set for "changeAccountSubscriber"`}};import{AccountId as ie}from"caip";function j(n){try{return ie.parse(n),!0}catch{return!1}}t(j,"isValidCaipAddress");function p(n,e){if(!e.every(j))throw new Error(`Your provider should format account addresses in CAIP-10 format. Your provided accounts: ${e}`);let[,o]=n.state();return o("accounts",e),o("connected",!0),e}t(p,"connectAndUpdateStateForSingleNetwork");function h(n){let[,e]=n.state();e("connecting",!0)}t(h,"intoConnecting");var w=[["connect",h]];var ae=[["connect",p]];var _={};r(_,{recommended:()=>ce});var ce=[...w];var u={};r(u,{changeAccountSubscriber:()=>de,connect:()=>pe});var pe=t(()=>new s("connect").and(p).before(h).after(l),"connect"),de=t(n=>new c().getInstance(n).onSwitchAccount((e,o)=>{e.payload||(o.action("disconnect"),e.preventDefault())}).format(async(e,o)=>a([o])).addEventListener((e,o)=>{e.on("accountChanged",o)}).removeEventListener((e,o)=>{e.off("accountChanged",o)}),"changeAccountSubscriber");export{S as CAIP_NAMESPACE,A as CAIP_SOLANA_CHAIN_ID,M as actions,B as after,K as and,_ as before,u as builders,F as hooks,R as utils};
1
+ var T=Object.defineProperty;var t=(n,e)=>T(n,"name",{value:e,configurable:!0});var r=(n,e)=>{for(var o in e)T(n,o,{get:e[o],enumerable:!0})};var M={};r(M,{canEagerConnect:()=>X,connect:()=>Z,recommended:()=>J});function k(n){let[,e]=n.state();e("network",null),e("accounts",null),e("connected",!1),e("connecting",!1),e("connectArgs",null)}t(k,"disconnect");var O=[["disconnect",k]];var R={};r(R,{formatAccountsToCAIP:()=>a,getAccounts:()=>C});import{AccountId as z}from"caip";var S="solana",A="5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp";async function C(n){let e=await n.connect();return{accounts:[e?e.publicKey.toString():n.publicKey.toString()],chainId:"SOLANA"}}t(C,"getAccounts");function a(n){return n.map(e=>z.format({address:e.toString(),chainId:{namespace:S,reference:A}}))}t(a,"formatAccountsToCAIP");var J=[...O];function Z(n){return async()=>{let e=n(),o=await C(e);if(Array.isArray(o))throw new Error("Expecting solana response to be a single value, not an array.");return a(o.accounts)}}t(Z,"connect");function X(n){return async()=>{let e=n();if(!e)throw new Error("Trying to eagerly connect to your Solana wallet, but seems its instance is not available.");try{return!!await e.connect({onlyIfTrusted:!0})}catch{return!1}}}t(X,"canEagerConnect");var B={};r(B,{changeAccountSubscriber:()=>q});function q(n){return u.changeAccountSubscriber(n).build()}t(q,"changeAccountSubscriber");var F={};r(F,{recommended:()=>Q});function l(n){let[,e]=n.state();e("connecting",!1)}t(l,"intoConnectionFinished");var x=[["connect",l]];var Q=[...x];var W={};r(W,{recommended:()=>ae});import{createStore as Gt}from"zustand/vanilla";import{produce as Tt}from"immer";import{produce as Ft}from"immer";var s=class{static{t(this,"ActionBuilder")}name;#e=new Map;#t=new Map;#o=new Map;#n=new Map;#r;constructor(e){this.name=e}and(e){return this.#e.has(this.name)||this.#e.set(this.name,[]),this.#e.get(this.name)?.push(e),this}or(e){return this.#t.has(this.name)||this.#t.set(this.name,[]),this.#t.get(this.name)?.push(e),this}before(e){return this.#n.has(this.name)||this.#n.set(this.name,[]),this.#n.get(this.name)?.push(e),this}after(e){return this.#o.has(this.name)||this.#o.set(this.name,[]),this.#o.get(this.name)?.push(e),this}action(e){return this.#r=e,this}build(){if(!this.#r)throw new Error("Your action builder should includes an action.");return{actionName:this.name,action:this.#r,before:this.#n,after:this.#o,and:this.#e,or:this.#t}}};import*as En from"caip";var c=class{static{t(this,"ChangeAccountSubscriberBuilder")}#e=null;#t=null;#o=null;#n=null;#r=null;getInstance(e){return this.#e=e,this}format(e){return this.#t=e,this}onSwitchAccount(e){return this.#o=e,this}addEventListener(e){return this.#n=e,this}removeEventListener(e){return this.#r=e,this}build(){if(this.#e===null)throw new Error(this.#s("getInstance"));if(this.#t===null)throw new Error(this.#s("format"));if(this.#n===null)throw new Error(this.#s("addEventListener"));if(this.#r===null)throw new Error(this.#s("removeEventListener"));let e=this.#e,o=this.#t,_=this.#n,H=this.#r,U=this.#o,f,d;return[async v=>{let[,y]=v.state(),i=e();if(!i)throw new Error("Trying to subscribe to your wallet, but seems its instance is not available.");f=t(async N=>{let P=!0;U?.({payload:N,preventDefault:()=>{P=!1}},v),P&&y("accounts",await o(i,N))},"subscriber"),d=_(i,f)},(v,y)=>{d&&typeof d=="function"&&d();let i=e();return H(i,f),y}]}#s(e){return`Required "${e}" operation has not been set for "changeAccountSubscriber"`}};import{AccountId as ie}from"caip";function L(n){try{return ie.parse(n),!0}catch{return!1}}t(L,"isValidCaipAddress");function p(n,e){if(!e.every(L))throw new Error(`Your provider should format account addresses in CAIP-10 format. Your provided accounts: ${e}`);let[,o]=n.state();return o("accounts",e),o("connected",!0),e}t(p,"connectAndUpdateStateForSingleNetwork");function h(n){let[,e]=n.state();e("connecting",!0)}t(h,"intoConnecting");var w=[["connect",h]];var ae=[["connect",p]];var j={};r(j,{recommended:()=>ce});var ce=[...w];var u={};r(u,{changeAccountSubscriber:()=>de,connect:()=>pe});var pe=t(()=>new s("connect").and(p).before(h).after(l),"connect"),de=t(n=>new c().getInstance(n).onSwitchAccount((e,o)=>{e.payload||(o.action("disconnect"),e.preventDefault())}).format(async(e,o)=>a([o])).addEventListener((e,o)=>{e.on("accountChanged",o)}).removeEventListener((e,o)=>{e.off("accountChanged",o)}),"changeAccountSubscriber");export{S as CAIP_NAMESPACE,A as CAIP_SOLANA_CHAIN_ID,M as actions,F as after,W as and,j as before,u as builders,B as hooks,R as utils};
2
2
  //# sourceMappingURL=mod.js.map
@@ -1,2 +1,2 @@
1
- var g=Object.defineProperty;var e=(n,t)=>g(n,"name",{value:t,configurable:!0});var s=(n,t)=>{for(var r in t)g(n,r,{get:t[r],enumerable:!0})};var C={};s(C,{canEagerConnect:()=>R,recommended:()=>O});function S(n){let[,t]=n.state();t("network",null),t("accounts",null),t("connected",!1),t("connecting",!1),t("connectArgs",null)}e(S,"disconnect");var x=[["disconnect",S]];var O=[...x];function R(n){return async()=>{let t=n();if(!t)throw new Error("Trying to eagerly connect to your Starknet wallet, but seems its instance is not available.");return t.isPreauthorized()}}e(R,"canEagerConnect");var A={};s(A,{recommended:()=>M});function a(n){let[,t]=n.state();t("connecting",!1)}e(a,"intoConnectionFinished");var d=[["connect",a]];var M=[...d];var b={};s(b,{recommended:()=>L});import{createStore as qe}from"zustand/vanilla";import{produce as Fe}from"immer";import{produce as Le}from"immer";var o=class{static{e(this,"ActionBuilder")}name;#e=new Map;#t=new Map;#n=new Map;#o=new Map;#r;constructor(t){this.name=t}and(t){return this.#e.has(this.name)||this.#e.set(this.name,[]),this.#e.get(this.name)?.push(t),this}or(t){return this.#t.has(this.name)||this.#t.set(this.name,[]),this.#t.get(this.name)?.push(t),this}before(t){return this.#o.has(this.name)||this.#o.set(this.name,[]),this.#o.get(this.name)?.push(t),this}after(t){return this.#n.has(this.name)||this.#n.set(this.name,[]),this.#n.get(this.name)?.push(t),this}action(t){return this.#r=t,this}build(){if(!this.#r)throw new Error("Your action builder should includes an action.");return{actionName:this.name,action:this.#r,before:this.#o,after:this.#n,and:this.#e,or:this.#t}}};import*as Pt from"caip";import{AccountId as _}from"caip";function w(n){try{return _.parse(n),!0}catch{return!1}}e(w,"isValidCaipAddress");function i(n,t){if(!t.every(w))throw new Error(`Your provider should format account addresses in CAIP-10 format. Your provided accounts: ${t}`);let[,r]=n.state();return r("accounts",t),r("connected",!0),t}e(i,"connectAndUpdateStateForSingleNetwork");function p(n){let[,t]=n.state();t("connecting",!0)}e(p,"intoConnecting");var h=[["connect",p]];var L=[["connect",i]];var N={};s(N,{recommended:()=>H});var H=[...h];var P={};s(P,{canEagerConnect:()=>U,connect:()=>V});var V=e(()=>new o("connect").and(i).before(p).after(a),"connect"),U=e(()=>new o("canEagerConnect"),"canEagerConnect");var T={};s(T,{formatAccountsToCAIP:()=>X,getAccounts:()=>J});import{AccountId as z}from"caip";var v="starknet",y="SN_MAIN";async function J(n){let t=await n.connect();return{accounts:[t?t.publicKey.toString():n.publicKey.toString()],chainId:"SOLANA"}}e(J,"getAccounts");function X(n){return n.map(t=>z.format({address:t.toString(),chainId:{namespace:v,reference:y}}))}e(X,"formatAccountsToCAIP");export{v as CAIP_NAMESPACE,y as CAIP_STARKNET_CHAIN_ID,C as actions,A as after,b as and,N as before,P as builders,T as utils};
1
+ var g=Object.defineProperty;var e=(n,t)=>g(n,"name",{value:t,configurable:!0});var s=(n,t)=>{for(var r in t)g(n,r,{get:t[r],enumerable:!0})};var A={};s(A,{canEagerConnect:()=>R,recommended:()=>O});function S(n){let[,t]=n.state();t("network",null),t("accounts",null),t("connected",!1),t("connecting",!1),t("connectArgs",null)}e(S,"disconnect");var C=[["disconnect",S]];var O=[...C];function R(n){return async()=>{let t=n();if(!t)throw new Error("Trying to eagerly connect to your Starknet wallet, but seems its instance is not available.");return t.isPreauthorized()}}e(R,"canEagerConnect");var x={};s(x,{recommended:()=>M});function a(n){let[,t]=n.state();t("connecting",!1)}e(a,"intoConnectionFinished");var d=[["connect",a]];var M=[...d];var b={};s(b,{recommended:()=>_});import{createStore as Ze}from"zustand/vanilla";import{produce as Fe}from"immer";import{produce as _e}from"immer";var o=class{static{e(this,"ActionBuilder")}name;#e=new Map;#t=new Map;#n=new Map;#o=new Map;#r;constructor(t){this.name=t}and(t){return this.#e.has(this.name)||this.#e.set(this.name,[]),this.#e.get(this.name)?.push(t),this}or(t){return this.#t.has(this.name)||this.#t.set(this.name,[]),this.#t.get(this.name)?.push(t),this}before(t){return this.#o.has(this.name)||this.#o.set(this.name,[]),this.#o.get(this.name)?.push(t),this}after(t){return this.#n.has(this.name)||this.#n.set(this.name,[]),this.#n.get(this.name)?.push(t),this}action(t){return this.#r=t,this}build(){if(!this.#r)throw new Error("Your action builder should includes an action.");return{actionName:this.name,action:this.#r,before:this.#o,after:this.#n,and:this.#e,or:this.#t}}};import*as Pt from"caip";import{AccountId as j}from"caip";function N(n){try{return j.parse(n),!0}catch{return!1}}e(N,"isValidCaipAddress");function i(n,t){if(!t.every(N))throw new Error(`Your provider should format account addresses in CAIP-10 format. Your provided accounts: ${t}`);let[,r]=n.state();return r("accounts",t),r("connected",!0),t}e(i,"connectAndUpdateStateForSingleNetwork");function p(n){let[,t]=n.state();t("connecting",!0)}e(p,"intoConnecting");var h=[["connect",p]];var _=[["connect",i]];var w={};s(w,{recommended:()=>H});var H=[...h];var P={};s(P,{canEagerConnect:()=>U,connect:()=>V});var V=e(()=>new o("connect").and(i).before(p).after(a),"connect"),U=e(()=>new o("canEagerConnect"),"canEagerConnect");var T={};s(T,{formatAccountsToCAIP:()=>X,getAccounts:()=>J});import{AccountId as z}from"caip";var v="starknet",y="SN_MAIN";async function J(n){let t=await n.connect();return{accounts:[t?t.publicKey.toString():n.publicKey.toString()],chainId:"SOLANA"}}e(J,"getAccounts");function X(n){return n.map(t=>z.format({address:t.toString(),chainId:{namespace:v,reference:y}}))}e(X,"formatAccountsToCAIP");export{v as CAIP_NAMESPACE,y as CAIP_STARKNET_CHAIN_ID,A as actions,x as after,b as and,w as before,P as builders,T as utils};
2
2
  //# sourceMappingURL=mod.js.map
@@ -1 +1 @@
1
- {"inputs":{"src/hub/helpers.ts":{"bytes":371,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/namespaces/errors.ts":{"bytes":455,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/namespaces/namespace.ts":{"bytes":13059,"imports":[{"path":"src/hub/helpers.ts","kind":"import-statement","original":"../helpers.js"},{"path":"src/hub/namespaces/errors.ts","kind":"import-statement","original":"./errors.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/namespaces/mod.ts":{"bytes":181,"imports":[{"path":"src/hub/namespaces/namespace.ts","kind":"import-statement","original":"./namespace.js"}],"format":"esm"},"src/hub/provider/provider.ts":{"bytes":9373,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/provider/mod.ts":{"bytes":196,"imports":[{"path":"src/hub/provider/provider.ts","kind":"import-statement","original":"./provider.js"}],"format":"esm"},"src/hub/hub.ts":{"bytes":3436,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/store/selectors.ts":{"bytes":2228,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/store/extend.ts":{"bytes":3898,"imports":[{"path":"src/hub/store/selectors.ts","kind":"import-statement","original":"./selectors.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/store/hub.ts":{"bytes":342,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/store/events.ts":{"bytes":1956,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/store/namespaces.ts":{"bytes":4883,"imports":[{"path":"immer","kind":"import-statement","external":true},{"path":"src/hub/store/events.ts","kind":"import-statement","original":"./events.js"},{"path":"src/hub/store/mod.ts","kind":"import-statement","original":"./mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/store/providers.ts":{"bytes":4043,"imports":[{"path":"immer","kind":"import-statement","external":true},{"path":"src/hub/store/events.ts","kind":"import-statement","original":"./events.js"},{"path":"src/hub/store/mod.ts","kind":"import-statement","original":"./mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/store/store.ts":{"bytes":808,"imports":[{"path":"zustand/vanilla","kind":"import-statement","external":true},{"path":"src/hub/store/extend.ts","kind":"import-statement","original":"./extend.js"},{"path":"src/hub/store/hub.ts","kind":"import-statement","original":"./hub.js"},{"path":"src/hub/store/namespaces.ts","kind":"import-statement","original":"./namespaces.js"},{"path":"src/hub/store/providers.ts","kind":"import-statement","original":"./providers.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/store/mod.ts":{"bytes":652,"imports":[{"path":"src/hub/store/selectors.ts","kind":"import-statement","original":"./selectors.js"},{"path":"src/hub/store/store.ts","kind":"import-statement","original":"./store.js"}],"format":"esm"},"src/hub/mod.ts":{"bytes":522,"imports":[{"path":"src/hub/namespaces/mod.ts","kind":"import-statement","original":"./namespaces/mod.js"},{"path":"src/hub/provider/mod.ts","kind":"import-statement","original":"./provider/mod.js"},{"path":"src/hub/hub.ts","kind":"import-statement","original":"./hub.js"},{"path":"src/hub/store/mod.ts","kind":"import-statement","original":"./store/mod.js"},{"path":"src/hub/helpers.ts","kind":"import-statement","original":"./helpers.js"}],"format":"esm"},"src/builders/namespace.ts":{"bytes":7991,"imports":[{"path":"src/hub/mod.ts","kind":"import-statement","original":"../hub/mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/builders/provider.ts":{"bytes":1588,"imports":[{"path":"src/hub/provider/mod.ts","kind":"import-statement","original":"../hub/provider/mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/builders/action.ts":{"bytes":2385,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/builders/mod.ts":{"bytes":220,"imports":[{"path":"src/builders/namespace.ts","kind":"import-statement","original":"./namespace.js"},{"path":"src/builders/provider.ts","kind":"import-statement","original":"./provider.js"},{"path":"src/builders/action.ts","kind":"import-statement","original":"./action.js"}],"format":"esm"},"src/utils/versions.ts":{"bytes":1851,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/utils/mod.ts":{"bytes":356,"imports":[{"path":"caip","kind":"import-statement","external":true},{"path":"src/hub/helpers.ts","kind":"import-statement","original":"../hub/helpers.js"},{"path":"src/utils/versions.ts","kind":"import-statement","original":"./versions.js"}],"format":"esm"},"src/mod.ts":{"bytes":1504,"imports":[{"path":"src/hub/mod.ts","kind":"import-statement","original":"./hub/mod.js"},{"path":"src/builders/mod.ts","kind":"import-statement","original":"./builders/mod.js"},{"path":"src/utils/mod.ts","kind":"import-statement","original":"./utils/mod.js"}],"format":"esm"},"src/legacy/types.ts":{"bytes":7053,"imports":[],"format":"esm"},"src/legacy/persistor.ts":{"bytes":544,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/helpers.ts":{"bytes":1855,"imports":[{"path":"src/legacy/types.ts","kind":"import-statement","original":"./types.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/utils.ts":{"bytes":645,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/wallet.ts":{"bytes":16229,"imports":[{"path":"src/legacy/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/legacy/types.ts","kind":"import-statement","original":"./types.js"},{"path":"src/legacy/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/mod.ts":{"bytes":1518,"imports":[{"path":"src/legacy/types.ts","kind":"import-statement","original":"./types.js"},{"path":"src/legacy/persistor.ts","kind":"import-statement","original":"./persistor.js"},{"path":"src/legacy/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/legacy/wallet.ts","kind":"import-statement","original":"./wallet.js"},{"path":"src/legacy/utils.ts","kind":"import-statement","original":"./utils.js"}],"format":"esm"},"src/namespaces/common/actions.ts":{"bytes":380,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/evm/constants.ts":{"bytes":83,"imports":[],"format":"esm"},"src/namespaces/evm/utils.ts":{"bytes":3494,"imports":[{"path":"caip","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/namespaces/evm/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/evm/actions.ts":{"bytes":3652,"imports":[{"path":"src/namespaces/common/actions.ts","kind":"import-statement","original":"../common/actions.js"},{"path":"src/namespaces/evm/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/evm/hooks.ts":{"bytes":1217,"imports":[{"path":"src/namespaces/evm/mod.ts","kind":"import-statement","original":"./mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/common/after.ts":{"bytes":271,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/evm/after.ts":{"bytes":123,"imports":[{"path":"src/namespaces/common/after.ts","kind":"import-statement","original":"../common/after.js"}],"format":"esm"},"src/namespaces/common/builders.ts":{"bytes":545,"imports":[{"path":"src/mod.ts","kind":"import-statement","original":"../../mod.js"},{"path":"src/namespaces/common/actions.ts","kind":"import-statement","original":"./actions.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/common/utils.ts":{"bytes":987,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/common/or.ts":{"bytes":734,"imports":[{"path":"src/namespaces/common/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/common/hooks/changeAccountSubscriber.ts":{"bytes":7467,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/common/helpers.ts":{"bytes":189,"imports":[{"path":"caip","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/common/and.ts":{"bytes":1144,"imports":[{"path":"src/namespaces/common/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/common/before.ts":{"bytes":351,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/common/mod.ts":{"bytes":749,"imports":[{"path":"src/namespaces/common/actions.ts","kind":"import-statement","original":"./actions.js"},{"path":"src/namespaces/common/builders.ts","kind":"import-statement","original":"./builders.js"},{"path":"src/namespaces/common/or.ts","kind":"import-statement","original":"./or.js"},{"path":"src/namespaces/common/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"src/namespaces/common/after.ts","kind":"import-statement","original":"./after.js"},{"path":"src/namespaces/common/hooks/changeAccountSubscriber.ts","kind":"import-statement","original":"./hooks/changeAccountSubscriber.js"},{"path":"src/namespaces/common/and.ts","kind":"import-statement","original":"./and.js"},{"path":"src/namespaces/common/before.ts","kind":"import-statement","original":"./before.js"}],"format":"esm"},"src/namespaces/evm/and.ts":{"bytes":170,"imports":[{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"}],"format":"esm"},"src/namespaces/evm/before.ts":{"bytes":106,"imports":[{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"}],"format":"esm"},"src/namespaces/evm/builders.ts":{"bytes":1992,"imports":[{"path":"src/mod.ts","kind":"import-statement","original":"../../mod.js"},{"path":"src/namespaces/common/hooks/changeAccountSubscriber.ts","kind":"import-statement","original":"../common/hooks/changeAccountSubscriber.js"},{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"},{"path":"src/namespaces/evm/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/evm/mod.ts":{"bytes":416,"imports":[{"path":"src/namespaces/evm/actions.ts","kind":"import-statement","original":"./actions.js"},{"path":"src/namespaces/evm/hooks.ts","kind":"import-statement","original":"./hooks.js"},{"path":"src/namespaces/evm/after.ts","kind":"import-statement","original":"./after.js"},{"path":"src/namespaces/evm/and.ts","kind":"import-statement","original":"./and.js"},{"path":"src/namespaces/evm/before.ts","kind":"import-statement","original":"./before.js"},{"path":"src/namespaces/evm/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"src/namespaces/evm/builders.ts","kind":"import-statement","original":"./builders.js"},{"path":"src/namespaces/evm/constants.ts","kind":"import-statement","original":"./constants.js"}],"format":"esm"},"src/namespaces/solana/constants.ts":{"bytes":112,"imports":[],"format":"esm"},"src/namespaces/solana/utils.ts":{"bytes":1037,"imports":[{"path":"caip","kind":"import-statement","external":true},{"path":"src/legacy/mod.ts","kind":"import-statement","original":"../../legacy/mod.js"},{"path":"src/namespaces/solana/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/solana/actions.ts":{"bytes":1262,"imports":[{"path":"src/namespaces/common/actions.ts","kind":"import-statement","original":"../common/actions.js"},{"path":"src/namespaces/solana/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/solana/hooks.ts":{"bytes":369,"imports":[{"path":"src/namespaces/solana/mod.ts","kind":"import-statement","original":"./mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/solana/after.ts":{"bytes":123,"imports":[{"path":"src/namespaces/common/after.ts","kind":"import-statement","original":"../common/after.js"}],"format":"esm"},"src/namespaces/solana/and.ts":{"bytes":170,"imports":[{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"}],"format":"esm"},"src/namespaces/solana/before.ts":{"bytes":124,"imports":[{"path":"src/namespaces/common/before.ts","kind":"import-statement","original":"../common/before.js"}],"format":"esm"},"src/namespaces/solana/builders.ts":{"bytes":1433,"imports":[{"path":"src/mod.ts","kind":"import-statement","original":"../../mod.js"},{"path":"src/namespaces/common/hooks/changeAccountSubscriber.ts","kind":"import-statement","original":"../common/hooks/changeAccountSubscriber.js"},{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"},{"path":"src/namespaces/solana/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/solana/mod.ts":{"bytes":401,"imports":[{"path":"src/namespaces/solana/actions.ts","kind":"import-statement","original":"./actions.js"},{"path":"src/namespaces/solana/hooks.ts","kind":"import-statement","original":"./hooks.js"},{"path":"src/namespaces/solana/after.ts","kind":"import-statement","original":"./after.js"},{"path":"src/namespaces/solana/and.ts","kind":"import-statement","original":"./and.js"},{"path":"src/namespaces/solana/before.ts","kind":"import-statement","original":"./before.js"},{"path":"src/namespaces/solana/builders.ts","kind":"import-statement","original":"./builders.js"},{"path":"src/namespaces/solana/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"src/namespaces/solana/constants.ts","kind":"import-statement","original":"./constants.js"}],"format":"esm"},"src/namespaces/cosmos/actions.ts":{"bytes":125,"imports":[{"path":"src/namespaces/common/actions.ts","kind":"import-statement","original":"../common/actions.js"}],"format":"esm"},"src/namespaces/cosmos/after.ts":{"bytes":123,"imports":[{"path":"src/namespaces/common/after.ts","kind":"import-statement","original":"../common/after.js"}],"format":"esm"},"src/namespaces/cosmos/and.ts":{"bytes":170,"imports":[{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"}],"format":"esm"},"src/namespaces/cosmos/before.ts":{"bytes":106,"imports":[{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"}],"format":"esm"},"src/namespaces/cosmos/constants.ts":{"bytes":40,"imports":[],"format":"esm"},"src/namespaces/cosmos/utils.ts":{"bytes":595,"imports":[{"path":"caip","kind":"import-statement","external":true},{"path":"src/namespaces/cosmos/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/cosmos/builders.ts":{"bytes":427,"imports":[{"path":"src/mod.ts","kind":"import-statement","original":"../../mod.js"},{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/cosmos/mod.ts":{"bytes":404,"imports":[{"path":"src/namespaces/cosmos/actions.ts","kind":"import-statement","original":"./actions.js"},{"path":"src/namespaces/cosmos/after.ts","kind":"import-statement","original":"./after.js"},{"path":"src/namespaces/cosmos/and.ts","kind":"import-statement","original":"./and.js"},{"path":"src/namespaces/cosmos/before.ts","kind":"import-statement","original":"./before.js"},{"path":"src/namespaces/cosmos/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"src/namespaces/cosmos/builders.ts","kind":"import-statement","original":"./builders.js"},{"path":"src/namespaces/cosmos/constants.ts","kind":"import-statement","original":"./constants.js"}],"format":"esm"},"src/namespaces/utxo/actions.ts":{"bytes":125,"imports":[{"path":"src/namespaces/common/actions.ts","kind":"import-statement","original":"../common/actions.js"}],"format":"esm"},"src/namespaces/utxo/after.ts":{"bytes":123,"imports":[{"path":"src/namespaces/common/after.ts","kind":"import-statement","original":"../common/after.js"}],"format":"esm"},"src/namespaces/utxo/and.ts":{"bytes":170,"imports":[{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"}],"format":"esm"},"src/namespaces/utxo/before.ts":{"bytes":124,"imports":[{"path":"src/namespaces/common/before.ts","kind":"import-statement","original":"../common/before.js"}],"format":"esm"},"src/namespaces/utxo/builders.ts":{"bytes":480,"imports":[{"path":"src/mod.ts","kind":"import-statement","original":"../../mod.js"},{"path":"src/namespaces/common/after.ts","kind":"import-statement","original":"../common/after.js"},{"path":"src/namespaces/common/and.ts","kind":"import-statement","original":"../common/and.js"},{"path":"src/namespaces/common/before.ts","kind":"import-statement","original":"../common/before.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/utxo/constants.ts":{"bytes":113,"imports":[],"format":"esm"},"src/namespaces/utxo/utils.ts":{"bytes":465,"imports":[{"path":"caip","kind":"import-statement","external":true},{"path":"src/namespaces/utxo/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/utxo/mod.ts":{"bytes":362,"imports":[{"path":"src/namespaces/utxo/actions.ts","kind":"import-statement","original":"./actions.js"},{"path":"src/namespaces/utxo/after.ts","kind":"import-statement","original":"./after.js"},{"path":"src/namespaces/utxo/and.ts","kind":"import-statement","original":"./and.js"},{"path":"src/namespaces/utxo/before.ts","kind":"import-statement","original":"./before.js"},{"path":"src/namespaces/utxo/builders.ts","kind":"import-statement","original":"./builders.js"},{"path":"src/namespaces/utxo/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"src/namespaces/utxo/constants.ts","kind":"import-statement","original":"./constants.js"}],"format":"esm"},"src/namespaces/sui/actions.ts":{"bytes":652,"imports":[{"path":"src/namespaces/sui/mod.ts","kind":"import-statement","original":"./mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/sui/constants.ts":{"bytes":275,"imports":[],"format":"esm"},"src/namespaces/sui/utils.ts":{"bytes":1527,"imports":[{"path":"@mysten/wallet-standard","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"src/namespaces/sui/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/sui/builders.ts":{"bytes":2414,"imports":[{"path":"src/mod.ts","kind":"import-statement","original":"../../mod.js"},{"path":"src/utils/mod.ts","kind":"import-statement","original":"../../utils/mod.js"},{"path":"src/namespaces/common/hooks/changeAccountSubscriber.ts","kind":"import-statement","original":"../common/hooks/changeAccountSubscriber.js"},{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"},{"path":"src/namespaces/sui/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"src/namespaces/sui/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/sui/hooks.ts":{"bytes":401,"imports":[{"path":"src/namespaces/sui/mod.ts","kind":"import-statement","original":"./mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/sui/mod.ts":{"bytes":312,"imports":[{"path":"src/namespaces/sui/actions.ts","kind":"import-statement","original":"./actions.js"},{"path":"src/namespaces/sui/builders.ts","kind":"import-statement","original":"./builders.js"},{"path":"src/namespaces/sui/hooks.ts","kind":"import-statement","original":"./hooks.js"},{"path":"src/namespaces/sui/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"src/namespaces/sui/constants.ts","kind":"import-statement","original":"./constants.js"}],"format":"esm"},"src/namespaces/tron/actions.ts":{"bytes":125,"imports":[{"path":"src/namespaces/common/actions.ts","kind":"import-statement","original":"../common/actions.js"}],"format":"esm"},"src/namespaces/tron/after.ts":{"bytes":123,"imports":[{"path":"src/namespaces/common/after.ts","kind":"import-statement","original":"../common/after.js"}],"format":"esm"},"src/namespaces/tron/and.ts":{"bytes":170,"imports":[{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"}],"format":"esm"},"src/namespaces/tron/before.ts":{"bytes":124,"imports":[{"path":"src/namespaces/common/before.ts","kind":"import-statement","original":"../common/before.js"}],"format":"esm"},"src/namespaces/tron/builders.ts":{"bytes":590,"imports":[{"path":"src/mod.ts","kind":"import-statement","original":"../../mod.js"},{"path":"src/namespaces/common/after.ts","kind":"import-statement","original":"../common/after.js"},{"path":"src/namespaces/common/and.ts","kind":"import-statement","original":"../common/and.js"},{"path":"src/namespaces/common/before.ts","kind":"import-statement","original":"../common/before.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/tron/constants.ts":{"bytes":278,"imports":[],"format":"esm"},"src/namespaces/tron/utils.ts":{"bytes":459,"imports":[{"path":"caip","kind":"import-statement","external":true},{"path":"src/namespaces/tron/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/tron/mod.ts":{"bytes":359,"imports":[{"path":"src/namespaces/tron/actions.ts","kind":"import-statement","original":"./actions.js"},{"path":"src/namespaces/tron/after.ts","kind":"import-statement","original":"./after.js"},{"path":"src/namespaces/tron/and.ts","kind":"import-statement","original":"./and.js"},{"path":"src/namespaces/tron/before.ts","kind":"import-statement","original":"./before.js"},{"path":"src/namespaces/tron/builders.ts","kind":"import-statement","original":"./builders.js"},{"path":"src/namespaces/tron/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"src/namespaces/tron/constants.ts","kind":"import-statement","original":"./constants.js"}],"format":"esm"},"src/namespaces/starknet/actions.ts":{"bytes":526,"imports":[{"path":"src/namespaces/common/actions.ts","kind":"import-statement","original":"../common/actions.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/starknet/after.ts":{"bytes":123,"imports":[{"path":"src/namespaces/common/after.ts","kind":"import-statement","original":"../common/after.js"}],"format":"esm"},"src/namespaces/starknet/and.ts":{"bytes":170,"imports":[{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"}],"format":"esm"},"src/namespaces/starknet/before.ts":{"bytes":124,"imports":[{"path":"src/namespaces/common/before.ts","kind":"import-statement","original":"../common/before.js"}],"format":"esm"},"src/namespaces/starknet/builders.ts":{"bytes":545,"imports":[{"path":"src/mod.ts","kind":"import-statement","original":"../../mod.js"},{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/starknet/constants.ts":{"bytes":293,"imports":[],"format":"esm"},"src/namespaces/starknet/utils.ts":{"bytes":957,"imports":[{"path":"caip","kind":"import-statement","external":true},{"path":"src/legacy/mod.ts","kind":"import-statement","original":"../../legacy/mod.js"},{"path":"src/namespaces/starknet/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/starknet/mod.ts":{"bytes":368,"imports":[{"path":"src/namespaces/starknet/actions.ts","kind":"import-statement","original":"./actions.js"},{"path":"src/namespaces/starknet/after.ts","kind":"import-statement","original":"./after.js"},{"path":"src/namespaces/starknet/and.ts","kind":"import-statement","original":"./and.js"},{"path":"src/namespaces/starknet/before.ts","kind":"import-statement","original":"./before.js"},{"path":"src/namespaces/starknet/builders.ts","kind":"import-statement","original":"./builders.js"},{"path":"src/namespaces/starknet/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"src/namespaces/starknet/constants.ts","kind":"import-statement","original":"./constants.js"}],"format":"esm"}},"outputs":{"dist/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":82625},"dist/mod.js":{"imports":[{"path":"zustand/vanilla","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true}],"exports":["ActionBuilder","Hub","Namespace","NamespaceBuilder","Provider","ProviderBuilder","createStore","defineVersions","guessProviderStateSelector","namespaceStateSelector","pickVersion"],"entryPoint":"src/mod.ts","inputs":{"src/hub/helpers.ts":{"bytesInOutput":131},"src/hub/namespaces/errors.ts":{"bytesInOutput":332},"src/hub/namespaces/namespace.ts":{"bytesInOutput":2633},"src/hub/namespaces/mod.ts":{"bytesInOutput":0},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/provider/provider.ts":{"bytesInOutput":1781},"src/hub/provider/mod.ts":{"bytesInOutput":0},"src/hub/hub.ts":{"bytesInOutput":875},"src/hub/store/selectors.ts":{"bytesInOutput":386},"src/hub/store/mod.ts":{"bytesInOutput":0},"src/hub/store/store.ts":{"bytesInOutput":157},"src/hub/store/extend.ts":{"bytesInOutput":833},"src/hub/store/hub.ts":{"bytesInOutput":38},"src/hub/store/namespaces.ts":{"bytesInOutput":1403},"src/hub/store/events.ts":{"bytesInOutput":188},"src/hub/store/providers.ts":{"bytesInOutput":637},"src/mod.ts":{"bytesInOutput":0},"src/builders/namespace.ts":{"bytesInOutput":1397},"src/builders/mod.ts":{"bytesInOutput":0},"src/builders/provider.ts":{"bytesInOutput":465},"src/builders/action.ts":{"bytesInOutput":746},"src/utils/mod.ts":{"bytesInOutput":24},"src/utils/versions.ts":{"bytesInOutput":356}},"bytes":12716},"dist/utils/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":3724},"dist/utils/mod.js":{"imports":[{"path":"caip","kind":"import-statement","external":true}],"exports":["CAIP","defineVersions","generateStoreId","legacyProviderImportsToVersionsInterface","pickVersion"],"entryPoint":"src/utils/mod.ts","inputs":{"src/utils/mod.ts":{"bytesInOutput":23},"src/hub/helpers.ts":{"bytesInOutput":58},"src/utils/versions.ts":{"bytesInOutput":456}},"bytes":771},"dist/legacy/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":36941},"dist/legacy/mod.js":{"imports":[],"exports":["LegacyEvents","LegacyNetworks","LegacyWallet","Persistor","legacyEagerConnectHandler","legacyFormatAddressWithNetwork","legacyGetBlockChainNameFromId","legacyIsEvmNamespace","legacyReadAccountAddress"],"entryPoint":"src/legacy/mod.ts","inputs":{"src/legacy/types.ts":{"bytesInOutput":1375},"src/legacy/mod.ts":{"bytesInOutput":0},"src/legacy/persistor.ts":{"bytesInOutput":206},"src/legacy/helpers.ts":{"bytesInOutput":610},"src/legacy/utils.ts":{"bytesInOutput":238},"src/legacy/wallet.ts":{"bytesInOutput":6000}},"bytes":8778},"dist/hub/store/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":25244},"dist/hub/store/mod.js":{"imports":[{"path":"zustand/vanilla","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true}],"exports":["createStore","guessProviderStateSelector","namespaceStateSelector"],"entryPoint":"src/hub/store/mod.ts","inputs":{"src/hub/store/selectors.ts":{"bytesInOutput":386},"src/hub/store/mod.ts":{"bytesInOutput":0},"src/hub/store/store.ts":{"bytesInOutput":157},"src/hub/store/extend.ts":{"bytesInOutput":833},"src/hub/store/hub.ts":{"bytesInOutput":38},"src/hub/store/namespaces.ts":{"bytesInOutput":1403},"src/hub/store/events.ts":{"bytesInOutput":188},"src/hub/store/providers.ts":{"bytesInOutput":637}},"bytes":3839},"dist/namespaces/evm/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":45707},"dist/namespaces/evm/mod.js":{"imports":[{"path":"caip","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"zustand/vanilla","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true}],"exports":["CAIP_ETHEREUM_CHAIN_ID","CAIP_NAMESPACE","actions","after","and","before","builders","hooks","utils"],"entryPoint":"src/namespaces/evm/mod.ts","inputs":{"src/namespaces/evm/actions.ts":{"bytesInOutput":1213},"src/namespaces/common/actions.ts":{"bytesInOutput":171},"src/namespaces/evm/utils.ts":{"bytesInOutput":1287},"src/namespaces/evm/constants.ts":{"bytesInOutput":21},"src/namespaces/evm/mod.ts":{"bytesInOutput":0},"src/namespaces/evm/hooks.ts":{"bytesInOutput":492},"src/namespaces/evm/after.ts":{"bytesInOutput":49},"src/namespaces/common/after.ts":{"bytesInOutput":103},"src/namespaces/evm/and.ts":{"bytesInOutput":58},"src/namespaces/common/mod.ts":{"bytesInOutput":0},"src/hub/namespaces/mod.ts":{"bytesInOutput":0},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/provider/mod.ts":{"bytesInOutput":0},"src/hub/store/mod.ts":{"bytesInOutput":0},"src/hub/store/store.ts":{"bytesInOutput":47},"src/hub/store/namespaces.ts":{"bytesInOutput":33},"src/hub/store/providers.ts":{"bytesInOutput":33},"src/mod.ts":{"bytesInOutput":0},"src/builders/mod.ts":{"bytesInOutput":0},"src/builders/action.ts":{"bytesInOutput":746},"src/utils/mod.ts":{"bytesInOutput":24},"src/namespaces/common/hooks/changeAccountSubscriber.ts":{"bytesInOutput":1023},"src/namespaces/common/helpers.ts":{"bytesInOutput":116},"src/namespaces/common/and.ts":{"bytesInOutput":300},"src/namespaces/common/before.ts":{"bytesInOutput":95},"src/namespaces/evm/before.ts":{"bytesInOutput":49},"src/namespaces/evm/builders.ts":{"bytesInOutput":711}},"bytes":6882},"dist/namespaces/solana/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":36022},"dist/namespaces/solana/mod.js":{"imports":[{"path":"caip","kind":"import-statement","external":true},{"path":"zustand/vanilla","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true}],"exports":["CAIP_NAMESPACE","CAIP_SOLANA_CHAIN_ID","actions","after","and","before","builders","hooks","utils"],"entryPoint":"src/namespaces/solana/mod.ts","inputs":{"src/namespaces/solana/actions.ts":{"bytesInOutput":519},"src/namespaces/common/actions.ts":{"bytesInOutput":171},"src/namespaces/solana/utils.ts":{"bytesInOutput":367},"src/legacy/mod.ts":{"bytesInOutput":0},"src/namespaces/solana/constants.ts":{"bytesInOutput":52},"src/namespaces/solana/mod.ts":{"bytesInOutput":0},"src/namespaces/solana/hooks.ts":{"bytesInOutput":135},"src/namespaces/solana/after.ts":{"bytesInOutput":47},"src/namespaces/common/after.ts":{"bytesInOutput":103},"src/namespaces/solana/and.ts":{"bytesInOutput":58},"src/namespaces/common/mod.ts":{"bytesInOutput":0},"src/hub/namespaces/mod.ts":{"bytesInOutput":0},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/provider/mod.ts":{"bytesInOutput":0},"src/hub/store/mod.ts":{"bytesInOutput":0},"src/hub/store/store.ts":{"bytesInOutput":47},"src/hub/store/namespaces.ts":{"bytesInOutput":33},"src/hub/store/providers.ts":{"bytesInOutput":33},"src/mod.ts":{"bytesInOutput":0},"src/builders/mod.ts":{"bytesInOutput":0},"src/builders/action.ts":{"bytesInOutput":746},"src/utils/mod.ts":{"bytesInOutput":24},"src/namespaces/common/hooks/changeAccountSubscriber.ts":{"bytesInOutput":1023},"src/namespaces/common/helpers.ts":{"bytesInOutput":116},"src/namespaces/common/and.ts":{"bytesInOutput":250},"src/namespaces/common/before.ts":{"bytesInOutput":95},"src/namespaces/solana/before.ts":{"bytesInOutput":49},"src/namespaces/solana/builders.ts":{"bytesInOutput":403}},"bytes":4580},"dist/namespaces/cosmos/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":22076},"dist/namespaces/cosmos/mod.js":{"imports":[{"path":"zustand/vanilla","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true}],"exports":["CAIP_NAMESPACE","actions","after","and","before","builders","utils"],"entryPoint":"src/namespaces/cosmos/mod.ts","inputs":{"src/namespaces/cosmos/actions.ts":{"bytesInOutput":47},"src/namespaces/common/actions.ts":{"bytesInOutput":171},"src/namespaces/cosmos/mod.ts":{"bytesInOutput":0},"src/namespaces/cosmos/after.ts":{"bytesInOutput":47},"src/namespaces/common/after.ts":{"bytesInOutput":103},"src/namespaces/cosmos/and.ts":{"bytesInOutput":56},"src/namespaces/common/mod.ts":{"bytesInOutput":0},"src/hub/namespaces/mod.ts":{"bytesInOutput":0},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/provider/mod.ts":{"bytesInOutput":0},"src/hub/store/mod.ts":{"bytesInOutput":0},"src/hub/store/store.ts":{"bytesInOutput":47},"src/hub/store/namespaces.ts":{"bytesInOutput":33},"src/hub/store/providers.ts":{"bytesInOutput":33},"src/mod.ts":{"bytesInOutput":0},"src/builders/mod.ts":{"bytesInOutput":0},"src/builders/action.ts":{"bytesInOutput":746},"src/utils/mod.ts":{"bytesInOutput":24},"src/namespaces/common/helpers.ts":{"bytesInOutput":114},"src/namespaces/common/and.ts":{"bytesInOutput":550},"src/namespaces/common/before.ts":{"bytesInOutput":95},"src/namespaces/cosmos/before.ts":{"bytesInOutput":47},"src/namespaces/cosmos/utils.ts":{"bytesInOutput":222},"src/namespaces/cosmos/constants.ts":{"bytesInOutput":15},"src/namespaces/cosmos/builders.ts":{"bytesInOutput":96}},"bytes":2718},"dist/namespaces/utxo/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":21772},"dist/namespaces/utxo/mod.js":{"imports":[{"path":"zustand/vanilla","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true}],"exports":["CAIP_BITCOIN_CHAIN_ID","CAIP_NAMESPACE","actions","after","and","before","builders","utils"],"entryPoint":"src/namespaces/utxo/mod.ts","inputs":{"src/namespaces/utxo/actions.ts":{"bytesInOutput":47},"src/namespaces/common/actions.ts":{"bytesInOutput":171},"src/namespaces/utxo/mod.ts":{"bytesInOutput":0},"src/namespaces/utxo/after.ts":{"bytesInOutput":47},"src/namespaces/common/after.ts":{"bytesInOutput":103},"src/namespaces/utxo/and.ts":{"bytesInOutput":56},"src/namespaces/common/mod.ts":{"bytesInOutput":0},"src/hub/namespaces/mod.ts":{"bytesInOutput":0},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/provider/mod.ts":{"bytesInOutput":0},"src/hub/store/mod.ts":{"bytesInOutput":0},"src/hub/store/store.ts":{"bytesInOutput":47},"src/hub/store/namespaces.ts":{"bytesInOutput":33},"src/hub/store/providers.ts":{"bytesInOutput":33},"src/mod.ts":{"bytesInOutput":0},"src/builders/mod.ts":{"bytesInOutput":0},"src/builders/action.ts":{"bytesInOutput":746},"src/utils/mod.ts":{"bytesInOutput":24},"src/namespaces/common/helpers.ts":{"bytesInOutput":114},"src/namespaces/common/and.ts":{"bytesInOutput":250},"src/namespaces/common/before.ts":{"bytesInOutput":95},"src/namespaces/utxo/before.ts":{"bytesInOutput":47},"src/namespaces/utxo/builders.ts":{"bytesInOutput":96},"src/namespaces/utxo/utils.ts":{"bytesInOutput":202},"src/namespaces/utxo/constants.ts":{"bytesInOutput":52}},"bytes":2462},"dist/namespaces/sui/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":35347},"dist/namespaces/sui/mod.js":{"imports":[{"path":"zustand/vanilla","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"@mysten/wallet-standard","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true}],"exports":["CAIP_NAMESPACE","CAIP_SUI_CHAIN_ID","actions","builders","getInstance","getInstanceOrThrow","hooks"],"entryPoint":"src/namespaces/sui/mod.ts","inputs":{"src/namespaces/sui/actions.ts":{"bytesInOutput":213},"src/namespaces/sui/mod.ts":{"bytesInOutput":0},"src/namespaces/sui/builders.ts":{"bytesInOutput":681},"src/hub/namespaces/mod.ts":{"bytesInOutput":0},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/provider/mod.ts":{"bytesInOutput":0},"src/hub/store/mod.ts":{"bytesInOutput":0},"src/hub/store/store.ts":{"bytesInOutput":47},"src/hub/store/namespaces.ts":{"bytesInOutput":33},"src/hub/store/providers.ts":{"bytesInOutput":33},"src/mod.ts":{"bytesInOutput":0},"src/builders/mod.ts":{"bytesInOutput":0},"src/builders/action.ts":{"bytesInOutput":746},"src/utils/mod.ts":{"bytesInOutput":23},"src/namespaces/common/hooks/changeAccountSubscriber.ts":{"bytesInOutput":1023},"src/namespaces/common/mod.ts":{"bytesInOutput":0},"src/namespaces/common/after.ts":{"bytesInOutput":81},"src/namespaces/common/helpers.ts":{"bytesInOutput":114},"src/namespaces/common/and.ts":{"bytesInOutput":250},"src/namespaces/common/before.ts":{"bytesInOutput":73},"src/namespaces/sui/constants.ts":{"bytesInOutput":20},"src/namespaces/sui/utils.ts":{"bytesInOutput":499},"src/namespaces/sui/hooks.ts":{"bytesInOutput":147}},"bytes":4287},"dist/namespaces/tron/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":22143},"dist/namespaces/tron/mod.js":{"imports":[{"path":"zustand/vanilla","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true}],"exports":["CAIP_NAMESPACE","CAIP_TRON_CHAIN_ID","actions","after","and","before","builders","utils"],"entryPoint":"src/namespaces/tron/mod.ts","inputs":{"src/namespaces/tron/actions.ts":{"bytesInOutput":47},"src/namespaces/common/actions.ts":{"bytesInOutput":171},"src/namespaces/tron/mod.ts":{"bytesInOutput":0},"src/namespaces/tron/after.ts":{"bytesInOutput":47},"src/namespaces/common/after.ts":{"bytesInOutput":103},"src/namespaces/tron/and.ts":{"bytesInOutput":56},"src/namespaces/common/mod.ts":{"bytesInOutput":0},"src/hub/namespaces/mod.ts":{"bytesInOutput":0},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/provider/mod.ts":{"bytesInOutput":0},"src/hub/store/mod.ts":{"bytesInOutput":0},"src/hub/store/store.ts":{"bytesInOutput":47},"src/hub/store/namespaces.ts":{"bytesInOutput":33},"src/hub/store/providers.ts":{"bytesInOutput":33},"src/mod.ts":{"bytesInOutput":0},"src/builders/mod.ts":{"bytesInOutput":0},"src/builders/action.ts":{"bytesInOutput":746},"src/utils/mod.ts":{"bytesInOutput":24},"src/namespaces/common/helpers.ts":{"bytesInOutput":114},"src/namespaces/common/and.ts":{"bytesInOutput":250},"src/namespaces/common/before.ts":{"bytesInOutput":95},"src/namespaces/tron/before.ts":{"bytesInOutput":47},"src/namespaces/tron/builders.ts":{"bytesInOutput":170},"src/namespaces/tron/utils.ts":{"bytesInOutput":202},"src/namespaces/tron/constants.ts":{"bytesInOutput":22}},"bytes":2503},"dist/namespaces/starknet/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":23582},"dist/namespaces/starknet/mod.js":{"imports":[{"path":"zustand/vanilla","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true}],"exports":["CAIP_NAMESPACE","CAIP_STARKNET_CHAIN_ID","actions","after","and","before","builders","utils"],"entryPoint":"src/namespaces/starknet/mod.ts","inputs":{"src/namespaces/starknet/actions.ts":{"bytesInOutput":278},"src/namespaces/common/actions.ts":{"bytesInOutput":171},"src/namespaces/starknet/mod.ts":{"bytesInOutput":0},"src/namespaces/starknet/after.ts":{"bytesInOutput":47},"src/namespaces/common/after.ts":{"bytesInOutput":103},"src/namespaces/starknet/and.ts":{"bytesInOutput":56},"src/namespaces/common/mod.ts":{"bytesInOutput":0},"src/hub/namespaces/mod.ts":{"bytesInOutput":0},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/provider/mod.ts":{"bytesInOutput":0},"src/hub/store/mod.ts":{"bytesInOutput":0},"src/hub/store/store.ts":{"bytesInOutput":47},"src/hub/store/namespaces.ts":{"bytesInOutput":33},"src/hub/store/providers.ts":{"bytesInOutput":33},"src/mod.ts":{"bytesInOutput":0},"src/builders/mod.ts":{"bytesInOutput":0},"src/builders/action.ts":{"bytesInOutput":746},"src/utils/mod.ts":{"bytesInOutput":24},"src/namespaces/common/helpers.ts":{"bytesInOutput":114},"src/namespaces/common/and.ts":{"bytesInOutput":250},"src/namespaces/common/before.ts":{"bytesInOutput":95},"src/namespaces/starknet/before.ts":{"bytesInOutput":47},"src/namespaces/starknet/builders.ts":{"bytesInOutput":170},"src/namespaces/starknet/utils.ts":{"bytesInOutput":367},"src/legacy/mod.ts":{"bytesInOutput":0},"src/namespaces/starknet/constants.ts":{"bytesInOutput":29}},"bytes":2910},"dist/namespaces/common/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":31572},"dist/namespaces/common/mod.js":{"imports":[{"path":"zustand/vanilla","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true}],"exports":["ChangeAccountSubscriberBuilder","actions","afterRecommended","andRecommended","beforeRecommended","builders","connectAndUpdateStateForMultiNetworks","connectAndUpdateStateForSingleNetwork","intoConnecting","intoConnectionFinished","parseErrorAndThrowStandardizeError","standardizeAndThrowError"],"entryPoint":"src/namespaces/common/mod.ts","inputs":{"src/namespaces/common/actions.ts":{"bytesInOutput":222},"src/namespaces/common/mod.ts":{"bytesInOutput":0},"src/namespaces/common/builders.ts":{"bytesInOutput":89},"src/hub/namespaces/mod.ts":{"bytesInOutput":0},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/provider/mod.ts":{"bytesInOutput":0},"src/hub/store/mod.ts":{"bytesInOutput":0},"src/hub/store/store.ts":{"bytesInOutput":47},"src/hub/store/namespaces.ts":{"bytesInOutput":33},"src/hub/store/providers.ts":{"bytesInOutput":33},"src/mod.ts":{"bytesInOutput":0},"src/builders/mod.ts":{"bytesInOutput":0},"src/builders/action.ts":{"bytesInOutput":746},"src/utils/mod.ts":{"bytesInOutput":24},"src/namespaces/common/utils.ts":{"bytesInOutput":326},"src/namespaces/common/or.ts":{"bytesInOutput":53},"src/namespaces/common/after.ts":{"bytesInOutput":103},"src/namespaces/common/hooks/changeAccountSubscriber.ts":{"bytesInOutput":1023},"src/namespaces/common/helpers.ts":{"bytesInOutput":114},"src/namespaces/common/and.ts":{"bytesInOutput":559},"src/namespaces/common/before.ts":{"bytesInOutput":95}},"bytes":3981}}}
1
+ {"inputs":{"src/hub/helpers.ts":{"bytes":371,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/namespaces/errors.ts":{"bytes":455,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/namespaces/namespace.ts":{"bytes":13059,"imports":[{"path":"src/hub/helpers.ts","kind":"import-statement","original":"../helpers.js"},{"path":"src/hub/namespaces/errors.ts","kind":"import-statement","original":"./errors.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/namespaces/mod.ts":{"bytes":181,"imports":[{"path":"src/hub/namespaces/namespace.ts","kind":"import-statement","original":"./namespace.js"}],"format":"esm"},"src/hub/provider/provider.ts":{"bytes":9373,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/provider/mod.ts":{"bytes":196,"imports":[{"path":"src/hub/provider/provider.ts","kind":"import-statement","original":"./provider.js"}],"format":"esm"},"src/hub/hub.ts":{"bytes":3436,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/store/selectors.ts":{"bytes":2228,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/store/extend.ts":{"bytes":3898,"imports":[{"path":"src/hub/store/selectors.ts","kind":"import-statement","original":"./selectors.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/store/hub.ts":{"bytes":342,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/store/events.ts":{"bytes":1956,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/store/namespaces.ts":{"bytes":4883,"imports":[{"path":"immer","kind":"import-statement","external":true},{"path":"src/hub/store/events.ts","kind":"import-statement","original":"./events.js"},{"path":"src/hub/store/mod.ts","kind":"import-statement","original":"./mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/store/providers.ts":{"bytes":4043,"imports":[{"path":"immer","kind":"import-statement","external":true},{"path":"src/hub/store/events.ts","kind":"import-statement","original":"./events.js"},{"path":"src/hub/store/mod.ts","kind":"import-statement","original":"./mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/store/store.ts":{"bytes":808,"imports":[{"path":"zustand/vanilla","kind":"import-statement","external":true},{"path":"src/hub/store/extend.ts","kind":"import-statement","original":"./extend.js"},{"path":"src/hub/store/hub.ts","kind":"import-statement","original":"./hub.js"},{"path":"src/hub/store/namespaces.ts","kind":"import-statement","original":"./namespaces.js"},{"path":"src/hub/store/providers.ts","kind":"import-statement","original":"./providers.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/store/mod.ts":{"bytes":652,"imports":[{"path":"src/hub/store/selectors.ts","kind":"import-statement","original":"./selectors.js"},{"path":"src/hub/store/store.ts","kind":"import-statement","original":"./store.js"}],"format":"esm"},"src/hub/mod.ts":{"bytes":522,"imports":[{"path":"src/hub/namespaces/mod.ts","kind":"import-statement","original":"./namespaces/mod.js"},{"path":"src/hub/provider/mod.ts","kind":"import-statement","original":"./provider/mod.js"},{"path":"src/hub/hub.ts","kind":"import-statement","original":"./hub.js"},{"path":"src/hub/store/mod.ts","kind":"import-statement","original":"./store/mod.js"},{"path":"src/hub/helpers.ts","kind":"import-statement","original":"./helpers.js"}],"format":"esm"},"src/builders/namespace.ts":{"bytes":7991,"imports":[{"path":"src/hub/mod.ts","kind":"import-statement","original":"../hub/mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/builders/provider.ts":{"bytes":1588,"imports":[{"path":"src/hub/provider/mod.ts","kind":"import-statement","original":"../hub/provider/mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/builders/action.ts":{"bytes":2385,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/builders/mod.ts":{"bytes":220,"imports":[{"path":"src/builders/namespace.ts","kind":"import-statement","original":"./namespace.js"},{"path":"src/builders/provider.ts","kind":"import-statement","original":"./provider.js"},{"path":"src/builders/action.ts","kind":"import-statement","original":"./action.js"}],"format":"esm"},"src/utils/versions.ts":{"bytes":1851,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/utils/mod.ts":{"bytes":356,"imports":[{"path":"caip","kind":"import-statement","external":true},{"path":"src/hub/helpers.ts","kind":"import-statement","original":"../hub/helpers.js"},{"path":"src/utils/versions.ts","kind":"import-statement","original":"./versions.js"}],"format":"esm"},"src/mod.ts":{"bytes":1504,"imports":[{"path":"src/hub/mod.ts","kind":"import-statement","original":"./hub/mod.js"},{"path":"src/builders/mod.ts","kind":"import-statement","original":"./builders/mod.js"},{"path":"src/utils/mod.ts","kind":"import-statement","original":"./utils/mod.js"}],"format":"esm"},"src/legacy/types.ts":{"bytes":7263,"imports":[],"format":"esm"},"src/legacy/persistor.ts":{"bytes":544,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/helpers.ts":{"bytes":1855,"imports":[{"path":"src/legacy/types.ts","kind":"import-statement","original":"./types.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/utils.ts":{"bytes":645,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/wallet.ts":{"bytes":16229,"imports":[{"path":"src/legacy/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/legacy/types.ts","kind":"import-statement","original":"./types.js"},{"path":"src/legacy/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/mod.ts":{"bytes":1518,"imports":[{"path":"src/legacy/types.ts","kind":"import-statement","original":"./types.js"},{"path":"src/legacy/persistor.ts","kind":"import-statement","original":"./persistor.js"},{"path":"src/legacy/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/legacy/wallet.ts","kind":"import-statement","original":"./wallet.js"},{"path":"src/legacy/utils.ts","kind":"import-statement","original":"./utils.js"}],"format":"esm"},"src/namespaces/common/actions.ts":{"bytes":380,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/evm/constants.ts":{"bytes":83,"imports":[],"format":"esm"},"src/namespaces/evm/utils.ts":{"bytes":3494,"imports":[{"path":"caip","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/namespaces/evm/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/evm/actions.ts":{"bytes":4096,"imports":[{"path":"src/namespaces/common/actions.ts","kind":"import-statement","original":"../common/actions.js"},{"path":"src/namespaces/evm/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/evm/hooks.ts":{"bytes":1217,"imports":[{"path":"src/namespaces/evm/mod.ts","kind":"import-statement","original":"./mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/common/after.ts":{"bytes":271,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/evm/after.ts":{"bytes":123,"imports":[{"path":"src/namespaces/common/after.ts","kind":"import-statement","original":"../common/after.js"}],"format":"esm"},"src/namespaces/common/builders.ts":{"bytes":545,"imports":[{"path":"src/mod.ts","kind":"import-statement","original":"../../mod.js"},{"path":"src/namespaces/common/actions.ts","kind":"import-statement","original":"./actions.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/common/utils.ts":{"bytes":987,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/common/or.ts":{"bytes":734,"imports":[{"path":"src/namespaces/common/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/common/hooks/changeAccountSubscriber.ts":{"bytes":7467,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/common/helpers.ts":{"bytes":189,"imports":[{"path":"caip","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/common/and.ts":{"bytes":1144,"imports":[{"path":"src/namespaces/common/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/common/before.ts":{"bytes":351,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/common/mod.ts":{"bytes":749,"imports":[{"path":"src/namespaces/common/actions.ts","kind":"import-statement","original":"./actions.js"},{"path":"src/namespaces/common/builders.ts","kind":"import-statement","original":"./builders.js"},{"path":"src/namespaces/common/or.ts","kind":"import-statement","original":"./or.js"},{"path":"src/namespaces/common/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"src/namespaces/common/after.ts","kind":"import-statement","original":"./after.js"},{"path":"src/namespaces/common/hooks/changeAccountSubscriber.ts","kind":"import-statement","original":"./hooks/changeAccountSubscriber.js"},{"path":"src/namespaces/common/and.ts","kind":"import-statement","original":"./and.js"},{"path":"src/namespaces/common/before.ts","kind":"import-statement","original":"./before.js"}],"format":"esm"},"src/namespaces/evm/and.ts":{"bytes":170,"imports":[{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"}],"format":"esm"},"src/namespaces/evm/before.ts":{"bytes":106,"imports":[{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"}],"format":"esm"},"src/namespaces/evm/builders.ts":{"bytes":1992,"imports":[{"path":"src/mod.ts","kind":"import-statement","original":"../../mod.js"},{"path":"src/namespaces/common/hooks/changeAccountSubscriber.ts","kind":"import-statement","original":"../common/hooks/changeAccountSubscriber.js"},{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"},{"path":"src/namespaces/evm/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/evm/mod.ts":{"bytes":416,"imports":[{"path":"src/namespaces/evm/actions.ts","kind":"import-statement","original":"./actions.js"},{"path":"src/namespaces/evm/hooks.ts","kind":"import-statement","original":"./hooks.js"},{"path":"src/namespaces/evm/after.ts","kind":"import-statement","original":"./after.js"},{"path":"src/namespaces/evm/and.ts","kind":"import-statement","original":"./and.js"},{"path":"src/namespaces/evm/before.ts","kind":"import-statement","original":"./before.js"},{"path":"src/namespaces/evm/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"src/namespaces/evm/builders.ts","kind":"import-statement","original":"./builders.js"},{"path":"src/namespaces/evm/constants.ts","kind":"import-statement","original":"./constants.js"}],"format":"esm"},"src/namespaces/solana/constants.ts":{"bytes":112,"imports":[],"format":"esm"},"src/namespaces/solana/utils.ts":{"bytes":1037,"imports":[{"path":"caip","kind":"import-statement","external":true},{"path":"src/legacy/mod.ts","kind":"import-statement","original":"../../legacy/mod.js"},{"path":"src/namespaces/solana/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/solana/actions.ts":{"bytes":1262,"imports":[{"path":"src/namespaces/common/actions.ts","kind":"import-statement","original":"../common/actions.js"},{"path":"src/namespaces/solana/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/solana/hooks.ts":{"bytes":369,"imports":[{"path":"src/namespaces/solana/mod.ts","kind":"import-statement","original":"./mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/solana/after.ts":{"bytes":123,"imports":[{"path":"src/namespaces/common/after.ts","kind":"import-statement","original":"../common/after.js"}],"format":"esm"},"src/namespaces/solana/and.ts":{"bytes":170,"imports":[{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"}],"format":"esm"},"src/namespaces/solana/before.ts":{"bytes":124,"imports":[{"path":"src/namespaces/common/before.ts","kind":"import-statement","original":"../common/before.js"}],"format":"esm"},"src/namespaces/solana/builders.ts":{"bytes":1433,"imports":[{"path":"src/mod.ts","kind":"import-statement","original":"../../mod.js"},{"path":"src/namespaces/common/hooks/changeAccountSubscriber.ts","kind":"import-statement","original":"../common/hooks/changeAccountSubscriber.js"},{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"},{"path":"src/namespaces/solana/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/solana/mod.ts":{"bytes":401,"imports":[{"path":"src/namespaces/solana/actions.ts","kind":"import-statement","original":"./actions.js"},{"path":"src/namespaces/solana/hooks.ts","kind":"import-statement","original":"./hooks.js"},{"path":"src/namespaces/solana/after.ts","kind":"import-statement","original":"./after.js"},{"path":"src/namespaces/solana/and.ts","kind":"import-statement","original":"./and.js"},{"path":"src/namespaces/solana/before.ts","kind":"import-statement","original":"./before.js"},{"path":"src/namespaces/solana/builders.ts","kind":"import-statement","original":"./builders.js"},{"path":"src/namespaces/solana/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"src/namespaces/solana/constants.ts","kind":"import-statement","original":"./constants.js"}],"format":"esm"},"src/namespaces/cosmos/actions.ts":{"bytes":125,"imports":[{"path":"src/namespaces/common/actions.ts","kind":"import-statement","original":"../common/actions.js"}],"format":"esm"},"src/namespaces/cosmos/after.ts":{"bytes":123,"imports":[{"path":"src/namespaces/common/after.ts","kind":"import-statement","original":"../common/after.js"}],"format":"esm"},"src/namespaces/cosmos/and.ts":{"bytes":170,"imports":[{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"}],"format":"esm"},"src/namespaces/cosmos/before.ts":{"bytes":106,"imports":[{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"}],"format":"esm"},"src/namespaces/cosmos/constants.ts":{"bytes":40,"imports":[],"format":"esm"},"src/namespaces/cosmos/utils.ts":{"bytes":595,"imports":[{"path":"caip","kind":"import-statement","external":true},{"path":"src/namespaces/cosmos/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/cosmos/builders.ts":{"bytes":427,"imports":[{"path":"src/mod.ts","kind":"import-statement","original":"../../mod.js"},{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/cosmos/mod.ts":{"bytes":404,"imports":[{"path":"src/namespaces/cosmos/actions.ts","kind":"import-statement","original":"./actions.js"},{"path":"src/namespaces/cosmos/after.ts","kind":"import-statement","original":"./after.js"},{"path":"src/namespaces/cosmos/and.ts","kind":"import-statement","original":"./and.js"},{"path":"src/namespaces/cosmos/before.ts","kind":"import-statement","original":"./before.js"},{"path":"src/namespaces/cosmos/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"src/namespaces/cosmos/builders.ts","kind":"import-statement","original":"./builders.js"},{"path":"src/namespaces/cosmos/constants.ts","kind":"import-statement","original":"./constants.js"}],"format":"esm"},"src/namespaces/utxo/actions.ts":{"bytes":125,"imports":[{"path":"src/namespaces/common/actions.ts","kind":"import-statement","original":"../common/actions.js"}],"format":"esm"},"src/namespaces/utxo/after.ts":{"bytes":123,"imports":[{"path":"src/namespaces/common/after.ts","kind":"import-statement","original":"../common/after.js"}],"format":"esm"},"src/namespaces/utxo/and.ts":{"bytes":170,"imports":[{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"}],"format":"esm"},"src/namespaces/utxo/before.ts":{"bytes":124,"imports":[{"path":"src/namespaces/common/before.ts","kind":"import-statement","original":"../common/before.js"}],"format":"esm"},"src/namespaces/utxo/builders.ts":{"bytes":480,"imports":[{"path":"src/mod.ts","kind":"import-statement","original":"../../mod.js"},{"path":"src/namespaces/common/after.ts","kind":"import-statement","original":"../common/after.js"},{"path":"src/namespaces/common/and.ts","kind":"import-statement","original":"../common/and.js"},{"path":"src/namespaces/common/before.ts","kind":"import-statement","original":"../common/before.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/utxo/constants.ts":{"bytes":113,"imports":[],"format":"esm"},"src/namespaces/utxo/utils.ts":{"bytes":465,"imports":[{"path":"caip","kind":"import-statement","external":true},{"path":"src/namespaces/utxo/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/utxo/mod.ts":{"bytes":362,"imports":[{"path":"src/namespaces/utxo/actions.ts","kind":"import-statement","original":"./actions.js"},{"path":"src/namespaces/utxo/after.ts","kind":"import-statement","original":"./after.js"},{"path":"src/namespaces/utxo/and.ts","kind":"import-statement","original":"./and.js"},{"path":"src/namespaces/utxo/before.ts","kind":"import-statement","original":"./before.js"},{"path":"src/namespaces/utxo/builders.ts","kind":"import-statement","original":"./builders.js"},{"path":"src/namespaces/utxo/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"src/namespaces/utxo/constants.ts","kind":"import-statement","original":"./constants.js"}],"format":"esm"},"src/namespaces/sui/actions.ts":{"bytes":652,"imports":[{"path":"src/namespaces/sui/mod.ts","kind":"import-statement","original":"./mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/sui/constants.ts":{"bytes":275,"imports":[],"format":"esm"},"src/namespaces/sui/utils.ts":{"bytes":1527,"imports":[{"path":"@mysten/wallet-standard","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"src/namespaces/sui/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/sui/builders.ts":{"bytes":2414,"imports":[{"path":"src/mod.ts","kind":"import-statement","original":"../../mod.js"},{"path":"src/utils/mod.ts","kind":"import-statement","original":"../../utils/mod.js"},{"path":"src/namespaces/common/hooks/changeAccountSubscriber.ts","kind":"import-statement","original":"../common/hooks/changeAccountSubscriber.js"},{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"},{"path":"src/namespaces/sui/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"src/namespaces/sui/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/sui/hooks.ts":{"bytes":401,"imports":[{"path":"src/namespaces/sui/mod.ts","kind":"import-statement","original":"./mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/sui/mod.ts":{"bytes":312,"imports":[{"path":"src/namespaces/sui/actions.ts","kind":"import-statement","original":"./actions.js"},{"path":"src/namespaces/sui/builders.ts","kind":"import-statement","original":"./builders.js"},{"path":"src/namespaces/sui/hooks.ts","kind":"import-statement","original":"./hooks.js"},{"path":"src/namespaces/sui/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"src/namespaces/sui/constants.ts","kind":"import-statement","original":"./constants.js"}],"format":"esm"},"src/namespaces/tron/actions.ts":{"bytes":125,"imports":[{"path":"src/namespaces/common/actions.ts","kind":"import-statement","original":"../common/actions.js"}],"format":"esm"},"src/namespaces/tron/after.ts":{"bytes":123,"imports":[{"path":"src/namespaces/common/after.ts","kind":"import-statement","original":"../common/after.js"}],"format":"esm"},"src/namespaces/tron/and.ts":{"bytes":170,"imports":[{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"}],"format":"esm"},"src/namespaces/tron/before.ts":{"bytes":124,"imports":[{"path":"src/namespaces/common/before.ts","kind":"import-statement","original":"../common/before.js"}],"format":"esm"},"src/namespaces/tron/builders.ts":{"bytes":590,"imports":[{"path":"src/mod.ts","kind":"import-statement","original":"../../mod.js"},{"path":"src/namespaces/common/after.ts","kind":"import-statement","original":"../common/after.js"},{"path":"src/namespaces/common/and.ts","kind":"import-statement","original":"../common/and.js"},{"path":"src/namespaces/common/before.ts","kind":"import-statement","original":"../common/before.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/tron/constants.ts":{"bytes":278,"imports":[],"format":"esm"},"src/namespaces/tron/utils.ts":{"bytes":459,"imports":[{"path":"caip","kind":"import-statement","external":true},{"path":"src/namespaces/tron/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/tron/mod.ts":{"bytes":359,"imports":[{"path":"src/namespaces/tron/actions.ts","kind":"import-statement","original":"./actions.js"},{"path":"src/namespaces/tron/after.ts","kind":"import-statement","original":"./after.js"},{"path":"src/namespaces/tron/and.ts","kind":"import-statement","original":"./and.js"},{"path":"src/namespaces/tron/before.ts","kind":"import-statement","original":"./before.js"},{"path":"src/namespaces/tron/builders.ts","kind":"import-statement","original":"./builders.js"},{"path":"src/namespaces/tron/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"src/namespaces/tron/constants.ts","kind":"import-statement","original":"./constants.js"}],"format":"esm"},"src/namespaces/starknet/actions.ts":{"bytes":526,"imports":[{"path":"src/namespaces/common/actions.ts","kind":"import-statement","original":"../common/actions.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/starknet/after.ts":{"bytes":123,"imports":[{"path":"src/namespaces/common/after.ts","kind":"import-statement","original":"../common/after.js"}],"format":"esm"},"src/namespaces/starknet/and.ts":{"bytes":170,"imports":[{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"}],"format":"esm"},"src/namespaces/starknet/before.ts":{"bytes":124,"imports":[{"path":"src/namespaces/common/before.ts","kind":"import-statement","original":"../common/before.js"}],"format":"esm"},"src/namespaces/starknet/builders.ts":{"bytes":545,"imports":[{"path":"src/mod.ts","kind":"import-statement","original":"../../mod.js"},{"path":"src/namespaces/common/mod.ts","kind":"import-statement","original":"../common/mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/starknet/constants.ts":{"bytes":293,"imports":[],"format":"esm"},"src/namespaces/starknet/utils.ts":{"bytes":957,"imports":[{"path":"caip","kind":"import-statement","external":true},{"path":"src/legacy/mod.ts","kind":"import-statement","original":"../../legacy/mod.js"},{"path":"src/namespaces/starknet/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/starknet/mod.ts":{"bytes":368,"imports":[{"path":"src/namespaces/starknet/actions.ts","kind":"import-statement","original":"./actions.js"},{"path":"src/namespaces/starknet/after.ts","kind":"import-statement","original":"./after.js"},{"path":"src/namespaces/starknet/and.ts","kind":"import-statement","original":"./and.js"},{"path":"src/namespaces/starknet/before.ts","kind":"import-statement","original":"./before.js"},{"path":"src/namespaces/starknet/builders.ts","kind":"import-statement","original":"./builders.js"},{"path":"src/namespaces/starknet/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"src/namespaces/starknet/constants.ts","kind":"import-statement","original":"./constants.js"}],"format":"esm"}},"outputs":{"dist/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":82625},"dist/mod.js":{"imports":[{"path":"zustand/vanilla","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true}],"exports":["ActionBuilder","Hub","Namespace","NamespaceBuilder","Provider","ProviderBuilder","createStore","defineVersions","guessProviderStateSelector","namespaceStateSelector","pickVersion"],"entryPoint":"src/mod.ts","inputs":{"src/hub/helpers.ts":{"bytesInOutput":131},"src/hub/namespaces/errors.ts":{"bytesInOutput":332},"src/hub/namespaces/namespace.ts":{"bytesInOutput":2633},"src/hub/namespaces/mod.ts":{"bytesInOutput":0},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/provider/provider.ts":{"bytesInOutput":1781},"src/hub/provider/mod.ts":{"bytesInOutput":0},"src/hub/hub.ts":{"bytesInOutput":875},"src/hub/store/selectors.ts":{"bytesInOutput":386},"src/hub/store/mod.ts":{"bytesInOutput":0},"src/hub/store/store.ts":{"bytesInOutput":157},"src/hub/store/extend.ts":{"bytesInOutput":833},"src/hub/store/hub.ts":{"bytesInOutput":38},"src/hub/store/namespaces.ts":{"bytesInOutput":1403},"src/hub/store/events.ts":{"bytesInOutput":188},"src/hub/store/providers.ts":{"bytesInOutput":637},"src/mod.ts":{"bytesInOutput":0},"src/builders/namespace.ts":{"bytesInOutput":1397},"src/builders/mod.ts":{"bytesInOutput":0},"src/builders/provider.ts":{"bytesInOutput":465},"src/builders/action.ts":{"bytesInOutput":746},"src/utils/mod.ts":{"bytesInOutput":24},"src/utils/versions.ts":{"bytesInOutput":356}},"bytes":12716},"dist/utils/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":3724},"dist/utils/mod.js":{"imports":[{"path":"caip","kind":"import-statement","external":true}],"exports":["CAIP","defineVersions","generateStoreId","legacyProviderImportsToVersionsInterface","pickVersion"],"entryPoint":"src/utils/mod.ts","inputs":{"src/utils/mod.ts":{"bytesInOutput":23},"src/hub/helpers.ts":{"bytesInOutput":58},"src/utils/versions.ts":{"bytesInOutput":456}},"bytes":771},"dist/legacy/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":37321},"dist/legacy/mod.js":{"imports":[],"exports":["LegacyEvents","LegacyNetworks","LegacyWallet","Persistor","legacyEagerConnectHandler","legacyFormatAddressWithNetwork","legacyGetBlockChainNameFromId","legacyIsEvmNamespace","legacyReadAccountAddress"],"entryPoint":"src/legacy/mod.ts","inputs":{"src/legacy/types.ts":{"bytesInOutput":1555},"src/legacy/mod.ts":{"bytesInOutput":0},"src/legacy/persistor.ts":{"bytesInOutput":206},"src/legacy/helpers.ts":{"bytesInOutput":610},"src/legacy/utils.ts":{"bytesInOutput":238},"src/legacy/wallet.ts":{"bytesInOutput":6000}},"bytes":8958},"dist/hub/store/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":25244},"dist/hub/store/mod.js":{"imports":[{"path":"zustand/vanilla","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true}],"exports":["createStore","guessProviderStateSelector","namespaceStateSelector"],"entryPoint":"src/hub/store/mod.ts","inputs":{"src/hub/store/selectors.ts":{"bytesInOutput":386},"src/hub/store/mod.ts":{"bytesInOutput":0},"src/hub/store/store.ts":{"bytesInOutput":157},"src/hub/store/extend.ts":{"bytesInOutput":833},"src/hub/store/hub.ts":{"bytesInOutput":38},"src/hub/store/namespaces.ts":{"bytesInOutput":1403},"src/hub/store/events.ts":{"bytesInOutput":188},"src/hub/store/providers.ts":{"bytesInOutput":637}},"bytes":3839},"dist/namespaces/evm/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":46219},"dist/namespaces/evm/mod.js":{"imports":[{"path":"caip","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"zustand/vanilla","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true}],"exports":["CAIP_ETHEREUM_CHAIN_ID","CAIP_NAMESPACE","actions","after","and","before","builders","hooks","utils"],"entryPoint":"src/namespaces/evm/mod.ts","inputs":{"src/namespaces/evm/actions.ts":{"bytesInOutput":1255},"src/namespaces/common/actions.ts":{"bytesInOutput":171},"src/namespaces/evm/utils.ts":{"bytesInOutput":1287},"src/namespaces/evm/constants.ts":{"bytesInOutput":21},"src/namespaces/evm/mod.ts":{"bytesInOutput":0},"src/namespaces/evm/hooks.ts":{"bytesInOutput":492},"src/namespaces/evm/after.ts":{"bytesInOutput":49},"src/namespaces/common/after.ts":{"bytesInOutput":103},"src/namespaces/evm/and.ts":{"bytesInOutput":58},"src/namespaces/common/mod.ts":{"bytesInOutput":0},"src/hub/namespaces/mod.ts":{"bytesInOutput":0},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/provider/mod.ts":{"bytesInOutput":0},"src/hub/store/mod.ts":{"bytesInOutput":0},"src/hub/store/store.ts":{"bytesInOutput":47},"src/hub/store/namespaces.ts":{"bytesInOutput":33},"src/hub/store/providers.ts":{"bytesInOutput":33},"src/mod.ts":{"bytesInOutput":0},"src/builders/mod.ts":{"bytesInOutput":0},"src/builders/action.ts":{"bytesInOutput":746},"src/utils/mod.ts":{"bytesInOutput":24},"src/namespaces/common/hooks/changeAccountSubscriber.ts":{"bytesInOutput":1023},"src/namespaces/common/helpers.ts":{"bytesInOutput":116},"src/namespaces/common/and.ts":{"bytesInOutput":300},"src/namespaces/common/before.ts":{"bytesInOutput":95},"src/namespaces/evm/before.ts":{"bytesInOutput":49},"src/namespaces/evm/builders.ts":{"bytesInOutput":711}},"bytes":6924},"dist/namespaces/solana/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":36022},"dist/namespaces/solana/mod.js":{"imports":[{"path":"caip","kind":"import-statement","external":true},{"path":"zustand/vanilla","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true}],"exports":["CAIP_NAMESPACE","CAIP_SOLANA_CHAIN_ID","actions","after","and","before","builders","hooks","utils"],"entryPoint":"src/namespaces/solana/mod.ts","inputs":{"src/namespaces/solana/actions.ts":{"bytesInOutput":519},"src/namespaces/common/actions.ts":{"bytesInOutput":171},"src/namespaces/solana/utils.ts":{"bytesInOutput":367},"src/legacy/mod.ts":{"bytesInOutput":0},"src/namespaces/solana/constants.ts":{"bytesInOutput":52},"src/namespaces/solana/mod.ts":{"bytesInOutput":0},"src/namespaces/solana/hooks.ts":{"bytesInOutput":135},"src/namespaces/solana/after.ts":{"bytesInOutput":47},"src/namespaces/common/after.ts":{"bytesInOutput":103},"src/namespaces/solana/and.ts":{"bytesInOutput":58},"src/namespaces/common/mod.ts":{"bytesInOutput":0},"src/hub/namespaces/mod.ts":{"bytesInOutput":0},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/provider/mod.ts":{"bytesInOutput":0},"src/hub/store/mod.ts":{"bytesInOutput":0},"src/hub/store/store.ts":{"bytesInOutput":47},"src/hub/store/namespaces.ts":{"bytesInOutput":33},"src/hub/store/providers.ts":{"bytesInOutput":33},"src/mod.ts":{"bytesInOutput":0},"src/builders/mod.ts":{"bytesInOutput":0},"src/builders/action.ts":{"bytesInOutput":746},"src/utils/mod.ts":{"bytesInOutput":24},"src/namespaces/common/hooks/changeAccountSubscriber.ts":{"bytesInOutput":1023},"src/namespaces/common/helpers.ts":{"bytesInOutput":116},"src/namespaces/common/and.ts":{"bytesInOutput":250},"src/namespaces/common/before.ts":{"bytesInOutput":95},"src/namespaces/solana/before.ts":{"bytesInOutput":49},"src/namespaces/solana/builders.ts":{"bytesInOutput":403}},"bytes":4580},"dist/namespaces/cosmos/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":22076},"dist/namespaces/cosmos/mod.js":{"imports":[{"path":"zustand/vanilla","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true}],"exports":["CAIP_NAMESPACE","actions","after","and","before","builders","utils"],"entryPoint":"src/namespaces/cosmos/mod.ts","inputs":{"src/namespaces/cosmos/actions.ts":{"bytesInOutput":47},"src/namespaces/common/actions.ts":{"bytesInOutput":171},"src/namespaces/cosmos/mod.ts":{"bytesInOutput":0},"src/namespaces/cosmos/after.ts":{"bytesInOutput":47},"src/namespaces/common/after.ts":{"bytesInOutput":103},"src/namespaces/cosmos/and.ts":{"bytesInOutput":56},"src/namespaces/common/mod.ts":{"bytesInOutput":0},"src/hub/namespaces/mod.ts":{"bytesInOutput":0},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/provider/mod.ts":{"bytesInOutput":0},"src/hub/store/mod.ts":{"bytesInOutput":0},"src/hub/store/store.ts":{"bytesInOutput":47},"src/hub/store/namespaces.ts":{"bytesInOutput":33},"src/hub/store/providers.ts":{"bytesInOutput":33},"src/mod.ts":{"bytesInOutput":0},"src/builders/mod.ts":{"bytesInOutput":0},"src/builders/action.ts":{"bytesInOutput":746},"src/utils/mod.ts":{"bytesInOutput":24},"src/namespaces/common/helpers.ts":{"bytesInOutput":114},"src/namespaces/common/and.ts":{"bytesInOutput":550},"src/namespaces/common/before.ts":{"bytesInOutput":95},"src/namespaces/cosmos/before.ts":{"bytesInOutput":47},"src/namespaces/cosmos/utils.ts":{"bytesInOutput":222},"src/namespaces/cosmos/constants.ts":{"bytesInOutput":15},"src/namespaces/cosmos/builders.ts":{"bytesInOutput":96}},"bytes":2718},"dist/namespaces/utxo/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":21772},"dist/namespaces/utxo/mod.js":{"imports":[{"path":"zustand/vanilla","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true}],"exports":["CAIP_BITCOIN_CHAIN_ID","CAIP_NAMESPACE","actions","after","and","before","builders","utils"],"entryPoint":"src/namespaces/utxo/mod.ts","inputs":{"src/namespaces/utxo/actions.ts":{"bytesInOutput":47},"src/namespaces/common/actions.ts":{"bytesInOutput":171},"src/namespaces/utxo/mod.ts":{"bytesInOutput":0},"src/namespaces/utxo/after.ts":{"bytesInOutput":47},"src/namespaces/common/after.ts":{"bytesInOutput":103},"src/namespaces/utxo/and.ts":{"bytesInOutput":56},"src/namespaces/common/mod.ts":{"bytesInOutput":0},"src/hub/namespaces/mod.ts":{"bytesInOutput":0},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/provider/mod.ts":{"bytesInOutput":0},"src/hub/store/mod.ts":{"bytesInOutput":0},"src/hub/store/store.ts":{"bytesInOutput":47},"src/hub/store/namespaces.ts":{"bytesInOutput":33},"src/hub/store/providers.ts":{"bytesInOutput":33},"src/mod.ts":{"bytesInOutput":0},"src/builders/mod.ts":{"bytesInOutput":0},"src/builders/action.ts":{"bytesInOutput":746},"src/utils/mod.ts":{"bytesInOutput":24},"src/namespaces/common/helpers.ts":{"bytesInOutput":114},"src/namespaces/common/and.ts":{"bytesInOutput":250},"src/namespaces/common/before.ts":{"bytesInOutput":95},"src/namespaces/utxo/before.ts":{"bytesInOutput":47},"src/namespaces/utxo/builders.ts":{"bytesInOutput":96},"src/namespaces/utxo/utils.ts":{"bytesInOutput":202},"src/namespaces/utxo/constants.ts":{"bytesInOutput":52}},"bytes":2462},"dist/namespaces/sui/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":35347},"dist/namespaces/sui/mod.js":{"imports":[{"path":"zustand/vanilla","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"@mysten/wallet-standard","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true}],"exports":["CAIP_NAMESPACE","CAIP_SUI_CHAIN_ID","actions","builders","getInstance","getInstanceOrThrow","hooks"],"entryPoint":"src/namespaces/sui/mod.ts","inputs":{"src/namespaces/sui/actions.ts":{"bytesInOutput":213},"src/namespaces/sui/mod.ts":{"bytesInOutput":0},"src/namespaces/sui/builders.ts":{"bytesInOutput":681},"src/hub/namespaces/mod.ts":{"bytesInOutput":0},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/provider/mod.ts":{"bytesInOutput":0},"src/hub/store/mod.ts":{"bytesInOutput":0},"src/hub/store/store.ts":{"bytesInOutput":47},"src/hub/store/namespaces.ts":{"bytesInOutput":33},"src/hub/store/providers.ts":{"bytesInOutput":33},"src/mod.ts":{"bytesInOutput":0},"src/builders/mod.ts":{"bytesInOutput":0},"src/builders/action.ts":{"bytesInOutput":746},"src/utils/mod.ts":{"bytesInOutput":23},"src/namespaces/common/hooks/changeAccountSubscriber.ts":{"bytesInOutput":1023},"src/namespaces/common/mod.ts":{"bytesInOutput":0},"src/namespaces/common/after.ts":{"bytesInOutput":81},"src/namespaces/common/helpers.ts":{"bytesInOutput":114},"src/namespaces/common/and.ts":{"bytesInOutput":250},"src/namespaces/common/before.ts":{"bytesInOutput":73},"src/namespaces/sui/constants.ts":{"bytesInOutput":20},"src/namespaces/sui/utils.ts":{"bytesInOutput":499},"src/namespaces/sui/hooks.ts":{"bytesInOutput":147}},"bytes":4287},"dist/namespaces/tron/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":22143},"dist/namespaces/tron/mod.js":{"imports":[{"path":"zustand/vanilla","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true}],"exports":["CAIP_NAMESPACE","CAIP_TRON_CHAIN_ID","actions","after","and","before","builders","utils"],"entryPoint":"src/namespaces/tron/mod.ts","inputs":{"src/namespaces/tron/actions.ts":{"bytesInOutput":47},"src/namespaces/common/actions.ts":{"bytesInOutput":171},"src/namespaces/tron/mod.ts":{"bytesInOutput":0},"src/namespaces/tron/after.ts":{"bytesInOutput":47},"src/namespaces/common/after.ts":{"bytesInOutput":103},"src/namespaces/tron/and.ts":{"bytesInOutput":56},"src/namespaces/common/mod.ts":{"bytesInOutput":0},"src/hub/namespaces/mod.ts":{"bytesInOutput":0},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/provider/mod.ts":{"bytesInOutput":0},"src/hub/store/mod.ts":{"bytesInOutput":0},"src/hub/store/store.ts":{"bytesInOutput":47},"src/hub/store/namespaces.ts":{"bytesInOutput":33},"src/hub/store/providers.ts":{"bytesInOutput":33},"src/mod.ts":{"bytesInOutput":0},"src/builders/mod.ts":{"bytesInOutput":0},"src/builders/action.ts":{"bytesInOutput":746},"src/utils/mod.ts":{"bytesInOutput":24},"src/namespaces/common/helpers.ts":{"bytesInOutput":114},"src/namespaces/common/and.ts":{"bytesInOutput":250},"src/namespaces/common/before.ts":{"bytesInOutput":95},"src/namespaces/tron/before.ts":{"bytesInOutput":47},"src/namespaces/tron/builders.ts":{"bytesInOutput":170},"src/namespaces/tron/utils.ts":{"bytesInOutput":202},"src/namespaces/tron/constants.ts":{"bytesInOutput":22}},"bytes":2503},"dist/namespaces/starknet/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":23582},"dist/namespaces/starknet/mod.js":{"imports":[{"path":"zustand/vanilla","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true}],"exports":["CAIP_NAMESPACE","CAIP_STARKNET_CHAIN_ID","actions","after","and","before","builders","utils"],"entryPoint":"src/namespaces/starknet/mod.ts","inputs":{"src/namespaces/starknet/actions.ts":{"bytesInOutput":278},"src/namespaces/common/actions.ts":{"bytesInOutput":171},"src/namespaces/starknet/mod.ts":{"bytesInOutput":0},"src/namespaces/starknet/after.ts":{"bytesInOutput":47},"src/namespaces/common/after.ts":{"bytesInOutput":103},"src/namespaces/starknet/and.ts":{"bytesInOutput":56},"src/namespaces/common/mod.ts":{"bytesInOutput":0},"src/hub/namespaces/mod.ts":{"bytesInOutput":0},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/provider/mod.ts":{"bytesInOutput":0},"src/hub/store/mod.ts":{"bytesInOutput":0},"src/hub/store/store.ts":{"bytesInOutput":47},"src/hub/store/namespaces.ts":{"bytesInOutput":33},"src/hub/store/providers.ts":{"bytesInOutput":33},"src/mod.ts":{"bytesInOutput":0},"src/builders/mod.ts":{"bytesInOutput":0},"src/builders/action.ts":{"bytesInOutput":746},"src/utils/mod.ts":{"bytesInOutput":24},"src/namespaces/common/helpers.ts":{"bytesInOutput":114},"src/namespaces/common/and.ts":{"bytesInOutput":250},"src/namespaces/common/before.ts":{"bytesInOutput":95},"src/namespaces/starknet/before.ts":{"bytesInOutput":47},"src/namespaces/starknet/builders.ts":{"bytesInOutput":170},"src/namespaces/starknet/utils.ts":{"bytesInOutput":367},"src/legacy/mod.ts":{"bytesInOutput":0},"src/namespaces/starknet/constants.ts":{"bytesInOutput":29}},"bytes":2910},"dist/namespaces/common/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":31572},"dist/namespaces/common/mod.js":{"imports":[{"path":"zustand/vanilla","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"immer","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true},{"path":"caip","kind":"import-statement","external":true}],"exports":["ChangeAccountSubscriberBuilder","actions","afterRecommended","andRecommended","beforeRecommended","builders","connectAndUpdateStateForMultiNetworks","connectAndUpdateStateForSingleNetwork","intoConnecting","intoConnectionFinished","parseErrorAndThrowStandardizeError","standardizeAndThrowError"],"entryPoint":"src/namespaces/common/mod.ts","inputs":{"src/namespaces/common/actions.ts":{"bytesInOutput":222},"src/namespaces/common/mod.ts":{"bytesInOutput":0},"src/namespaces/common/builders.ts":{"bytesInOutput":89},"src/hub/namespaces/mod.ts":{"bytesInOutput":0},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/provider/mod.ts":{"bytesInOutput":0},"src/hub/store/mod.ts":{"bytesInOutput":0},"src/hub/store/store.ts":{"bytesInOutput":47},"src/hub/store/namespaces.ts":{"bytesInOutput":33},"src/hub/store/providers.ts":{"bytesInOutput":33},"src/mod.ts":{"bytesInOutput":0},"src/builders/mod.ts":{"bytesInOutput":0},"src/builders/action.ts":{"bytesInOutput":746},"src/utils/mod.ts":{"bytesInOutput":24},"src/namespaces/common/utils.ts":{"bytesInOutput":326},"src/namespaces/common/or.ts":{"bytesInOutput":53},"src/namespaces/common/after.ts":{"bytesInOutput":103},"src/namespaces/common/hooks/changeAccountSubscriber.ts":{"bytesInOutput":1023},"src/namespaces/common/helpers.ts":{"bytesInOutput":114},"src/namespaces/common/and.ts":{"bytesInOutput":559},"src/namespaces/common/before.ts":{"bytesInOutput":95}},"bytes":3981}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rango-dev/wallets-core",
3
- "version": "0.55.1-next.0",
3
+ "version": "0.56.1-next.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "source": "./src/mod.ts",
@@ -9,6 +9,16 @@ export enum Networks {
9
9
  THORCHAIN = 'THOR',
10
10
  BCH = 'BCH',
11
11
  BINANCE = 'BNB',
12
+ BLAST = 'BLAST',
13
+ CELO = 'CELO',
14
+ LINEA = 'LINEA',
15
+ METIS = 'METIS',
16
+ SONIC = 'SONIC',
17
+ BERACHAIN = 'BERACHAIN',
18
+ ZETA_CHAIN = 'ZETA_CHAIN',
19
+ SCROLL = 'SCROLL',
20
+ ZKSYNC = 'ZKSYNC',
21
+ MONAD = 'MONAD',
12
22
  ETHEREUM = 'ETH',
13
23
  POLYGON = 'POLYGON',
14
24
  TERRA = 'TERRA',
@@ -1,4 +1,9 @@
1
- import type { ConnectOptions, EvmActions, ProviderAPI } from './types.js';
1
+ import type {
2
+ ConnectOptions,
3
+ EvmActions,
4
+ ProviderAccounts,
5
+ ProviderAPI,
6
+ } from './types.js';
2
7
  import type { Context } from '../../hub/namespaces/mod.js';
3
8
  import type { CanEagerConnect } from '../../hub/namespaces/types.js';
4
9
  import type { FunctionWithContext } from '../../types/actions.js';
@@ -43,7 +48,17 @@ export function connect(
43
48
  }
44
49
  }
45
50
 
46
- const providerAccounts = await getAccounts(evmInstance);
51
+ let providerAccounts: ProviderAccounts;
52
+ /*
53
+ * The `getAccounts` function can be optionally provided through `options`
54
+ * to handle getting address and chainId of the specific wallet provider.
55
+ * This approach is necessary because not all providers follow the same conventions.
56
+ */
57
+ if (options?.getAccounts) {
58
+ providerAccounts = await options.getAccounts(evmInstance);
59
+ } else {
60
+ providerAccounts = await getAccounts(evmInstance);
61
+ }
47
62
 
48
63
  /*
49
64
  * Ensure that the provider returns at least one valid account before proceeding.
@@ -26,8 +26,12 @@ export type ProviderAPI = EIP1193Provider;
26
26
  // A 0x-prefixed hexadecimal string
27
27
  export type ChainId = string;
28
28
  export type Chain = AddEthereumChainParameter;
29
-
29
+ export type ProviderAccounts = {
30
+ accounts: string[];
31
+ chainId: ChainId;
32
+ };
30
33
  export type ConnectOptions = {
31
34
  switchOrAddNetwork?: (instance: ProviderAPI, chain: ChainId | Chain) => void;
35
+ getAccounts?: (provider: ProviderAPI) => Promise<ProviderAccounts>;
32
36
  derivationPath?: string;
33
37
  };