@rango-dev/provider-metamask 0.60.0 → 0.60.1-next.1

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,7 @@
1
+ # [0.60.0](https://github.com/rango-exchange/rango-client/compare/provider-metamask@0.59.1...provider-metamask@0.60.0) (2026-05-31)
2
+
3
+
4
+
1
5
  ## [0.59.1](https://github.com/rango-exchange/rango-client/compare/provider-metamask@0.59.0...provider-metamask@0.59.1) (2026-05-02)
2
6
 
3
7
 
@@ -1,6 +1,6 @@
1
1
  import type { WalletStandardSolanaInstance } from '../types.js';
2
- import type { Context, FunctionWithContext } from '@rango-dev/wallets-core';
3
- import { type SolanaActions } from '@rango-dev/wallets-core/namespaces/solana';
2
+ import type { Context, FunctionWithContext } from '@hub3js/core';
3
+ import { type SolanaActions } from '@hub3js/solana';
4
4
  declare function connect(getInstance: () => WalletStandardSolanaInstance): FunctionWithContext<SolanaActions['connect'], Context>;
5
5
  declare function canEagerConnect(getInstance: () => WalletStandardSolanaInstance): () => Promise<boolean>;
6
6
  export declare const solanaActions: {
@@ -1 +1 @@
1
- {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../src/actions/solana.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,EACL,KAAK,aAAa,EAEnB,MAAM,2CAA2C,CAAC;AAEnD,iBAAS,OAAO,CACd,WAAW,EAAE,MAAM,4BAA4B,GAC9C,mBAAmB,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAUxD;AACD,iBAAS,eAAe,CAAC,WAAW,EAAE,MAAM,4BAA4B,0BAmBvE;AACD,eAAO,MAAM,aAAa;;;CAA+B,CAAC"}
1
+ {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../src/actions/solana.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,EAAE,KAAK,aAAa,EAAS,MAAM,gBAAgB,CAAC;AAE3D,iBAAS,OAAO,CACd,WAAW,EAAE,MAAM,4BAA4B,GAC9C,mBAAmB,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAUxD;AACD,iBAAS,eAAe,CAAC,WAAW,EAAE,MAAM,4BAA4B,0BAmBvE;AACD,eAAO,MAAM,aAAa;;;CAA+B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { WalletStandardSolanaInstance } from '../types.js';
2
2
  import type { StandardEventsChangeProperties } from '@wallet-standard/features';
3
- import { ChangeAccountSubscriberBuilder } from '@rango-dev/wallets-core/namespaces/common';
4
- import { type SolanaActions } from '@rango-dev/wallets-core/namespaces/solana';
3
+ import { type SolanaActions } from '@hub3js/solana';
4
+ import { ChangeAccountSubscriberBuilder } from '@hub3js/std/hooks';
5
5
  export declare const solanaBuilders: {
6
6
  changeAccountSubscriber: (getInstance: () => WalletStandardSolanaInstance) => ChangeAccountSubscriberBuilder<StandardEventsChangeProperties, WalletStandardSolanaInstance, SolanaActions>;
7
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../src/builders/solana.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAEhF,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EACL,KAAK,aAAa,EAEnB,MAAM,2CAA2C,CAAC;AA4BnD,eAAO,MAAM,cAAc;2CAxBZ,MAAM,4BAA4B;CAwBQ,CAAC"}
1
+ {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../src/builders/solana.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAEhF,OAAO,EAAE,KAAK,aAAa,EAAS,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AA4BnE,eAAO,MAAM,cAAc;2CAxBZ,MAAM,4BAA4B;CAwBQ,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type ProviderMetadata } from '@rango-dev/wallets-core';
1
+ import type { ProviderMetadata } from '@hub3js/core';
2
2
  export declare const WALLET_ID = "metamask";
3
3
  export declare const WALLET_STANDARD_NAME = "MetaMask";
4
4
  export declare const SOLANA_WALLET_STANDARD_MAINNET = "solana:mainnet";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAUhE,eAAO,MAAM,SAAS,aAAa,CAAC;AACpC,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAC/C,eAAO,MAAM,8BAA8B,mBAAmB,CAAC;AAC/D,eAAO,MAAM,QAAQ,EAAE,gBA0CtB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAWrD,eAAO,MAAM,SAAS,aAAa,CAAC;AACpC,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAC/C,eAAO,MAAM,8BAA8B,mBAAmB,CAAC;AAC/D,eAAO,MAAM,QAAQ,EAAE,gBA0CtB,CAAC"}
package/dist/mod.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- declare const versions: () => import("@rango-dev/wallets-core/utils").VersionedProviders;
1
+ declare const versions: () => readonly [readonly ["0.0.0", import("@rango-dev/wallets-core/legacy").LegacyProviderInterface], readonly ["1.0.0", import("@hub3js/core").Provider<Record<"evm", import("@hub3js/evm").EvmActions> & Record<"solana", import("@hub3js/solana").SolanaActions>>]];
2
2
  export { versions };
3
3
  //# sourceMappingURL=mod.d.ts.map
package/dist/mod.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,QAAQ,kEAIF,CAAC;AAEb,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,QAAQ,wQAIF,CAAC;AAEb,OAAO,EAAE,QAAQ,EAAE,CAAC"}
package/dist/mod.js CHANGED
@@ -1,2 +1,2 @@
1
- var N=Object.defineProperty;var n=(e,t)=>N(e,"name",{value:t,configurable:!0});import{defineVersions as Oe}from"@rango-dev/wallets-core/utils";import{canEagerlyConnectToEvm as X,canSwitchNetworkToEvm as z,getEvmAccounts as H,subscribeToEvm as K,switchNetworkForEvm as st,WalletTypes as q}from"@rango-dev/wallets-shared";import{evmBlockchains as J}from"rango-types";import{LegacyNetworks as E}from"@rango-dev/wallets-core/legacy";import{dynamicImportWithRefinedError as B,getNetworkInstance as v}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as D,TransactionType as A}from"rango-types";import{generalSolanaTransactionExecutor as L}from"@rango-dev/signer-solana";import O from"bs58";import{SignerError as l,SignerErrorCode as d}from"rango-types";async function R(e,t){return await L(e,n(async o=>{let[r]=t.accounts;if(!r.publicKey)throw new l(d.SIGN_TX_ERROR,"Please make sure the required account is connected properly.");if(e.from!==r.address)throw new l(d.SIGN_TX_ERROR,"Your connected account doesn't match with the required account. Please ensure that you are connected with the correct account and try again.");try{let[s]=await t.features["solana:signTransaction"].signTransaction({account:r,transaction:o.serialize()});return s.signedTransaction}catch(s){throw s&&Object.hasOwn(s,"code")&&s.code===4001?new l(d.REJECTED_BY_USER,void 0,s):new l(d.SIGN_TX_ERROR,void 0,s)}},"DefaultSolanaSigner"))}n(R,"executeSolanaTransaction");var p=class{static{n(this,"MetamaskSolanaSigner")}_provider;constructor(t){this._provider=t}get provider(){return this._provider}async signMessage(t){try{let a=new TextEncoder().encode(t),[o]=this.provider.accounts,[r]=await this._provider.features["solana:signMessage"].signMessage({message:a,account:o});return O.encode(r.signature)}catch(a){throw new l(d.SIGN_TX_ERROR,void 0,a)}}async signAndSendTx(t){return{hash:await R(t,this._provider)}}};async function m(e){let t=v(e,E.ETHEREUM),a=v(e,E.SOLANA),o=new D,{DefaultEvmSigner:r}=await B(async()=>await import("@rango-dev/signer-evm"));return o.registerSigner(A.EVM,new r(t)),o.registerSigner(A.SOLANA,new p(a)),o}n(m,"getSigners");import{LegacyNetworks as u}from"@rango-dev/wallets-core/legacy";import{getWallets as U}from"@wallet-standard/app";import"@rango-dev/wallets-core";import{evmBlockchains as F,solanaBlockchain as j}from"rango-types";var c="metamask",b="MetaMask",k="solana:mainnet",y={name:"MetaMask",icon:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/metamask/icon.svg",extensions:{chrome:"https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=en",brave:"https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=en",firefox:"https://addons.mozilla.org/en-US/firefox/addon/ether-metamask",edge:"https://microsoftedge.microsoft.com/addons/detail/metamask/ejbalbakoplchlghecdalmeeeajnimhm?hl=en-US",homepage:"https://metamask.io/download/"},properties:[{name:"namespaces",value:{selection:"multiple",data:[{label:"EVM",value:"EVM",id:"ETH",getSupportedChains:e=>F(e)},{label:"Solana",value:"Solana",id:"SOLANA",getSupportedChains:e=>j(e)}]}},{name:"signers",value:{getSigners:async()=>m(I())}}]};function i(){let{ethereum:e}=window,t=V();if(!e||!G(e))return null;let a=new Map;return e&&a.set(u.ETHEREUM,e),t&&a.set(u.SOLANA,t),a}n(i,"metamask");function G(e){return!(!e?.isMetaMask||e.isBraveWallet&&!e._events&&!e._state||e.isApexWallet||e.isAvalanche||e.isBitKeep||e.isBlockWallet||e.isCoin98||e.isFordefi||e.__XDEFI||e.isMathWallet||e.isOkxWallet||e.isOKExWallet||e.isOneInchIOSWallet||e.isOneInchAndroidWallet||e.isOpera||e.isPortal||e.isRabby||e.isDefiant||e.isTokenPocket||e.isTokenary||e.isZeal||e.isZerion||e.isSafePal)}n(G,"isEthereumMetamaskProvider");function f(){let t=i()?.get(u.ETHEREUM);if(!t)throw new Error("Metamask not injected or EVM not enabled. Please check your wallet.");return t}n(f,"evmMetamask");function g(){let t=i()?.get(u.SOLANA);if(!t)throw new Error("Metamask Solana instance is not available. Ensure that Solana support is enabled in your wallet.");return t}n(g,"solanaMetamask");function I(){let e=i();if(!e)throw new Error("MetaMask is not injected. Please check your wallet.");return e}n(I,"getInstanceOrThrow");function V(){return U().get().find(e=>e.name===b&&e.chains.includes(k))}n(V,"getSolanaWalletInstance");var Y=q.META_MASK,Z={type:Y},Q=i,$=n(async({instance:e})=>{let{accounts:t,chainId:a}=await H(e);return{accounts:t,chainId:a}},"connect"),ee=K;var te=z,ne=m,ae=X,oe=n(e=>{let t=J(e);return{name:"MetaMask",img:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/metamask/icon.svg",installLink:{CHROME:"https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=en",BRAVE:"https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=en",FIREFOX:"https://addons.mozilla.org/en-US/firefox/addon/ether-metamask",EDGE:"https://microsoftedge.microsoft.com/addons/detail/metamask/ejbalbakoplchlghecdalmeeeajnimhm?hl=en-US",DEFAULT:"https://metamask.io/download/"},color:"#dac7ae",supportedChains:t}},"getWalletInfo"),T=n(()=>({config:Z,getInstance:Q,connect:$,subscribe:ee,getSigners:ne,getWalletInfo:oe,canSwitchNetworkTo:te,canEagerConnect:ae}),"buildLegacyProvider");import{ProviderBuilder as Le}from"@rango-dev/wallets-core";import{ActionBuilder as re,NamespaceBuilder as se}from"@rango-dev/wallets-core";import{builders as ie,connectAndUpdateStateForMultiNetworks as ce,intoConnecting as le,intoConnectionFinished as de,standardizeAndThrowError as me}from"@rango-dev/wallets-core/namespaces/common";import{actions as S,builders as h,utils as fe}from"@rango-dev/wallets-core/namespaces/evm";var[pe,M]=h.changeAccountSubscriber(f).format(async(e,t)=>{let a=await e.request({method:"eth_chainId"});return fe.formatAccountsToCAIP([t[0]],a)}).build(),ue=new re("connect").action(S.connect(f)).and((e,t)=>({...t,accounts:[t.accounts[0]]})).and(ce).before(le).before(pe).or(M).or(me).after(de).build(),ge=h.canEagerConnect().action(S.canEagerConnect(f)).build(),Se=ie.disconnect().after(M).build(),he=h.canSwitchNetwork().action(S.canSwitchNetwork()).build(),we=h.getChainId().action(S.getChainId(f)).build(),C=new se("EVM",c).action(ue).action(Se).action(he).action(ge).action(we).build();import{ActionBuilder as Ie,NamespaceBuilder as Te}from"@rango-dev/wallets-core";import{builders as Me,standardizeAndThrowError as Ce}from"@rango-dev/wallets-core/namespaces/common";import{builders as Pe}from"@rango-dev/wallets-core/namespaces/solana";import{utils as Ee}from"@rango-dev/wallets-core/namespaces/solana";function ve(e){return async()=>{let a=await e().features["standard:connect"].connect();return Ee.formatAccountsToCAIP(a.accounts.map(o=>o.address))}}n(ve,"connect");function Ae(e){return async()=>{let t=e();if(!t)throw new Error("Trying to eagerly connect to your Solana wallet, but it seems that its instance is not available.");try{return!!(await t.features["standard:connect"].connect({silent:!0})).accounts.length}catch{return!1}}}n(Ae,"canEagerConnect");var w={connect:ve,canEagerConnect:Ae};import{ChangeAccountSubscriberBuilder as be}from"@rango-dev/wallets-core/namespaces/common";import{utils as ke}from"@rango-dev/wallets-core/namespaces/solana";var ye=n(e=>new be().getInstance(e).onSwitchAccount((t,a)=>{t.payload.accounts?.length||(a.action("disconnect"),t.preventDefault())}).format(async(t,a)=>ke.formatAccountsToCAIP(a.accounts.map(o=>o.address))).addEventListener((t,a)=>{t.features["standard:events"].on("change",a)}).removeEventListener((t,a)=>{}),"changeAccountSubscriber"),P={changeAccountSubscriber:ye};var[We,W]=P.changeAccountSubscriber(g).build(),_e=Pe.connect().action(w.connect(g)).before(We).or(W).or(Ce).build(),xe=new Ie("canEagerConnect").action(w.canEagerConnect(g)).build(),Ne=Me.disconnect().after(W).build(),_=new Te("Solana",c).action(_e).action(Ne).action(xe).build();var x=n(()=>new Le(c).init(function(e){let[,t]=e.state();i()&&(t("installed",!0),console.debug("[metamask] instance detected.",e))}).config("metadata",y).add("evm",C).add("solana",_).build(),"buildProvider");var Vt=n(()=>Oe().version("0.0.0",T()).version("1.0.0",x()).build(),"versions");export{Vt as versions};
1
+ var O=Object.defineProperty;var n=(t,e)=>O(t,"name",{value:e,configurable:!0});import{defineVersions as Ot}from"@hub3js/core/utils";import{canEagerlyConnectToEvm as H,canSwitchNetworkToEvm as K,getEvmAccounts as q,subscribeToEvm as J,switchNetworkForEvm as re,WalletTypes as Y}from"@rango-dev/wallets-shared";import{evmBlockchains as Z}from"rango-types";import{LegacyNetworks as w}from"@rango-dev/wallets-core/legacy";import{dynamicImportWithRefinedError as j,getNetworkInstance as b}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as F,TransactionType as A}from"rango-types";import{generalSolanaTransactionExecutor as R}from"@rango-dev/signer-solana";import B from"bs58";import{SignerError as l,SignerErrorCode as m}from"rango-types";async function D(t,e){return await R(t,n(async o=>{let[r]=e.accounts;if(!r.publicKey)throw new l(m.SIGN_TX_ERROR,"Please make sure the required account is connected properly.");if(t.from!==r.address)throw new l(m.SIGN_TX_ERROR,"Your connected account doesn't match with the required account. Please ensure that you are connected with the correct account and try again.");try{let[s]=await e.features["solana:signTransaction"].signTransaction({account:r,transaction:o.serialize()});return s.signedTransaction}catch(s){throw s&&Object.hasOwn(s,"code")&&s.code===4001?new l(m.REJECTED_BY_USER,void 0,s):new l(m.SIGN_TX_ERROR,void 0,s)}},"DefaultSolanaSigner"))}n(D,"executeSolanaTransaction");var p=class{static{n(this,"MetamaskSolanaSigner")}_provider;constructor(e){this._provider=e}get provider(){return this._provider}async signMessage(e){try{let a=new TextEncoder().encode(e),[o]=this.provider.accounts,[r]=await this._provider.features["solana:signMessage"].signMessage({message:a,account:o});return B.encode(r.signature)}catch(a){throw new l(m.SIGN_TX_ERROR,void 0,a)}}async signAndSendTx(e){return{hash:await D(e,this._provider)}}};async function d(t){let e=b(t,w.ETHEREUM),a=b(t,w.SOLANA),o=new F,{DefaultEvmSigner:r}=await j(async()=>await import("@rango-dev/signer-evm"));return o.registerSigner(A.EVM,new r(e)),o.registerSigner(A.SOLANA,new p(a)),o}n(d,"getSigners");import{LegacyNetworks as u}from"@rango-dev/wallets-core/legacy";import{getWallets as V}from"@wallet-standard/app";import{evmBlockchains as U,solanaBlockchain as G}from"rango-types";var c="metamask",v="MetaMask",k="solana:mainnet",y={name:"MetaMask",icon:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/metamask/icon.svg",extensions:{chrome:"https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=en",brave:"https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=en",firefox:"https://addons.mozilla.org/en-US/firefox/addon/ether-metamask",edge:"https://microsoftedge.microsoft.com/addons/detail/metamask/ejbalbakoplchlghecdalmeeeajnimhm?hl=en-US",homepage:"https://metamask.io/download/"},properties:[{name:"namespaces",value:{selection:"multiple",data:[{label:"EVM",value:"EVM",id:"ETH",getSupportedChains:t=>U(t)},{label:"Solana",value:"Solana",id:"SOLANA",getSupportedChains:t=>G(t)}]}},{name:"signers",value:{getSigners:async()=>d(I())}}]};function i(){let{ethereum:t}=window,e=z();if(!t||!X(t))return null;let a=new Map;return t&&a.set(u.ETHEREUM,t),e&&a.set(u.SOLANA,e),a}n(i,"metamask");function X(t){return!(!t?.isMetaMask||t.isBraveWallet&&!t._events&&!t._state||t.isApexWallet||t.isAvalanche||t.isBitKeep||t.isBlockWallet||t.isCoin98||t.isFordefi||t.__XDEFI||t.isMathWallet||t.isOkxWallet||t.isOKExWallet||t.isOneInchIOSWallet||t.isOneInchAndroidWallet||t.isOpera||t.isPortal||t.isRabby||t.isDefiant||t.isTokenPocket||t.isTokenary||t.isZeal||t.isZerion||t.isSafePal)}n(X,"isEthereumMetamaskProvider");function f(){let e=i()?.get(u.ETHEREUM);if(!e)throw new Error("Metamask not injected or EVM not enabled. Please check your wallet.");return e}n(f,"evmMetamask");function g(){let e=i()?.get(u.SOLANA);if(!e)throw new Error("Metamask Solana instance is not available. Ensure that Solana support is enabled in your wallet.");return e}n(g,"solanaMetamask");function I(){let t=i();if(!t)throw new Error("MetaMask is not injected. Please check your wallet.");return t}n(I,"getInstanceOrThrow");function z(){return V().get().find(t=>t.name===v&&t.chains.includes(k))}n(z,"getSolanaWalletInstance");var Q=Y.META_MASK,$={type:Q},tt=i,et=n(async({instance:t})=>{let{accounts:e,chainId:a}=await q(t);return{accounts:e,chainId:a}},"connect"),nt=J;var at=K,ot=d,rt=H,st=n(t=>{let e=Z(t);return{name:"MetaMask",img:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/metamask/icon.svg",installLink:{CHROME:"https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=en",BRAVE:"https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=en",FIREFOX:"https://addons.mozilla.org/en-US/firefox/addon/ether-metamask",EDGE:"https://microsoftedge.microsoft.com/addons/detail/metamask/ejbalbakoplchlghecdalmeeeajnimhm?hl=en-US",DEFAULT:"https://metamask.io/download/"},color:"#dac7ae",supportedChains:e}},"getWalletInfo"),T=n(()=>({config:$,getInstance:tt,connect:et,subscribe:nt,getSigners:ot,getWalletInfo:st,canSwitchNetworkTo:at,canEagerConnect:rt}),"buildLegacyProvider");import{ProviderBuilder as Lt}from"@hub3js/core";import{ActionBuilder as it,NamespaceBuilder as ct}from"@hub3js/core";import{actions as S,builders as h,utils as lt}from"@hub3js/evm";import*as M from"@hub3js/std/builders";import{connectAndUpdateStateForMultiNetworks as mt,intoConnecting as dt,intoConnectionFinished as ft,standardizeAndThrowError as pt}from"@hub3js/std/operators";var[ut,C]=h.changeAccountSubscriber(f).format(async(t,e)=>{let a=await t.request({method:"eth_chainId"});return lt.formatAccountsToCAIP([e[0]],a)}).build(),gt=new it("connect").action(S.connect(f)).and((t,e)=>({...e,accounts:[e.accounts[0]]})).and(mt).before(dt).before(ut).or(C).or(pt).after(ft).build(),St=h.canEagerConnect().action(S.canEagerConnect(f)).build(),ht=M.disconnect().after(C).build(),Et=h.canSwitchNetwork().action(S.canSwitchNetwork()).build(),wt=h.getChainId().action(S.getChainId(f)).build(),P=new ct("EVM",c).action(gt).action(ht).action(Et).action(St).action(wt).build();import{ActionBuilder as Tt,NamespaceBuilder as Mt}from"@hub3js/core";import{builders as Ct}from"@hub3js/solana";import*as _ from"@hub3js/std/builders";import{standardizeAndThrowError as Pt}from"@hub3js/std/operators";import{utils as bt}from"@hub3js/solana";function At(t){return async()=>{let a=await t().features["standard:connect"].connect();return bt.formatAccountsToCAIP(a.accounts.map(o=>o.address))}}n(At,"connect");function vt(t){return async()=>{let e=t();if(!e)throw new Error("Trying to eagerly connect to your Solana wallet, but it seems that its instance is not available.");try{return!!(await e.features["standard:connect"].connect({silent:!0})).accounts.length}catch{return!1}}}n(vt,"canEagerConnect");var E={connect:At,canEagerConnect:vt};import{utils as kt}from"@hub3js/solana";import{ChangeAccountSubscriberBuilder as yt}from"@hub3js/std/hooks";var It=n(t=>new yt().getInstance(t).onSwitchAccount((e,a)=>{e.payload.accounts?.length||(a.action("disconnect"),e.preventDefault())}).format(async(e,a)=>kt.formatAccountsToCAIP(a.accounts.map(o=>o.address))).addEventListener((e,a)=>{e.features["standard:events"].on("change",a)}).removeEventListener((e,a)=>{}),"changeAccountSubscriber"),W={changeAccountSubscriber:It};var[Wt,x]=W.changeAccountSubscriber(g).build(),_t=Ct.connect().action(E.connect(g)).before(Wt).or(x).or(Pt).build(),xt=new Tt("canEagerConnect").action(E.canEagerConnect(g)).build(),Nt=_.disconnect().after(x).build(),N=new Mt("Solana",c).action(_t).action(Nt).action(xt).build();var L=n(()=>new Lt(c).init(function(t){let[,e]=t.state();i()&&(e("installed",!0),console.debug("[metamask] instance detected.",t))}).config("metadata",y).add("evm",P).add("solana",N).build(),"buildProvider");var Ge=n(()=>Ot().version("0.0.0",T()).version("1.0.0",L()).build(),"versions");export{Ge as versions};
2
2
  //# sourceMappingURL=mod.js.map
package/dist/mod.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/mod.ts", "../src/legacy/index.ts", "../src/signer.ts", "../src/signers/solana.ts", "../src/utils.ts", "../src/constants.ts", "../src/provider.ts", "../src/namespaces/evm.ts", "../src/namespaces/solana.ts", "../src/actions/solana.ts", "../src/builders/solana.ts"],
4
- "sourcesContent": ["import { defineVersions } from '@rango-dev/wallets-core/utils';\n\nimport { buildLegacyProvider } from './legacy/index.js';\nimport { buildProvider } from './provider.js';\n\nconst versions = () =>\n defineVersions()\n .version('0.0.0', buildLegacyProvider())\n .version('1.0.0', buildProvider())\n .build();\n\nexport { versions };\n", "import type { LegacyProviderInterface } from '@rango-dev/wallets-core/legacy';\nimport type {\n CanEagerConnect,\n CanSwitchNetwork,\n Connect,\n Subscribe,\n SwitchNetwork,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\nimport type { BlockchainMeta, SignerFactory } from 'rango-types';\n\nimport {\n canEagerlyConnectToEvm,\n canSwitchNetworkToEvm,\n getEvmAccounts,\n subscribeToEvm,\n switchNetworkForEvm,\n WalletTypes,\n} from '@rango-dev/wallets-shared';\nimport { evmBlockchains } from 'rango-types';\n\nimport signer from '../signer.js';\nimport { metamask as metamask_instance } from '../utils.js';\n\nconst WALLET = WalletTypes.META_MASK;\n\nexport const config = {\n type: WALLET,\n};\n\nexport const getInstance = metamask_instance;\nexport const connect: Connect = async ({ instance }) => {\n /*\n * Note: We need to get `chainId` here, because for the first time\n * after opening the browser, wallet is locked, and don't give us accounts and chainId\n * on `check` phase, so `network` will be null. For this case we need to get chainId\n * whenever we are requesting accounts.\n */\n const { accounts, chainId } = await getEvmAccounts(instance);\n\n return {\n accounts,\n chainId,\n };\n};\n\nexport const subscribe: Subscribe = subscribeToEvm;\n\nexport const switchNetwork: SwitchNetwork = switchNetworkForEvm;\n\nexport const canSwitchNetworkTo: CanSwitchNetwork = canSwitchNetworkToEvm;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Provider = any;\nexport const getSigners: (provider: Provider) => Promise<SignerFactory> =\n signer;\n\nexport const canEagerConnect: CanEagerConnect = canEagerlyConnectToEvm;\n\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => {\n const evms = evmBlockchains(allBlockChains);\n return {\n name: 'MetaMask',\n img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/metamask/icon.svg',\n installLink: {\n CHROME:\n 'https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=en',\n BRAVE:\n 'https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=en',\n\n FIREFOX: 'https://addons.mozilla.org/en-US/firefox/addon/ether-metamask',\n EDGE: 'https://microsoftedge.microsoft.com/addons/detail/metamask/ejbalbakoplchlghecdalmeeeajnimhm?hl=en-US',\n DEFAULT: 'https://metamask.io/download/',\n },\n color: '#dac7ae',\n supportedChains: evms,\n };\n};\nconst buildLegacyProvider: () => LegacyProviderInterface = () => ({\n config,\n getInstance,\n connect,\n subscribe,\n getSigners,\n getWalletInfo,\n canSwitchNetworkTo,\n canEagerConnect,\n});\n\nexport { buildLegacyProvider };\n", "import type { Provider } from './types.js';\nimport type { SignerFactory } from 'rango-types';\n\nimport { LegacyNetworks as Networks } from '@rango-dev/wallets-core/legacy';\nimport {\n dynamicImportWithRefinedError,\n getNetworkInstance,\n} from '@rango-dev/wallets-shared';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nimport { MetamaskSolanaSigner } from './signers/solana.js';\n\nexport default async function getSigners(\n provider: Provider\n): Promise<SignerFactory> {\n const ethProvider = getNetworkInstance(provider, Networks.ETHEREUM);\n const solanaProvider = getNetworkInstance(provider, Networks.SOLANA);\n\n const signers = new DefaultSignerFactory();\n const { DefaultEvmSigner } = await dynamicImportWithRefinedError(\n async () => await import('@rango-dev/signer-evm')\n );\n signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));\n signers.registerSigner(\n TxType.SOLANA,\n new MetamaskSolanaSigner(solanaProvider)\n );\n return signers;\n}\n", "import type { WalletStandardSolanaInstance } from '../types.js';\n\nimport {\n generalSolanaTransactionExecutor,\n type SolanaWeb3Signer,\n} from '@rango-dev/signer-solana';\nimport base58 from 'bs58';\nimport {\n type GenericSigner,\n SignerError,\n SignerErrorCode,\n type SolanaTransaction,\n} from 'rango-types';\n\nasync function executeSolanaTransaction(\n tx: SolanaTransaction,\n solanaProvider: WalletStandardSolanaInstance\n): Promise<string> {\n const DefaultSolanaSigner: SolanaWeb3Signer = async (\n solanaWeb3Transaction\n ) => {\n const [currentAccount] = solanaProvider.accounts;\n if (!currentAccount.publicKey) {\n throw new SignerError(\n SignerErrorCode.SIGN_TX_ERROR,\n 'Please make sure the required account is connected properly.'\n );\n }\n\n if (tx.from !== currentAccount.address) {\n throw new SignerError(\n SignerErrorCode.SIGN_TX_ERROR,\n `Your connected account doesn't match with the required account. Please ensure that you are connected with the correct account and try again.`\n );\n }\n\n try {\n const [signOutput] = await solanaProvider.features[\n 'solana:signTransaction'\n ].signTransaction({\n account: currentAccount,\n transaction: solanaWeb3Transaction.serialize(),\n });\n return signOutput.signedTransaction;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (e: any) {\n const REJECTION_CODE = 4001;\n if (e && Object.hasOwn(e, 'code') && e.code === REJECTION_CODE) {\n throw new SignerError(SignerErrorCode.REJECTED_BY_USER, undefined, e);\n }\n throw new SignerError(SignerErrorCode.SIGN_TX_ERROR, undefined, e);\n }\n };\n return await generalSolanaTransactionExecutor(tx, DefaultSolanaSigner);\n}\n\nexport class MetamaskSolanaSigner implements GenericSigner<SolanaTransaction> {\n private _provider: WalletStandardSolanaInstance;\n\n constructor(provider: WalletStandardSolanaInstance) {\n this._provider = provider;\n }\n\n get provider(): WalletStandardSolanaInstance {\n return this._provider;\n }\n\n async signMessage(msg: string): Promise<string> {\n try {\n const encodedMessage = new TextEncoder().encode(msg);\n const [account] = this.provider.accounts;\n const [signOutput] = await this._provider.features[\n 'solana:signMessage'\n ].signMessage({\n message: encodedMessage,\n account,\n });\n return base58.encode(signOutput.signature);\n } catch (error) {\n throw new SignerError(SignerErrorCode.SIGN_TX_ERROR, undefined, error);\n }\n }\n\n async signAndSendTx(tx: SolanaTransaction): Promise<{ hash: string }> {\n const hash = await executeSolanaTransaction(tx, this._provider);\n return { hash };\n }\n}\n", "import type {\n MetamaskEvmProviderApi,\n Provider,\n WalletStandardSolanaInstance,\n} from './types.js';\nimport type { ProviderAPI as EvmProviderApi } from '@rango-dev/wallets-core/namespaces/evm';\n\nimport { LegacyNetworks } from '@rango-dev/wallets-core/legacy';\nimport { getWallets } from '@wallet-standard/app';\n\nimport {\n SOLANA_WALLET_STANDARD_MAINNET,\n WALLET_STANDARD_NAME,\n} from './constants.js';\n\nexport function metamask(): Provider | null {\n const { ethereum } = window;\n const solana = getSolanaWalletInstance();\n if (!ethereum || !isEthereumMetamaskProvider(ethereum)) {\n return null;\n }\n\n const instances: Provider = new Map();\n\n if (ethereum) {\n instances.set(LegacyNetworks.ETHEREUM, ethereum);\n }\n if (solana) {\n instances.set(LegacyNetworks.SOLANA, solana);\n }\n\n return instances;\n}\nfunction isEthereumMetamaskProvider(ethereum: MetamaskEvmProviderApi): boolean {\n if (!ethereum?.isMetaMask) {\n return false;\n }\n /*\n * Brave tries to make itself look like MetaMask\n * Could also try RPC `web3_clientVersion` if following is unreliable\n */\n if (ethereum.isBraveWallet && !ethereum._events && !ethereum._state) {\n return false;\n }\n if (ethereum.isApexWallet) {\n return false;\n }\n if (ethereum.isAvalanche) {\n return false;\n }\n if (ethereum.isBitKeep) {\n return false;\n }\n if (ethereum.isBlockWallet) {\n return false;\n }\n if (ethereum.isCoin98) {\n return false;\n }\n if (ethereum.isFordefi) {\n return false;\n }\n if (ethereum.__XDEFI) {\n return false;\n }\n if (ethereum.isMathWallet) {\n return false;\n }\n if (ethereum.isOkxWallet || ethereum.isOKExWallet) {\n return false;\n }\n if (ethereum.isOneInchIOSWallet || ethereum.isOneInchAndroidWallet) {\n return false;\n }\n if (ethereum.isOpera) {\n return false;\n }\n if (ethereum.isPortal) {\n return false;\n }\n if (ethereum.isRabby) {\n return false;\n }\n if (ethereum.isDefiant) {\n return false;\n }\n if (ethereum.isTokenPocket) {\n return false;\n }\n if (ethereum.isTokenary) {\n return false;\n }\n if (ethereum.isZeal) {\n return false;\n }\n if (ethereum.isZerion) {\n return false;\n }\n if (ethereum.isSafePal) {\n return false;\n }\n return true;\n}\nexport function evmMetamask(): EvmProviderApi {\n const instances = metamask();\n\n const evmInstance = instances?.get(LegacyNetworks.ETHEREUM);\n\n if (!evmInstance) {\n throw new Error(\n 'Metamask not injected or EVM not enabled. Please check your wallet.'\n );\n }\n\n return evmInstance as EvmProviderApi;\n}\nexport function solanaMetamask(): WalletStandardSolanaInstance {\n const instances = metamask();\n const solanaInstance = instances?.get(LegacyNetworks.SOLANA);\n if (!solanaInstance) {\n throw new Error(\n 'Metamask Solana instance is not available. Ensure that Solana support is enabled in your wallet.'\n );\n }\n return solanaInstance as WalletStandardSolanaInstance;\n}\nexport function getInstanceOrThrow(): Provider {\n const instances = metamask();\n\n if (!instances) {\n throw new Error('MetaMask is not injected. Please check your wallet.');\n }\n\n return instances;\n}\nfunction getSolanaWalletInstance() {\n return getWallets()\n .get()\n .find(\n (wallet) =>\n wallet.name === WALLET_STANDARD_NAME &&\n wallet.chains.includes(SOLANA_WALLET_STANDARD_MAINNET)\n ) as WalletStandardSolanaInstance;\n}\n", "import { type ProviderMetadata } from '@rango-dev/wallets-core';\nimport {\n type BlockchainMeta,\n evmBlockchains,\n solanaBlockchain,\n} from 'rango-types';\n\nimport getSigners from './signer.js';\nimport { getInstanceOrThrow } from './utils.js';\n\nexport const WALLET_ID = 'metamask';\nexport const WALLET_STANDARD_NAME = 'MetaMask';\nexport const SOLANA_WALLET_STANDARD_MAINNET = 'solana:mainnet';\nexport const metadata: ProviderMetadata = {\n name: 'MetaMask',\n icon: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/metamask/icon.svg',\n extensions: {\n chrome:\n 'https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=en',\n brave:\n 'https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=en',\n firefox: 'https://addons.mozilla.org/en-US/firefox/addon/ether-metamask',\n edge: 'https://microsoftedge.microsoft.com/addons/detail/metamask/ejbalbakoplchlghecdalmeeeajnimhm?hl=en-US',\n homepage: 'https://metamask.io/download/',\n },\n properties: [\n {\n name: 'namespaces',\n value: {\n selection: 'multiple',\n data: [\n {\n label: 'EVM',\n value: 'EVM',\n id: 'ETH',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n evmBlockchains(allBlockchains),\n },\n {\n label: 'Solana',\n value: 'Solana',\n id: 'SOLANA',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n solanaBlockchain(allBlockchains),\n },\n ],\n },\n },\n {\n name: 'signers',\n value: {\n getSigners: async () => getSigners(getInstanceOrThrow()),\n },\n },\n ],\n};\n", "import { ProviderBuilder } from '@rango-dev/wallets-core';\n\nimport { metadata, WALLET_ID } from './constants.js';\nimport { evm } from './namespaces/evm.js';\nimport { solana } from './namespaces/solana.js';\nimport { metamask as metamask } from './utils.js';\n\nconst buildProvider = () =>\n new ProviderBuilder(WALLET_ID)\n .init(function (context) {\n const [, setState] = context.state();\n\n if (metamask()) {\n setState('installed', true);\n console.debug('[metamask] instance detected.', context);\n }\n })\n .config('metadata', metadata)\n .add('evm', evm)\n .add('solana', solana)\n .build();\n\nexport { buildProvider };\n", "import type { EvmActions } from '@rango-dev/wallets-core/namespaces/evm';\n\nimport { ActionBuilder, NamespaceBuilder } from '@rango-dev/wallets-core';\nimport {\n builders as commonBuilders,\n connectAndUpdateStateForMultiNetworks,\n intoConnecting,\n intoConnectionFinished,\n standardizeAndThrowError,\n} from '@rango-dev/wallets-core/namespaces/common';\nimport {\n actions,\n builders,\n utils,\n} from '@rango-dev/wallets-core/namespaces/evm';\n\nimport { WALLET_ID } from '../constants.js';\nimport { evmMetamask } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = builders\n .changeAccountSubscriber(evmMetamask)\n /*\n * Metamask returns an array of connected accounts with the active one first.\n * Since we only need the active account, we take the first element as a workaround.\n */\n .format(async (instance, accounts) => {\n const chainId = await instance.request({ method: 'eth_chainId' });\n return utils.formatAccountsToCAIP([accounts[0]], chainId);\n })\n .build();\n\nconst connect = new ActionBuilder<EvmActions, 'connect'>('connect')\n .action(actions.connect(evmMetamask))\n /*\n * Metamask Wallet's `connect` returns a list where the currently selected account\n * is always the first item. We're directly taking this first item as the active account.\n *\n * ***NOTE***: Please keep it synced with `wallets/core/src/namespaces/solana/builders.ts`.\n *\n */\n .and((_, connectResult) => ({\n ...connectResult,\n accounts: [connectResult.accounts[0]],\n }))\n .and(connectAndUpdateStateForMultiNetworks)\n .before(intoConnecting)\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .after(intoConnectionFinished)\n .build();\n\nconst canEagerConnect = builders\n .canEagerConnect()\n .action(actions.canEagerConnect(evmMetamask))\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<EvmActions>()\n .after(changeAccountCleanup)\n .build();\n\nconst canSwitchNetwork = builders\n .canSwitchNetwork()\n .action(actions.canSwitchNetwork())\n .build();\n\nconst getChainId = builders\n .getChainId()\n .action(actions.getChainId(evmMetamask))\n .build();\n\nconst evm = new NamespaceBuilder<EvmActions>('EVM', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canSwitchNetwork)\n .action(canEagerConnect)\n .action(getChainId)\n .build();\n\nexport { evm };\n", "import { ActionBuilder, NamespaceBuilder } from '@rango-dev/wallets-core';\nimport {\n builders as commonBuilders,\n standardizeAndThrowError,\n} from '@rango-dev/wallets-core/namespaces/common';\nimport {\n builders,\n type SolanaActions,\n} from '@rango-dev/wallets-core/namespaces/solana';\n\nimport { solanaActions } from '../actions/solana.js';\nimport { solanaBuilders } from '../builders/solana.js';\nimport { WALLET_ID } from '../constants.js';\nimport { solanaMetamask } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = solanaBuilders\n .changeAccountSubscriber(solanaMetamask)\n .build();\n\nconst connect = builders\n .connect()\n .action(solanaActions.connect(solanaMetamask))\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst canEagerConnect = new ActionBuilder<SolanaActions, 'canEagerConnect'>(\n 'canEagerConnect'\n)\n .action(solanaActions.canEagerConnect(solanaMetamask))\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<SolanaActions>()\n .after(changeAccountCleanup)\n .build();\n\nconst solana = new NamespaceBuilder<SolanaActions>('Solana', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .build();\n\nexport { solana };\n", "import type { WalletStandardSolanaInstance } from '../types.js';\nimport type { Context, FunctionWithContext } from '@rango-dev/wallets-core';\n\nimport {\n type SolanaActions,\n utils,\n} from '@rango-dev/wallets-core/namespaces/solana';\n\nfunction connect(\n getInstance: () => WalletStandardSolanaInstance\n): FunctionWithContext<SolanaActions['connect'], Context> {\n return async () => {\n const solanaInstance = getInstance();\n const connectResult = await solanaInstance.features[\n 'standard:connect'\n ].connect();\n return utils.formatAccountsToCAIP(\n connectResult.accounts.map((account) => account.address)\n );\n };\n}\nfunction canEagerConnect(getInstance: () => WalletStandardSolanaInstance) {\n return async () => {\n const solanaInstance = getInstance();\n\n if (!solanaInstance) {\n throw new Error(\n 'Trying to eagerly connect to your Solana wallet, but it seems that its instance is not available.'\n );\n }\n\n try {\n const result = await solanaInstance.features['standard:connect'].connect({\n silent: true,\n });\n return !!result.accounts.length;\n } catch {\n return false;\n }\n };\n}\nexport const solanaActions = { connect, canEagerConnect };\n", "import type { WalletStandardSolanaInstance } from '../types.js';\nimport type { StandardEventsChangeProperties } from '@wallet-standard/features';\n\nimport { ChangeAccountSubscriberBuilder } from '@rango-dev/wallets-core/namespaces/common';\nimport {\n type SolanaActions,\n utils,\n} from '@rango-dev/wallets-core/namespaces/solana';\n\n// Hooks\nconst changeAccountSubscriber = (\n getInstance: () => WalletStandardSolanaInstance\n) =>\n new ChangeAccountSubscriberBuilder<\n StandardEventsChangeProperties,\n WalletStandardSolanaInstance,\n SolanaActions\n >()\n .getInstance(getInstance)\n .onSwitchAccount((event, context) => {\n if (!event.payload.accounts?.length) {\n context.action('disconnect');\n event.preventDefault();\n }\n })\n .format(async (_, event) =>\n utils.formatAccountsToCAIP(\n event.accounts!.map((account) => account.address)\n )\n )\n .addEventListener((instance, callback) => {\n instance.features['standard:events'].on('change', callback);\n })\n .removeEventListener((_, __) => {});\n\nexport const solanaBuilders = { changeAccountSubscriber };\n"],
5
- "mappings": "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",
6
- "names": ["defineVersions", "canEagerlyConnectToEvm", "canSwitchNetworkToEvm", "getEvmAccounts", "subscribeToEvm", "switchNetworkForEvm", "WalletTypes", "evmBlockchains", "Networks", "dynamicImportWithRefinedError", "getNetworkInstance", "DefaultSignerFactory", "TxType", "generalSolanaTransactionExecutor", "base58", "SignerError", "SignerErrorCode", "executeSolanaTransaction", "tx", "solanaProvider", "generalSolanaTransactionExecutor", "__name", "solanaWeb3Transaction", "currentAccount", "SignerError", "SignerErrorCode", "signOutput", "e", "MetamaskSolanaSigner", "provider", "msg", "encodedMessage", "account", "base58", "error", "getSigners", "provider", "ethProvider", "getNetworkInstance", "Networks", "solanaProvider", "signers", "DefaultSignerFactory", "DefaultEvmSigner", "dynamicImportWithRefinedError", "TxType", "MetamaskSolanaSigner", "__name", "LegacyNetworks", "getWallets", "evmBlockchains", "solanaBlockchain", "WALLET_ID", "WALLET_STANDARD_NAME", "SOLANA_WALLET_STANDARD_MAINNET", "metadata", "allBlockchains", "evmBlockchains", "solanaBlockchain", "getSigners", "getInstanceOrThrow", "metamask", "ethereum", "solana", "getSolanaWalletInstance", "isEthereumMetamaskProvider", "instances", "LegacyNetworks", "__name", "evmMetamask", "evmInstance", "solanaMetamask", "solanaInstance", "getInstanceOrThrow", "getWallets", "wallet", "WALLET_STANDARD_NAME", "SOLANA_WALLET_STANDARD_MAINNET", "WALLET", "WalletTypes", "config", "getInstance", "metamask", "connect", "__name", "instance", "accounts", "chainId", "getEvmAccounts", "subscribe", "subscribeToEvm", "canSwitchNetworkTo", "canSwitchNetworkToEvm", "getSigners", "canEagerConnect", "canEagerlyConnectToEvm", "getWalletInfo", "__name", "allBlockChains", "evms", "evmBlockchains", "buildLegacyProvider", "config", "getInstance", "connect", "subscribe", "ProviderBuilder", "ActionBuilder", "NamespaceBuilder", "commonBuilders", "connectAndUpdateStateForMultiNetworks", "intoConnecting", "intoConnectionFinished", "standardizeAndThrowError", "actions", "builders", "utils", "changeAccountSubscriber", "changeAccountCleanup", "builders", "evmMetamask", "instance", "accounts", "chainId", "utils", "connect", "ActionBuilder", "actions", "_", "connectResult", "connectAndUpdateStateForMultiNetworks", "intoConnecting", "standardizeAndThrowError", "intoConnectionFinished", "canEagerConnect", "disconnect", "commonBuilders", "canSwitchNetwork", "getChainId", "evm", "NamespaceBuilder", "WALLET_ID", "ActionBuilder", "NamespaceBuilder", "commonBuilders", "standardizeAndThrowError", "builders", "utils", "connect", "getInstance", "connectResult", "utils", "account", "__name", "canEagerConnect", "solanaInstance", "solanaActions", "ChangeAccountSubscriberBuilder", "utils", "changeAccountSubscriber", "__name", "getInstance", "ChangeAccountSubscriberBuilder", "event", "context", "_", "utils", "account", "instance", "callback", "__", "solanaBuilders", "changeAccountSubscriber", "changeAccountCleanup", "solanaBuilders", "solanaMetamask", "connect", "builders", "solanaActions", "standardizeAndThrowError", "canEagerConnect", "ActionBuilder", "disconnect", "commonBuilders", "solana", "NamespaceBuilder", "WALLET_ID", "buildProvider", "__name", "ProviderBuilder", "WALLET_ID", "context", "setState", "metamask", "metadata", "evm", "solana", "versions", "__name", "defineVersions", "buildLegacyProvider", "buildProvider"]
4
+ "sourcesContent": ["import { defineVersions } from '@hub3js/core/utils';\n\nimport { buildLegacyProvider } from './legacy/index.js';\nimport { buildProvider } from './provider.js';\n\nconst versions = () =>\n defineVersions()\n .version('0.0.0', buildLegacyProvider())\n .version('1.0.0', buildProvider())\n .build();\n\nexport { versions };\n", "import type { LegacyProviderInterface } from '@rango-dev/wallets-core/legacy';\nimport type {\n CanEagerConnect,\n CanSwitchNetwork,\n Connect,\n Subscribe,\n SwitchNetwork,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\nimport type { BlockchainMeta, SignerFactory } from 'rango-types';\n\nimport {\n canEagerlyConnectToEvm,\n canSwitchNetworkToEvm,\n getEvmAccounts,\n subscribeToEvm,\n switchNetworkForEvm,\n WalletTypes,\n} from '@rango-dev/wallets-shared';\nimport { evmBlockchains } from 'rango-types';\n\nimport signer from '../signer.js';\nimport { metamask as metamask_instance } from '../utils.js';\n\nconst WALLET = WalletTypes.META_MASK;\n\nexport const config = {\n type: WALLET,\n};\n\nexport const getInstance = metamask_instance;\nexport const connect: Connect = async ({ instance }) => {\n /*\n * Note: We need to get `chainId` here, because for the first time\n * after opening the browser, wallet is locked, and don't give us accounts and chainId\n * on `check` phase, so `network` will be null. For this case we need to get chainId\n * whenever we are requesting accounts.\n */\n const { accounts, chainId } = await getEvmAccounts(instance);\n\n return {\n accounts,\n chainId,\n };\n};\n\nexport const subscribe: Subscribe = subscribeToEvm;\n\nexport const switchNetwork: SwitchNetwork = switchNetworkForEvm;\n\nexport const canSwitchNetworkTo: CanSwitchNetwork = canSwitchNetworkToEvm;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Provider = any;\nexport const getSigners: (provider: Provider) => Promise<SignerFactory> =\n signer;\n\nexport const canEagerConnect: CanEagerConnect = canEagerlyConnectToEvm;\n\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => {\n const evms = evmBlockchains(allBlockChains);\n return {\n name: 'MetaMask',\n img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/metamask/icon.svg',\n installLink: {\n CHROME:\n 'https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=en',\n BRAVE:\n 'https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=en',\n\n FIREFOX: 'https://addons.mozilla.org/en-US/firefox/addon/ether-metamask',\n EDGE: 'https://microsoftedge.microsoft.com/addons/detail/metamask/ejbalbakoplchlghecdalmeeeajnimhm?hl=en-US',\n DEFAULT: 'https://metamask.io/download/',\n },\n color: '#dac7ae',\n supportedChains: evms,\n };\n};\nconst buildLegacyProvider: () => LegacyProviderInterface = () => ({\n config,\n getInstance,\n connect,\n subscribe,\n getSigners,\n getWalletInfo,\n canSwitchNetworkTo,\n canEagerConnect,\n});\n\nexport { buildLegacyProvider };\n", "import type { Provider } from './types.js';\nimport type { SignerFactory } from 'rango-types';\n\nimport { LegacyNetworks as Networks } from '@rango-dev/wallets-core/legacy';\nimport {\n dynamicImportWithRefinedError,\n getNetworkInstance,\n} from '@rango-dev/wallets-shared';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nimport { MetamaskSolanaSigner } from './signers/solana.js';\n\nexport default async function getSigners(\n provider: Provider\n): Promise<SignerFactory> {\n const ethProvider = getNetworkInstance(provider, Networks.ETHEREUM);\n const solanaProvider = getNetworkInstance(provider, Networks.SOLANA);\n\n const signers = new DefaultSignerFactory();\n const { DefaultEvmSigner } = await dynamicImportWithRefinedError(\n async () => await import('@rango-dev/signer-evm')\n );\n signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));\n signers.registerSigner(\n TxType.SOLANA,\n new MetamaskSolanaSigner(solanaProvider)\n );\n return signers;\n}\n", "import type { WalletStandardSolanaInstance } from '../types.js';\n\nimport {\n generalSolanaTransactionExecutor,\n type SolanaWeb3Signer,\n} from '@rango-dev/signer-solana';\nimport base58 from 'bs58';\nimport {\n type GenericSigner,\n SignerError,\n SignerErrorCode,\n type SolanaTransaction,\n} from 'rango-types';\n\nasync function executeSolanaTransaction(\n tx: SolanaTransaction,\n solanaProvider: WalletStandardSolanaInstance\n): Promise<string> {\n const DefaultSolanaSigner: SolanaWeb3Signer = async (\n solanaWeb3Transaction\n ) => {\n const [currentAccount] = solanaProvider.accounts;\n if (!currentAccount.publicKey) {\n throw new SignerError(\n SignerErrorCode.SIGN_TX_ERROR,\n 'Please make sure the required account is connected properly.'\n );\n }\n\n if (tx.from !== currentAccount.address) {\n throw new SignerError(\n SignerErrorCode.SIGN_TX_ERROR,\n `Your connected account doesn't match with the required account. Please ensure that you are connected with the correct account and try again.`\n );\n }\n\n try {\n const [signOutput] = await solanaProvider.features[\n 'solana:signTransaction'\n ].signTransaction({\n account: currentAccount,\n transaction: solanaWeb3Transaction.serialize(),\n });\n return signOutput.signedTransaction;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (e: any) {\n const REJECTION_CODE = 4001;\n if (e && Object.hasOwn(e, 'code') && e.code === REJECTION_CODE) {\n throw new SignerError(SignerErrorCode.REJECTED_BY_USER, undefined, e);\n }\n throw new SignerError(SignerErrorCode.SIGN_TX_ERROR, undefined, e);\n }\n };\n return await generalSolanaTransactionExecutor(tx, DefaultSolanaSigner);\n}\n\nexport class MetamaskSolanaSigner implements GenericSigner<SolanaTransaction> {\n private _provider: WalletStandardSolanaInstance;\n\n constructor(provider: WalletStandardSolanaInstance) {\n this._provider = provider;\n }\n\n get provider(): WalletStandardSolanaInstance {\n return this._provider;\n }\n\n async signMessage(msg: string): Promise<string> {\n try {\n const encodedMessage = new TextEncoder().encode(msg);\n const [account] = this.provider.accounts;\n const [signOutput] = await this._provider.features[\n 'solana:signMessage'\n ].signMessage({\n message: encodedMessage,\n account,\n });\n return base58.encode(signOutput.signature);\n } catch (error) {\n throw new SignerError(SignerErrorCode.SIGN_TX_ERROR, undefined, error);\n }\n }\n\n async signAndSendTx(tx: SolanaTransaction): Promise<{ hash: string }> {\n const hash = await executeSolanaTransaction(tx, this._provider);\n return { hash };\n }\n}\n", "import type {\n MetamaskEvmProviderApi,\n Provider,\n WalletStandardSolanaInstance,\n} from './types.js';\nimport type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';\n\nimport { LegacyNetworks } from '@rango-dev/wallets-core/legacy';\nimport { getWallets } from '@wallet-standard/app';\n\nimport {\n SOLANA_WALLET_STANDARD_MAINNET,\n WALLET_STANDARD_NAME,\n} from './constants.js';\n\nexport function metamask(): Provider | null {\n const { ethereum } = window;\n const solana = getSolanaWalletInstance();\n if (!ethereum || !isEthereumMetamaskProvider(ethereum)) {\n return null;\n }\n\n const instances: Provider = new Map();\n\n if (ethereum) {\n instances.set(LegacyNetworks.ETHEREUM, ethereum);\n }\n if (solana) {\n instances.set(LegacyNetworks.SOLANA, solana);\n }\n\n return instances;\n}\nfunction isEthereumMetamaskProvider(ethereum: MetamaskEvmProviderApi): boolean {\n if (!ethereum?.isMetaMask) {\n return false;\n }\n /*\n * Brave tries to make itself look like MetaMask\n * Could also try RPC `web3_clientVersion` if following is unreliable\n */\n if (ethereum.isBraveWallet && !ethereum._events && !ethereum._state) {\n return false;\n }\n if (ethereum.isApexWallet) {\n return false;\n }\n if (ethereum.isAvalanche) {\n return false;\n }\n if (ethereum.isBitKeep) {\n return false;\n }\n if (ethereum.isBlockWallet) {\n return false;\n }\n if (ethereum.isCoin98) {\n return false;\n }\n if (ethereum.isFordefi) {\n return false;\n }\n if (ethereum.__XDEFI) {\n return false;\n }\n if (ethereum.isMathWallet) {\n return false;\n }\n if (ethereum.isOkxWallet || ethereum.isOKExWallet) {\n return false;\n }\n if (ethereum.isOneInchIOSWallet || ethereum.isOneInchAndroidWallet) {\n return false;\n }\n if (ethereum.isOpera) {\n return false;\n }\n if (ethereum.isPortal) {\n return false;\n }\n if (ethereum.isRabby) {\n return false;\n }\n if (ethereum.isDefiant) {\n return false;\n }\n if (ethereum.isTokenPocket) {\n return false;\n }\n if (ethereum.isTokenary) {\n return false;\n }\n if (ethereum.isZeal) {\n return false;\n }\n if (ethereum.isZerion) {\n return false;\n }\n if (ethereum.isSafePal) {\n return false;\n }\n return true;\n}\nexport function evmMetamask(): EvmProviderApi {\n const instances = metamask();\n\n const evmInstance = instances?.get(LegacyNetworks.ETHEREUM);\n\n if (!evmInstance) {\n throw new Error(\n 'Metamask not injected or EVM not enabled. Please check your wallet.'\n );\n }\n\n return evmInstance as EvmProviderApi;\n}\nexport function solanaMetamask(): WalletStandardSolanaInstance {\n const instances = metamask();\n const solanaInstance = instances?.get(LegacyNetworks.SOLANA);\n if (!solanaInstance) {\n throw new Error(\n 'Metamask Solana instance is not available. Ensure that Solana support is enabled in your wallet.'\n );\n }\n return solanaInstance as WalletStandardSolanaInstance;\n}\nexport function getInstanceOrThrow(): Provider {\n const instances = metamask();\n\n if (!instances) {\n throw new Error('MetaMask is not injected. Please check your wallet.');\n }\n\n return instances;\n}\nfunction getSolanaWalletInstance() {\n return getWallets()\n .get()\n .find(\n (wallet) =>\n wallet.name === WALLET_STANDARD_NAME &&\n wallet.chains.includes(SOLANA_WALLET_STANDARD_MAINNET)\n ) as WalletStandardSolanaInstance;\n}\n", "import type { ProviderMetadata } from '@hub3js/core';\n\nimport {\n type BlockchainMeta,\n evmBlockchains,\n solanaBlockchain,\n} from 'rango-types';\n\nimport getSigners from './signer.js';\nimport { getInstanceOrThrow } from './utils.js';\n\nexport const WALLET_ID = 'metamask';\nexport const WALLET_STANDARD_NAME = 'MetaMask';\nexport const SOLANA_WALLET_STANDARD_MAINNET = 'solana:mainnet';\nexport const metadata: ProviderMetadata = {\n name: 'MetaMask',\n icon: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/metamask/icon.svg',\n extensions: {\n chrome:\n 'https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=en',\n brave:\n 'https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=en',\n firefox: 'https://addons.mozilla.org/en-US/firefox/addon/ether-metamask',\n edge: 'https://microsoftedge.microsoft.com/addons/detail/metamask/ejbalbakoplchlghecdalmeeeajnimhm?hl=en-US',\n homepage: 'https://metamask.io/download/',\n },\n properties: [\n {\n name: 'namespaces',\n value: {\n selection: 'multiple',\n data: [\n {\n label: 'EVM',\n value: 'EVM',\n id: 'ETH',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n evmBlockchains(allBlockchains),\n },\n {\n label: 'Solana',\n value: 'Solana',\n id: 'SOLANA',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n solanaBlockchain(allBlockchains),\n },\n ],\n },\n },\n {\n name: 'signers',\n value: {\n getSigners: async () => getSigners(getInstanceOrThrow()),\n },\n },\n ],\n};\n", "import { ProviderBuilder } from '@hub3js/core';\n\nimport { metadata, WALLET_ID } from './constants.js';\nimport { evm } from './namespaces/evm.js';\nimport { solana } from './namespaces/solana.js';\nimport { metamask as metamask } from './utils.js';\n\nconst buildProvider = () =>\n new ProviderBuilder(WALLET_ID)\n .init(function (context) {\n const [, setState] = context.state();\n\n if (metamask()) {\n setState('installed', true);\n console.debug('[metamask] instance detected.', context);\n }\n })\n .config('metadata', metadata)\n .add('evm', evm)\n .add('solana', solana)\n .build();\n\nexport { buildProvider };\n", "import type { EvmActions } from '@hub3js/evm';\n\nimport { ActionBuilder, NamespaceBuilder } from '@hub3js/core';\nimport { actions, builders, utils } from '@hub3js/evm';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport {\n connectAndUpdateStateForMultiNetworks,\n intoConnecting,\n intoConnectionFinished,\n standardizeAndThrowError,\n} from '@hub3js/std/operators';\n\nimport { WALLET_ID } from '../constants.js';\nimport { evmMetamask } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = builders\n .changeAccountSubscriber(evmMetamask)\n /*\n * Metamask returns an array of connected accounts with the active one first.\n * Since we only need the active account, we take the first element as a workaround.\n */\n .format(async (instance, accounts) => {\n const chainId = await instance.request({ method: 'eth_chainId' });\n return utils.formatAccountsToCAIP([accounts[0]], chainId);\n })\n .build();\n\nconst connect = new ActionBuilder<EvmActions, 'connect'>('connect')\n .action(actions.connect(evmMetamask))\n /*\n * Metamask Wallet's `connect` returns a list where the currently selected account\n * is always the first item. We're directly taking this first item as the active account.\n *\n * ***NOTE***: Please keep it synced with `wallets/core/src/namespaces/solana/builders.ts`.\n *\n */\n .and((_, connectResult) => ({\n ...connectResult,\n accounts: [connectResult.accounts[0]],\n }))\n .and(connectAndUpdateStateForMultiNetworks)\n .before(intoConnecting)\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .after(intoConnectionFinished)\n .build();\n\nconst canEagerConnect = builders\n .canEagerConnect()\n .action(actions.canEagerConnect(evmMetamask))\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<EvmActions>()\n .after(changeAccountCleanup)\n .build();\n\nconst canSwitchNetwork = builders\n .canSwitchNetwork()\n .action(actions.canSwitchNetwork())\n .build();\n\nconst getChainId = builders\n .getChainId()\n .action(actions.getChainId(evmMetamask))\n .build();\n\nconst evm = new NamespaceBuilder<EvmActions>('EVM', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canSwitchNetwork)\n .action(canEagerConnect)\n .action(getChainId)\n .build();\n\nexport { evm };\n", "import { ActionBuilder, NamespaceBuilder } from '@hub3js/core';\nimport { builders, type SolanaActions } from '@hub3js/solana';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport { standardizeAndThrowError } from '@hub3js/std/operators';\n\nimport { solanaActions } from '../actions/solana.js';\nimport { solanaBuilders } from '../builders/solana.js';\nimport { WALLET_ID } from '../constants.js';\nimport { solanaMetamask } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = solanaBuilders\n .changeAccountSubscriber(solanaMetamask)\n .build();\n\nconst connect = builders\n .connect()\n .action(solanaActions.connect(solanaMetamask))\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst canEagerConnect = new ActionBuilder<SolanaActions, 'canEagerConnect'>(\n 'canEagerConnect'\n)\n .action(solanaActions.canEagerConnect(solanaMetamask))\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<SolanaActions>()\n .after(changeAccountCleanup)\n .build();\n\nconst solana = new NamespaceBuilder<SolanaActions>('Solana', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .build();\n\nexport { solana };\n", "import type { WalletStandardSolanaInstance } from '../types.js';\nimport type { Context, FunctionWithContext } from '@hub3js/core';\n\nimport { type SolanaActions, utils } from '@hub3js/solana';\n\nfunction connect(\n getInstance: () => WalletStandardSolanaInstance\n): FunctionWithContext<SolanaActions['connect'], Context> {\n return async () => {\n const solanaInstance = getInstance();\n const connectResult = await solanaInstance.features[\n 'standard:connect'\n ].connect();\n return utils.formatAccountsToCAIP(\n connectResult.accounts.map((account) => account.address)\n );\n };\n}\nfunction canEagerConnect(getInstance: () => WalletStandardSolanaInstance) {\n return async () => {\n const solanaInstance = getInstance();\n\n if (!solanaInstance) {\n throw new Error(\n 'Trying to eagerly connect to your Solana wallet, but it seems that its instance is not available.'\n );\n }\n\n try {\n const result = await solanaInstance.features['standard:connect'].connect({\n silent: true,\n });\n return !!result.accounts.length;\n } catch {\n return false;\n }\n };\n}\nexport const solanaActions = { connect, canEagerConnect };\n", "import type { WalletStandardSolanaInstance } from '../types.js';\nimport type { StandardEventsChangeProperties } from '@wallet-standard/features';\n\nimport { type SolanaActions, utils } from '@hub3js/solana';\nimport { ChangeAccountSubscriberBuilder } from '@hub3js/std/hooks';\n\n// Hooks\nconst changeAccountSubscriber = (\n getInstance: () => WalletStandardSolanaInstance\n) =>\n new ChangeAccountSubscriberBuilder<\n StandardEventsChangeProperties,\n WalletStandardSolanaInstance,\n SolanaActions\n >()\n .getInstance(getInstance)\n .onSwitchAccount((event, context) => {\n if (!event.payload.accounts?.length) {\n context.action('disconnect');\n event.preventDefault();\n }\n })\n .format(async (_, event) =>\n utils.formatAccountsToCAIP(\n event.accounts!.map((account) => account.address)\n )\n )\n .addEventListener((instance, callback) => {\n instance.features['standard:events'].on('change', callback);\n })\n .removeEventListener((_, __) => {});\n\nexport const solanaBuilders = { changeAccountSubscriber };\n"],
5
+ "mappings": "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",
6
+ "names": ["defineVersions", "canEagerlyConnectToEvm", "canSwitchNetworkToEvm", "getEvmAccounts", "subscribeToEvm", "switchNetworkForEvm", "WalletTypes", "evmBlockchains", "Networks", "dynamicImportWithRefinedError", "getNetworkInstance", "DefaultSignerFactory", "TxType", "generalSolanaTransactionExecutor", "base58", "SignerError", "SignerErrorCode", "executeSolanaTransaction", "tx", "solanaProvider", "generalSolanaTransactionExecutor", "__name", "solanaWeb3Transaction", "currentAccount", "SignerError", "SignerErrorCode", "signOutput", "e", "MetamaskSolanaSigner", "provider", "msg", "encodedMessage", "account", "base58", "error", "getSigners", "provider", "ethProvider", "getNetworkInstance", "Networks", "solanaProvider", "signers", "DefaultSignerFactory", "DefaultEvmSigner", "dynamicImportWithRefinedError", "TxType", "MetamaskSolanaSigner", "__name", "LegacyNetworks", "getWallets", "evmBlockchains", "solanaBlockchain", "WALLET_ID", "WALLET_STANDARD_NAME", "SOLANA_WALLET_STANDARD_MAINNET", "metadata", "allBlockchains", "evmBlockchains", "solanaBlockchain", "getSigners", "getInstanceOrThrow", "metamask", "ethereum", "solana", "getSolanaWalletInstance", "isEthereumMetamaskProvider", "instances", "LegacyNetworks", "__name", "evmMetamask", "evmInstance", "solanaMetamask", "solanaInstance", "getInstanceOrThrow", "getWallets", "wallet", "WALLET_STANDARD_NAME", "SOLANA_WALLET_STANDARD_MAINNET", "WALLET", "WalletTypes", "config", "getInstance", "metamask", "connect", "__name", "instance", "accounts", "chainId", "getEvmAccounts", "subscribe", "subscribeToEvm", "canSwitchNetworkTo", "canSwitchNetworkToEvm", "getSigners", "canEagerConnect", "canEagerlyConnectToEvm", "getWalletInfo", "__name", "allBlockChains", "evms", "evmBlockchains", "buildLegacyProvider", "config", "getInstance", "connect", "subscribe", "ProviderBuilder", "ActionBuilder", "NamespaceBuilder", "actions", "builders", "utils", "commonBuilders", "connectAndUpdateStateForMultiNetworks", "intoConnecting", "intoConnectionFinished", "standardizeAndThrowError", "changeAccountSubscriber", "changeAccountCleanup", "builders", "evmMetamask", "instance", "accounts", "chainId", "utils", "connect", "ActionBuilder", "actions", "_", "connectResult", "connectAndUpdateStateForMultiNetworks", "intoConnecting", "standardizeAndThrowError", "intoConnectionFinished", "canEagerConnect", "disconnect", "canSwitchNetwork", "getChainId", "evm", "NamespaceBuilder", "WALLET_ID", "ActionBuilder", "NamespaceBuilder", "builders", "commonBuilders", "standardizeAndThrowError", "utils", "connect", "getInstance", "connectResult", "utils", "account", "__name", "canEagerConnect", "solanaInstance", "solanaActions", "utils", "ChangeAccountSubscriberBuilder", "changeAccountSubscriber", "__name", "getInstance", "ChangeAccountSubscriberBuilder", "event", "context", "_", "utils", "account", "instance", "callback", "__", "solanaBuilders", "changeAccountSubscriber", "changeAccountCleanup", "solanaBuilders", "solanaMetamask", "connect", "builders", "solanaActions", "standardizeAndThrowError", "canEagerConnect", "ActionBuilder", "disconnect", "solana", "NamespaceBuilder", "WALLET_ID", "buildProvider", "__name", "ProviderBuilder", "WALLET_ID", "context", "setState", "metamask", "metadata", "evm", "solana", "versions", "__name", "defineVersions", "buildLegacyProvider", "buildProvider"]
7
7
  }
@@ -1,4 +1,4 @@
1
- import type { EvmActions } from '@rango-dev/wallets-core/namespaces/evm';
2
- declare const evm: import("@rango-dev/wallets-core").ProxiedNamespace<EvmActions>;
1
+ import type { EvmActions } from '@hub3js/evm';
2
+ declare const evm: import("@hub3js/core").ProxiedNamespace<EvmActions>;
3
3
  export { evm };
4
4
  //# sourceMappingURL=evm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../src/namespaces/evm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAwEzE,QAAA,MAAM,GAAG,gEAMC,CAAC;AAEX,OAAO,EAAE,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../src/namespaces/evm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoE9C,QAAA,MAAM,GAAG,qDAMC,CAAC;AAEX,OAAO,EAAE,GAAG,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type SolanaActions } from '@rango-dev/wallets-core/namespaces/solana';
2
- declare const solana: import("@rango-dev/wallets-core").ProxiedNamespace<SolanaActions>;
1
+ import { type SolanaActions } from '@hub3js/solana';
2
+ declare const solana: import("@hub3js/core").ProxiedNamespace<SolanaActions>;
3
3
  export { solana };
4
4
  //# sourceMappingURL=solana.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../src/namespaces/solana.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,2CAA2C,CAAC;AA8BnD,QAAA,MAAM,MAAM,mEAIF,CAAC;AAEX,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../src/namespaces/solana.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAgC9D,QAAA,MAAM,MAAM,wDAIF,CAAC;AAEX,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"inputs":{"src/signers/solana.ts":{"bytes":2756,"imports":[{"path":"@rango-dev/signer-solana","kind":"import-statement","external":true},{"path":"bs58","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/signer.ts":{"bytes":1009,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/signers/solana.ts","kind":"import-statement","original":"./signers/solana.js"},{"path":"@rango-dev/signer-evm","kind":"dynamic-import","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/constants.ts":{"bytes":1752,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/signer.ts","kind":"import-statement","original":"./signer.js"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils.js"}],"format":"esm"},"src/utils.ts":{"bytes":3385,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@wallet-standard/app","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/index.ts":{"bytes":2704,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/signer.ts","kind":"import-statement","original":"../signer.js"},{"path":"src/utils.ts","kind":"import-statement","original":"../utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/evm.ts":{"bytes":2365,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/evm","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"../constants.js"},{"path":"src/utils.ts","kind":"import-statement","original":"../utils.js"}],"format":"esm"},"src/actions/solana.ts":{"bytes":1228,"imports":[{"path":"@rango-dev/wallets-core/namespaces/solana","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/builders/solana.ts":{"bytes":1126,"imports":[{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/solana","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/solana.ts":{"bytes":1264,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/solana","kind":"import-statement","external":true},{"path":"src/actions/solana.ts","kind":"import-statement","original":"../actions/solana.js"},{"path":"src/builders/solana.ts","kind":"import-statement","original":"../builders/solana.js"},{"path":"src/constants.ts","kind":"import-statement","original":"../constants.js"},{"path":"src/utils.ts","kind":"import-statement","original":"../utils.js"}],"format":"esm"},"src/provider.ts":{"bytes":659,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"src/namespaces/evm.ts","kind":"import-statement","original":"./namespaces/evm.js"},{"path":"src/namespaces/solana.ts","kind":"import-statement","original":"./namespaces/solana.js"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/mod.ts":{"bytes":332,"imports":[{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"src/legacy/index.ts","kind":"import-statement","original":"./legacy/index.js"},{"path":"src/provider.ts","kind":"import-statement","original":"./provider.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":29902},"dist/mod.js":{"imports":[{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-solana","kind":"import-statement","external":true},{"path":"bs58","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-evm","kind":"dynamic-import","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@wallet-standard/app","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/evm","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/solana","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/solana","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/solana","kind":"import-statement","external":true}],"exports":["versions"],"entryPoint":"src/mod.ts","inputs":{"src/mod.ts":{"bytesInOutput":144},"src/legacy/index.ts":{"bytesInOutput":1156},"src/signer.ts":{"bytesInOutput":473},"src/signers/solana.ts":{"bytesInOutput":1295},"src/utils.ts":{"bytesInOutput":1271},"src/constants.ts":{"bytesInOutput":947},"src/provider.ts":{"bytesInOutput":267},"src/namespaces/evm.ts":{"bytesInOutput":959},"src/namespaces/solana.ts":{"bytesInOutput":531},"src/actions/solana.ts":{"bytesInOutput":564},"src/builders/solana.ts":{"bytesInOutput":528}},"bytes":8270}}}
1
+ {"inputs":{"src/signers/solana.ts":{"bytes":2756,"imports":[{"path":"@rango-dev/signer-solana","kind":"import-statement","external":true},{"path":"bs58","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/signer.ts":{"bytes":1009,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/signers/solana.ts","kind":"import-statement","original":"./signers/solana.js"},{"path":"@rango-dev/signer-evm","kind":"dynamic-import","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/constants.ts":{"bytes":1742,"imports":[{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/signer.ts","kind":"import-statement","original":"./signer.js"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils.js"}],"format":"esm"},"src/utils.ts":{"bytes":3358,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@wallet-standard/app","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/index.ts":{"bytes":2704,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/signer.ts","kind":"import-statement","original":"../signer.js"},{"path":"src/utils.ts","kind":"import-statement","original":"../utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/evm.ts":{"bytes":2299,"imports":[{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"@hub3js/evm","kind":"import-statement","external":true},{"path":"@hub3js/std/builders","kind":"import-statement","external":true},{"path":"@hub3js/std/operators","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"../constants.js"},{"path":"src/utils.ts","kind":"import-statement","original":"../utils.js"}],"format":"esm"},"src/actions/solana.ts":{"bytes":1185,"imports":[{"path":"@hub3js/solana","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/builders/solana.ts":{"bytes":1070,"imports":[{"path":"@hub3js/solana","kind":"import-statement","external":true},{"path":"@hub3js/std/hooks","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/solana.ts":{"bytes":1224,"imports":[{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"@hub3js/solana","kind":"import-statement","external":true},{"path":"@hub3js/std/builders","kind":"import-statement","external":true},{"path":"@hub3js/std/operators","kind":"import-statement","external":true},{"path":"src/actions/solana.ts","kind":"import-statement","original":"../actions/solana.js"},{"path":"src/builders/solana.ts","kind":"import-statement","original":"../builders/solana.js"},{"path":"src/constants.ts","kind":"import-statement","original":"../constants.js"},{"path":"src/utils.ts","kind":"import-statement","original":"../utils.js"}],"format":"esm"},"src/provider.ts":{"bytes":648,"imports":[{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"src/namespaces/evm.ts","kind":"import-statement","original":"./namespaces/evm.js"},{"path":"src/namespaces/solana.ts","kind":"import-statement","original":"./namespaces/solana.js"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/mod.ts":{"bytes":321,"imports":[{"path":"@hub3js/core/utils","kind":"import-statement","external":true},{"path":"src/legacy/index.ts","kind":"import-statement","original":"./legacy/index.js"},{"path":"src/provider.ts","kind":"import-statement","original":"./provider.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":29581},"dist/mod.js":{"imports":[{"path":"@hub3js/core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-solana","kind":"import-statement","external":true},{"path":"bs58","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-evm","kind":"dynamic-import","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@wallet-standard/app","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"@hub3js/evm","kind":"import-statement","external":true},{"path":"@hub3js/std/builders","kind":"import-statement","external":true},{"path":"@hub3js/std/operators","kind":"import-statement","external":true},{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"@hub3js/solana","kind":"import-statement","external":true},{"path":"@hub3js/std/builders","kind":"import-statement","external":true},{"path":"@hub3js/std/operators","kind":"import-statement","external":true},{"path":"@hub3js/solana","kind":"import-statement","external":true},{"path":"@hub3js/solana","kind":"import-statement","external":true},{"path":"@hub3js/std/hooks","kind":"import-statement","external":true}],"exports":["versions"],"entryPoint":"src/mod.ts","inputs":{"src/mod.ts":{"bytesInOutput":133},"src/legacy/index.ts":{"bytesInOutput":1160},"src/signer.ts":{"bytesInOutput":473},"src/signers/solana.ts":{"bytesInOutput":1295},"src/utils.ts":{"bytesInOutput":1271},"src/constants.ts":{"bytesInOutput":915},"src/provider.ts":{"bytesInOutput":256},"src/namespaces/evm.ts":{"bytesInOutput":924},"src/namespaces/solana.ts":{"bytesInOutput":496},"src/actions/solana.ts":{"bytesInOutput":537},"src/builders/solana.ts":{"bytesInOutput":477}},"bytes":8072}}}
@@ -1,3 +1,3 @@
1
- declare const buildProvider: () => import("@rango-dev/wallets-core").Provider;
1
+ declare const buildProvider: () => import("@hub3js/core").Provider<Record<"evm", import("@hub3js/evm").EvmActions> & Record<"solana", import("@hub3js/solana").SolanaActions>>;
2
2
  export { buildProvider };
3
3
  //# sourceMappingURL=provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,aAAa,kDAaP,CAAC;AAEb,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,aAAa,mJAaP,CAAC;AAEb,OAAO,EAAE,aAAa,EAAE,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
+ import type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';
1
2
  import type { LegacyNetworks } from '@rango-dev/wallets-core/legacy';
2
- import type { ProviderAPI as EvmProviderApi } from '@rango-dev/wallets-core/namespaces/evm';
3
3
  import type { WalletWithFeatures as StandardWalletWithFeatures } from '@wallet-standard/base';
4
4
  import { type SolanaSignMessageFeature, type SolanaSignTransactionFeature } from '@solana/wallet-standard-features';
5
5
  import { type StandardConnectFeature, type StandardEventsFeature } from '@wallet-standard/features';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC5F,OAAO,KAAK,EAAE,kBAAkB,IAAI,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAE9F,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EAClC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,4BAA4B,GAAG,0BAA0B,CACnE,sBAAsB,GACpB,qBAAqB,GACrB,4BAA4B,GAC5B,wBAAwB,CAC3B,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG,cAAc,GAAG;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClD,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,4BAA4B,CAAC;CACvD,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,GAAG,CACxB,MAAM,cAAc,EACpB,cAAc,CAAC,MAAM,cAAc,CAAC,CACrC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,IAAI,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAE9F,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EAClC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,4BAA4B,GAAG,0BAA0B,CACnE,sBAAsB,GACpB,qBAAqB,GACrB,4BAA4B,GAC5B,wBAAwB,CAC3B,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG,cAAc,GAAG;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClD,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,4BAA4B,CAAC;CACvD,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,GAAG,CACxB,MAAM,cAAc,EACpB,cAAc,CAAC,MAAM,cAAc,CAAC,CACrC,CAAC"}
package/dist/utils.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Provider, WalletStandardSolanaInstance } from './types.js';
2
- import type { ProviderAPI as EvmProviderApi } from '@rango-dev/wallets-core/namespaces/evm';
2
+ import type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';
3
3
  export declare function metamask(): Provider | null;
4
4
  export declare function evmMetamask(): EvmProviderApi;
5
5
  export declare function solanaMetamask(): WalletStandardSolanaInstance;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,QAAQ,EACR,4BAA4B,EAC7B,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAU5F,wBAAgB,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAiB1C;AAuED,wBAAgB,WAAW,IAAI,cAAc,CAY5C;AACD,wBAAgB,cAAc,IAAI,4BAA4B,CAS7D;AACD,wBAAgB,kBAAkB,IAAI,QAAQ,CAQ7C"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,QAAQ,EACR,4BAA4B,EAC7B,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AAUjE,wBAAgB,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAiB1C;AAuED,wBAAgB,WAAW,IAAI,cAAc,CAY5C;AACD,wBAAgB,cAAc,IAAI,4BAA4B,CAS7D;AACD,wBAAgB,kBAAkB,IAAI,QAAQ,CAQ7C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rango-dev/provider-metamask",
3
- "version": "0.60.0",
3
+ "version": "0.60.1-next.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "source": "./src/mod.ts",
@@ -21,10 +21,14 @@
21
21
  "lint": "eslint \"**/*.{ts,tsx}\""
22
22
  },
23
23
  "dependencies": {
24
+ "@hub3js/core": "^0.60.1",
25
+ "@hub3js/evm": "^0.2.1",
26
+ "@hub3js/solana": "^0.2.1",
27
+ "@hub3js/std": "^0.1.1",
24
28
  "@rango-dev/signer-evm": "^0.42.0",
25
29
  "@rango-dev/signer-solana": "^0.48.0",
26
- "@rango-dev/wallets-core": "^0.59.0",
27
- "@rango-dev/wallets-shared": "^0.60.0",
30
+ "@rango-dev/wallets-core": "^0.59.1-next.0",
31
+ "@rango-dev/wallets-shared": "^0.60.1-next.1",
28
32
  "@wallet-standard/app": "^1.1.0",
29
33
  "bs58": "^5.0.0",
30
34
  "rango-types": "^0.5.0"
@@ -1,10 +1,7 @@
1
1
  import type { WalletStandardSolanaInstance } from '../types.js';
2
- import type { Context, FunctionWithContext } from '@rango-dev/wallets-core';
2
+ import type { Context, FunctionWithContext } from '@hub3js/core';
3
3
 
4
- import {
5
- type SolanaActions,
6
- utils,
7
- } from '@rango-dev/wallets-core/namespaces/solana';
4
+ import { type SolanaActions, utils } from '@hub3js/solana';
8
5
 
9
6
  function connect(
10
7
  getInstance: () => WalletStandardSolanaInstance
@@ -1,11 +1,8 @@
1
1
  import type { WalletStandardSolanaInstance } from '../types.js';
2
2
  import type { StandardEventsChangeProperties } from '@wallet-standard/features';
3
3
 
4
- import { ChangeAccountSubscriberBuilder } from '@rango-dev/wallets-core/namespaces/common';
5
- import {
6
- type SolanaActions,
7
- utils,
8
- } from '@rango-dev/wallets-core/namespaces/solana';
4
+ import { type SolanaActions, utils } from '@hub3js/solana';
5
+ import { ChangeAccountSubscriberBuilder } from '@hub3js/std/hooks';
9
6
 
10
7
  // Hooks
11
8
  const changeAccountSubscriber = (
package/src/constants.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { type ProviderMetadata } from '@rango-dev/wallets-core';
1
+ import type { ProviderMetadata } from '@hub3js/core';
2
+
2
3
  import {
3
4
  type BlockchainMeta,
4
5
  evmBlockchains,
package/src/mod.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { defineVersions } from '@rango-dev/wallets-core/utils';
1
+ import { defineVersions } from '@hub3js/core/utils';
2
2
 
3
3
  import { buildLegacyProvider } from './legacy/index.js';
4
4
  import { buildProvider } from './provider.js';
@@ -1,18 +1,14 @@
1
- import type { EvmActions } from '@rango-dev/wallets-core/namespaces/evm';
1
+ import type { EvmActions } from '@hub3js/evm';
2
2
 
3
- import { ActionBuilder, NamespaceBuilder } from '@rango-dev/wallets-core';
3
+ import { ActionBuilder, NamespaceBuilder } from '@hub3js/core';
4
+ import { actions, builders, utils } from '@hub3js/evm';
5
+ import * as commonBuilders from '@hub3js/std/builders';
4
6
  import {
5
- builders as commonBuilders,
6
7
  connectAndUpdateStateForMultiNetworks,
7
8
  intoConnecting,
8
9
  intoConnectionFinished,
9
10
  standardizeAndThrowError,
10
- } from '@rango-dev/wallets-core/namespaces/common';
11
- import {
12
- actions,
13
- builders,
14
- utils,
15
- } from '@rango-dev/wallets-core/namespaces/evm';
11
+ } from '@hub3js/std/operators';
16
12
 
17
13
  import { WALLET_ID } from '../constants.js';
18
14
  import { evmMetamask } from '../utils.js';
@@ -1,12 +1,7 @@
1
- import { ActionBuilder, NamespaceBuilder } from '@rango-dev/wallets-core';
2
- import {
3
- builders as commonBuilders,
4
- standardizeAndThrowError,
5
- } from '@rango-dev/wallets-core/namespaces/common';
6
- import {
7
- builders,
8
- type SolanaActions,
9
- } from '@rango-dev/wallets-core/namespaces/solana';
1
+ import { ActionBuilder, NamespaceBuilder } from '@hub3js/core';
2
+ import { builders, type SolanaActions } from '@hub3js/solana';
3
+ import * as commonBuilders from '@hub3js/std/builders';
4
+ import { standardizeAndThrowError } from '@hub3js/std/operators';
10
5
 
11
6
  import { solanaActions } from '../actions/solana.js';
12
7
  import { solanaBuilders } from '../builders/solana.js';
package/src/provider.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ProviderBuilder } from '@rango-dev/wallets-core';
1
+ import { ProviderBuilder } from '@hub3js/core';
2
2
 
3
3
  import { metadata, WALLET_ID } from './constants.js';
4
4
  import { evm } from './namespaces/evm.js';
package/src/types.ts CHANGED
@@ -1,5 +1,5 @@
1
+ import type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';
1
2
  import type { LegacyNetworks } from '@rango-dev/wallets-core/legacy';
2
- import type { ProviderAPI as EvmProviderApi } from '@rango-dev/wallets-core/namespaces/evm';
3
3
  import type { WalletWithFeatures as StandardWalletWithFeatures } from '@wallet-standard/base';
4
4
 
5
5
  import {
package/src/utils.ts CHANGED
@@ -3,7 +3,7 @@ import type {
3
3
  Provider,
4
4
  WalletStandardSolanaInstance,
5
5
  } from './types.js';
6
- import type { ProviderAPI as EvmProviderApi } from '@rango-dev/wallets-core/namespaces/evm';
6
+ import type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';
7
7
 
8
8
  import { LegacyNetworks } from '@rango-dev/wallets-core/legacy';
9
9
  import { getWallets } from '@wallet-standard/app';