@rango-dev/wallets-react 0.21.2-next.1 → 0.21.2-next.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- export * from './helpers';
2
- export { default as Provider } from './provider';
3
- export { useWallets } from './hooks';
4
- export * from './types';
1
+ export * from './legacy/helpers.js';
2
+ export { default as Provider } from './provider.js';
3
+ export { useWallets } from './legacy/hooks.js';
4
+ export * from './legacy/types.js';
5
5
  export type { EventHandler } from '@rango-dev/wallets-core';
6
6
  export { Events, readAccountAddress } from '@rango-dev/wallets-core';
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,cAAc,SAAS,CAAC;AAExB,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAElC,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var b=Object.defineProperty;var c=(e,t)=>b(e,"name",{value:t,configurable:!0});import{Persistor as g}from"@rango-dev/wallets-core";var u="last-connected-wallets";function q(e,t){return e.find(s=>s.type===t)||null}c(q,"choose");var W={connected:!1,connecting:!1,reachable:!1,installed:!1,accounts:null,network:null};function k(e,t){if(t.type==="new_state"){let s=e[t.wallet];return s?{...e,[t.wallet]:{...s,[t.name]:t.value}}:{...e,[t.wallet]:{...W,[t.name]:t.value}}}return e}c(k,"state_reducer");function I(e){return Object.entries(e).filter(([,t])=>t?.connected).map(([t])=>t)}c(I,"connectedWallets");function P(e){return Object.entries(e).map(([t])=>t)}c(P,"availableWallets");function x(e){let t=new Map;return e.forEach(s=>{let{config:a,...o}=s;t.set(a.type,{actions:o,config:a})}),t}c(x,"checkWalletProviders");function J(e){return e?.constructor?.name==="AsyncFunction"}c(J,"isAsync");function Q(e){let{checkInstallation:t=!0}=e.config;return t}c(Q,"needsCheckInstallation");async function S({type:e,walletActions:t,getState:s}){if(t.canEagerConnect){let a=new g,o=a.getItem(u);o?.find(d=>!s(d).connected)&&C();let p=!!o?.find(d=>d===e);o&&!p?a.setItem(u,o.concat(e)):a.setItem(u,[e])}}c(S,"tryPersistWallet");function E({type:e,walletActions:t}){if(t.canEagerConnect){let s=new g,a=s.getItem(u);a&&s.setItem(u,a.filter(o=>o!==e))}}c(E,"tryRemoveWalletFromPersistance");function C(){let e=new g;e.getItem(u)&&e.removeItem(u)}c(C,"clearPersistance");async function T(e,t){let s=new g,a=s.getItem(u);if(a&&a.length){let o=[];a.forEach(d=>{let n=e.get(d);if(n){let r=t(n);o.push({walletType:d,eagerConnect:r.eagerConnect.bind(r)})}});let w=await Promise.allSettled(o.map(({eagerConnect:d})=>d()));if(!!w.find(({status:d})=>d==="fulfilled")){let d=[];w.forEach(({status:n},r)=>{n==="rejected"&&d.push(o[r].walletType)}),d.length&&s.setItem(u,a.filter(n=>!d.includes(n)))}}}c(T,"autoConnect");function v(e,t){return c((a,o,w,p,d)=>{e({type:"new_state",wallet:a,name:o,value:w}),t&&t(a,o,w,p,d)},"handler")}c(v,"makeEventHandler");import _,{useEffect as h,useReducer as D,useRef as F}from"react";import{createContext as B}from"react";var f="Context hasn't been initialized yet.",R={async connect(){throw new Error(f)},async disconnect(){throw new Error(f)},async disconnectAll(){throw new Error(f)},async suggestAndConnect(){throw new Error(f)},state(){throw new Error(f)},canSwitchNetworkTo(){throw new Error(f)},providers(){throw new Error(f)},getWalletInfo(){throw new Error(f)},getSigners(){throw new Error(f)}},m=B(R);import{useContext as H,useRef as O}from"react";import M from"@rango-dev/wallets-core";function A(e){let t=O({});function s(a){let o=a.config.type;return typeof t.current[o]>"u"&&(t.current[o]=new M({config:a.config,handler:e},a.actions)),t.current[o]}return c(s,"updater"),s}c(A,"useInitializers");function L(){let e=H(m);if(!e)throw Error("useWallet can only be used within the Provider component");return e}c(L,"useWallets");function G(e){let[t,s]=D(k,{}),a=F(!1),o=A(v(s,e.onUpdateState)),w=e.providers,p=x(w),d={async connect(n,r,l){let i=p.get(n);if(!i)throw new Error(`You should add ${n} to provider first.`);let N=await o(i).connect(r,l);return e.autoConnect&&S({type:n,walletActions:i.actions,getState:d.state}),N},async disconnect(n){let r=p.get(n);if(!r)throw new Error(`You should add ${n} to provider first.`);await o(r).disconnect(),e.autoConnect&&E({type:n,walletActions:r.actions})},async disconnectAll(){let n=[];return I(t).forEach(r=>{let l=p.get(r);if(l){let i=o(l);n.push(i.disconnect())}}),e.autoConnect&&C(),await Promise.allSettled(n)},async suggestAndConnect(n,r){let l=p.get(n);if(!l)throw new Error(`You should add ${n} to provider first.`);return await o(l).suggestAndConnect(r)},state(n){return t[n]||W},canSwitchNetworkTo(n,r){let l=p.get(n);if(!l)return!1;let i=o(l);return i.canSwitchNetworkTo?i.canSwitchNetworkTo(r,i.provider):!1},providers(){let n={};return P(t).forEach(r=>{let l=p.get(r);if(l){let i=o(l);n[r]=i.provider}}),n},getWalletInfo(n){let r=p.get(n);if(!r)throw new Error(`You should add ${n} to provider first.`);return r.actions.getWalletInfo(e.allBlockChains||[])},getSigners(n){let r=p.get(n);if(!r)throw new Error(`You should add ${n} to provider first.`);let l=o(r),i=l.provider;return l.getSigners(i)}};return h(()=>{p.forEach(n=>{let r=o(n),l=c(()=>{r.onInit&&r.onInit()},"runOnInit"),i=c(y=>{y.target&&y.target.readyState==="complete"&&(l(),document.removeEventListener("readystatechange",i))},"initWhenPageIsReady");l(),document.addEventListener("readystatechange",i)})},[]),h(()=>{e.allBlockChains&&p.forEach(r=>{let l=o(r),i=l.getWalletInfo(e.allBlockChains||[]);l.setInfo({supportedBlockchains:i.supportedChains,isContractWallet:!!i.isContractWallet})})},[e.allBlockChains]),h(()=>{p.forEach(n=>{o(n).setHandler(v(s,e.onUpdateState))})},[e.onUpdateState]),h(()=>{e.allBlockChains&&e.allBlockChains.length&&e.autoConnect&&!a.current&&(a.current=!0,(async()=>await T(p,o))())},[e.autoConnect,e.allBlockChains]),_.createElement(m.Provider,{value:d},e.children)}c(G,"Provider");var Y=G;import{Events as Ce,readAccountAddress as ve}from"@rango-dev/wallets-core";export{Ce as Events,Y as Provider,T as autoConnect,P as availableWallets,x as checkWalletProviders,q as choose,C as clearPersistance,I as connectedWallets,W as defaultWalletState,J as isAsync,v as makeEventHandler,Q as needsCheckInstallation,ve as readAccountAddress,k as state_reducer,S as tryPersistWallet,E as tryRemoveWalletFromPersistance,L as useWallets};
1
+ var b=Object.defineProperty;var s=(e,t)=>b(e,"name",{value:t,configurable:!0});import{Persistor as g}from"@rango-dev/wallets-core";var u="last-connected-wallets";function K(e,t){return e.find(c=>c.type===t)||null}s(K,"choose");var W={connected:!1,connecting:!1,reachable:!1,installed:!1,accounts:null,network:null};function k(e,t){if(t.type==="new_state"){let c=e[t.wallet];return c?{...e,[t.wallet]:{...c,[t.name]:t.value}}:{...e,[t.wallet]:{...W,[t.name]:t.value}}}return e}s(k,"state_reducer");function I(e){return Object.entries(e).filter(([,t])=>t?.connected).map(([t])=>t)}s(I,"connectedWallets");function P(e){return Object.entries(e).map(([t])=>t)}s(P,"availableWallets");function x(e){let t=new Map;return e.forEach(c=>{let{config:l,...o}=c;t.set(l.type,{actions:o,config:l})}),t}s(x,"checkWalletProviders");function q(e){return e?.constructor?.name==="AsyncFunction"}s(q,"isAsync");function J(e){let{checkInstallation:t=!0}=e.config;return t}s(J,"needsCheckInstallation");async function S({type:e,walletActions:t,getState:c}){if(t.canEagerConnect){let l=new g,o=l.getItem(u);o?.find(d=>!c(d).connected)&&v();let p=!!o?.find(d=>d===e);o&&!p?l.setItem(u,o.concat(e)):l.setItem(u,[e])}}s(S,"tryPersistWallet");function E({type:e,walletActions:t}){if(t.canEagerConnect){let c=new g,l=c.getItem(u);l&&c.setItem(u,l.filter(o=>o!==e))}}s(E,"tryRemoveWalletFromPersistance");function v(){let e=new g;e.getItem(u)&&e.removeItem(u)}s(v,"clearPersistance");async function T(e,t){let c=new g,l=c.getItem(u);if(l&&l.length){let o=[];l.forEach(d=>{let n=e.get(d);if(n){let r=t(n);o.push({walletType:d,eagerConnect:r.eagerConnect.bind(r)})}});let w=await Promise.allSettled(o.map(async({eagerConnect:d})=>d()));if(!!w.find(({status:d})=>d==="fulfilled")){let d=[];w.forEach((n,r)=>{let{status:a}=n;a==="rejected"&&d.push(o[r].walletType)}),d.length&&c.setItem(u,l.filter(n=>!d.includes(n)))}}}s(T,"autoConnect");function C(e,t){return s((l,o,w,p,d)=>{e({type:"new_state",wallet:l,name:o,value:w}),t&&t(l,o,w,p,d)},"handler")}s(C,"makeEventHandler");import _,{useEffect as h,useReducer as D,useRef as F}from"react";import{createContext as B}from"react";var f="Context hasn't been initialized yet.",R={async connect(){throw new Error(f)},async disconnect(){throw new Error(f)},async disconnectAll(){throw new Error(f)},async suggestAndConnect(){throw new Error(f)},state(){throw new Error(f)},canSwitchNetworkTo(){throw new Error(f)},providers(){throw new Error(f)},getWalletInfo(){throw new Error(f)},getSigners(){throw new Error(f)}},m=B(R);import H from"@rango-dev/wallets-core";import{useContext as O,useRef as M}from"react";function A(e){let t=M({});function c(l){let o=l.config.type;return typeof t.current[o]>"u"&&(t.current[o]=new H({config:l.config,handler:e},l.actions)),t.current[o]}return s(c,"updater"),c}s(A,"useInitializers");function L(){let e=O(m);if(!e)throw Error("useWallet can only be used within the Provider component");return e}s(L,"useWallets");function j(e){let[t,c]=D(k,{}),l=F(!1),o=A(C(c,e.onUpdateState)),w=e.providers,p=x(w),d={async connect(n,r,a){let i=p.get(n);if(!i)throw new Error(`You should add ${n} to provider first.`);let N=await o(i).connect(r,a);return e.autoConnect&&S({type:n,walletActions:i.actions,getState:d.state}),N},async disconnect(n){let r=p.get(n);if(!r)throw new Error(`You should add ${n} to provider first.`);await o(r).disconnect(),e.autoConnect&&E({type:n,walletActions:r.actions})},async disconnectAll(){let n=[];return I(t).forEach(r=>{let a=p.get(r);if(a){let i=o(a);n.push(i.disconnect())}}),e.autoConnect&&v(),await Promise.allSettled(n)},async suggestAndConnect(n,r){let a=p.get(n);if(!a)throw new Error(`You should add ${n} to provider first.`);return await o(a).suggestAndConnect(r)},state(n){return t[n]||W},canSwitchNetworkTo(n,r){let a=p.get(n);if(!a)return!1;let i=o(a);return i.canSwitchNetworkTo?i.canSwitchNetworkTo(r,i.provider):!1},providers(){let n={};return P(t).forEach(r=>{let a=p.get(r);if(a){let i=o(a);n[r]=i.provider}}),n},getWalletInfo(n){let r=p.get(n);if(!r)throw new Error(`You should add ${n} to provider first.`);return r.actions.getWalletInfo(e.allBlockChains||[])},getSigners(n){let r=p.get(n);if(!r)throw new Error(`You should add ${n} to provider first.`);let a=o(r),i=a.provider;return a.getSigners(i)}};return h(()=>{p.forEach(n=>{let r=o(n),a=s(()=>{r.onInit&&r.onInit()},"runOnInit"),i=s(y=>{y.target&&y.target.readyState==="complete"&&(a(),document.removeEventListener("readystatechange",i))},"initWhenPageIsReady");a(),document.addEventListener("readystatechange",i)})},[]),h(()=>{e.allBlockChains&&p.forEach(r=>{let a=o(r),i=a.getWalletInfo(e.allBlockChains||[]);a.setInfo({supportedBlockchains:i.supportedChains,isContractWallet:!!i.isContractWallet})})},[e.allBlockChains]),h(()=>{p.forEach(n=>{o(n).setHandler(C(c,e.onUpdateState))})},[e.onUpdateState]),h(()=>{e.allBlockChains&&e.allBlockChains.length&&e.autoConnect&&!l.current&&(l.current=!0,(async()=>await T(p,o))())},[e.autoConnect,e.allBlockChains]),_.createElement(m.Provider,{value:d},e.children)}s(j,"Provider");var G=j;import{Events as he,readAccountAddress as We}from"@rango-dev/wallets-core";export{he as Events,G as Provider,T as autoConnect,P as availableWallets,x as checkWalletProviders,K as choose,v as clearPersistance,I as connectedWallets,W as defaultWalletState,q as isAsync,C as makeEventHandler,J as needsCheckInstallation,We as readAccountAddress,k as state_reducer,S as tryPersistWallet,E as tryRemoveWalletFromPersistance,L as useWallets};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/helpers.ts", "../src/constants.ts", "../src/provider.tsx", "../src/context.ts", "../src/hooks.ts", "../src/index.ts"],
4
- "sourcesContent": ["import { WalletConfig, WalletType } from '@rango-dev/wallets-shared';\nimport Wallet, { Persistor } from '@rango-dev/wallets-core';\nimport type {\n Options,\n State as WalletState,\n EventHandler as WalletEventHandler,\n} from '@rango-dev/wallets-core';\nimport {\n State,\n WalletActions,\n ProviderInterface,\n WalletProviders,\n} from './types';\nimport { LAST_CONNECTED_WALLETS } from './constants';\n\nexport function choose(wallets: any[], type: WalletType): any | null {\n return wallets.find((wallet) => wallet.type === type) || null;\n}\n\nexport const defaultWalletState: WalletState = {\n connected: false,\n connecting: false,\n reachable: false,\n installed: false,\n accounts: null,\n network: null,\n};\n\nexport function state_reducer(state: State, action: any) {\n if (action.type === 'new_state') {\n // TODO fix problem and remove ts-ignore\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const target_wallet = state[action.wallet];\n if (!target_wallet) {\n return {\n ...state,\n [action.wallet]: {\n ...defaultWalletState,\n [action.name]: action.value,\n },\n };\n }\n\n return {\n ...state,\n [action.wallet]: {\n ...target_wallet,\n [action.name]: action.value,\n },\n };\n }\n\n return state;\n}\n\nexport function connectedWallets(providersState: State): WalletType[] {\n return Object.entries(providersState)\n .filter(([, wallet_state]) => {\n return wallet_state?.connected;\n })\n .map(([type]) => {\n return type;\n });\n}\n\nexport function availableWallets(providersState: State): WalletType[] {\n return Object.entries(providersState).map(([type]) => {\n return type;\n });\n}\n\nexport function checkWalletProviders(\n list: ProviderInterface[]\n): WalletProviders {\n const wallets: WalletProviders = new Map();\n\n list.forEach((provider) => {\n const { config, ...actions } = provider;\n wallets.set(config.type, {\n actions,\n config,\n });\n });\n\n return wallets;\n}\n\n/* eslint-disable @typescript-eslint/ban-types */\nexport function isAsync(fn: Function) {\n return fn?.constructor?.name === 'AsyncFunction';\n}\n\nexport function needsCheckInstallation(options: Options) {\n const { checkInstallation = true } = options.config;\n return checkInstallation;\n}\n\nexport async function tryPersistWallet({\n type,\n walletActions,\n getState,\n}: {\n type: WalletType;\n walletActions: WalletActions;\n getState: (walletType: WalletType) => WalletState;\n}) {\n if (walletActions.canEagerConnect) {\n const persistor = new Persistor<string[]>();\n const wallets = persistor.getItem(LAST_CONNECTED_WALLETS);\n\n /*\n If on the last attempt we are unable to eagerly connect to any wallet and the user connects any wallet manualy,\n persistance will be outdated and will need to be removed.\n */\n const shouldClearPersistance = wallets?.find(\n (walletType) => !getState(walletType).connected\n );\n\n if (shouldClearPersistance) clearPersistance();\n\n const walletAlreadyPersisted = !!wallets?.find((wallet) => wallet === type);\n if (wallets && !walletAlreadyPersisted)\n persistor.setItem(LAST_CONNECTED_WALLETS, wallets.concat(type));\n else persistor.setItem(LAST_CONNECTED_WALLETS, [type]);\n }\n}\n\nexport function tryRemoveWalletFromPersistance({\n type,\n walletActions,\n}: {\n type: WalletType;\n walletActions: WalletActions;\n}) {\n if (walletActions.canEagerConnect) {\n const persistor = new Persistor<string[]>();\n const wallets = persistor.getItem(LAST_CONNECTED_WALLETS);\n if (wallets)\n persistor.setItem(\n LAST_CONNECTED_WALLETS,\n wallets.filter((wallet) => wallet !== type)\n );\n }\n}\n\nexport function clearPersistance() {\n const persistor = new Persistor<string[]>();\n const wallets = persistor.getItem(LAST_CONNECTED_WALLETS);\n if (wallets) persistor.removeItem(LAST_CONNECTED_WALLETS);\n}\n\n/*\n If a wallet has multiple providers and one of them can be eagerly connected,\n then the whole wallet will support it at that point and we try to connect to that wallet as usual in eagerConnect method.\n*/\nexport async function autoConnect(\n wallets: WalletProviders,\n getWalletInstance: (wallet: {\n actions: WalletActions;\n config: WalletConfig;\n }) => Wallet<any>\n) {\n const persistor = new Persistor<string[]>();\n const lastConnectedWallets = persistor.getItem(LAST_CONNECTED_WALLETS);\n if (lastConnectedWallets && lastConnectedWallets.length) {\n const connect_promises: {\n walletType: WalletType;\n eagerConnect: () => Promise<any>;\n }[] = [];\n lastConnectedWallets.forEach((walletType) => {\n const wallet = wallets.get(walletType);\n\n if (!!wallet) {\n const walletInstance = getWalletInstance(wallet);\n connect_promises.push({\n walletType,\n eagerConnect: walletInstance.eagerConnect.bind(walletInstance),\n });\n }\n });\n\n const result = await Promise.allSettled(\n connect_promises.map(({ eagerConnect }) => eagerConnect())\n );\n\n const canRestoreAnyConnection = !!result.find(\n ({ status }) => status === 'fulfilled'\n );\n\n /*\n After successfully connecting to at least one wallet,\n we will removing the other wallets from persistence.\n If we are unable to connect to any wallet,\n the persistence will not be removed and the eager connection will be retried with another page load.\n */\n if (canRestoreAnyConnection) {\n const walletsToRemoveFromPersistance: WalletType[] = [];\n result.forEach(({ status }, index) => {\n if (status === 'rejected')\n walletsToRemoveFromPersistance.push(\n connect_promises[index].walletType\n );\n });\n\n if (walletsToRemoveFromPersistance.length)\n persistor.setItem(\n LAST_CONNECTED_WALLETS,\n lastConnectedWallets.filter(\n (walletType) => !walletsToRemoveFromPersistance.includes(walletType)\n )\n );\n }\n }\n}\n/*\n Our event handler includes an internal state updater, and a notifier\n for the outside listener.\n On creating first wallet refrence, and on chaning `props.onUpdateState`\n we are using this function.\n*/\nexport function makeEventHandler(\n dispatcher: any,\n onUpdateState?: WalletEventHandler\n) {\n const handler: WalletEventHandler = (\n type,\n name,\n value,\n coreState,\n supportedChains\n ) => {\n const action = { type: 'new_state', wallet: type, name, value };\n // Update state\n dispatcher(action);\n\n // Giving the event to the outside listener\n if (onUpdateState) {\n onUpdateState(type, name, value, coreState, supportedChains);\n }\n };\n\n return handler;\n}\n", "export const LAST_CONNECTED_WALLETS = 'last-connected-wallets';\n", "import type { ProviderContext, ProviderProps } from './types';\nimport type { WalletType } from '@rango-dev/wallets-shared';\n\nimport React, { useEffect, useReducer, useRef } from 'react';\n\nimport { WalletContext } from './context';\nimport {\n autoConnect,\n availableWallets,\n checkWalletProviders,\n clearPersistance,\n connectedWallets,\n defaultWalletState,\n makeEventHandler,\n state_reducer,\n tryPersistWallet,\n tryRemoveWalletFromPersistance,\n} from './helpers';\nimport { useInitializers } from './hooks';\n\nfunction Provider(props: ProviderProps) {\n const [providersState, dispatch] = useReducer(state_reducer, {});\n const autoConnectInitiated = useRef(false);\n\n // Get (or add) wallet instance (`provider`s will be wraped in a `Wallet`)\n const getWalletInstance = useInitializers(\n makeEventHandler(dispatch, props.onUpdateState)\n );\n\n // Getting providers from props and put all of them in a `Map` with an appropriate interface.\n const listOfProviders = props.providers;\n const wallets = checkWalletProviders(listOfProviders);\n\n // Final API we put in context and it will be available to use for users.\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n const api: ProviderContext = {\n async connect(type, network, namespaces) {\n const wallet = wallets.get(type);\n if (!wallet) {\n throw new Error(`You should add ${type} to provider first.`);\n }\n const walletInstance = getWalletInstance(wallet);\n const result = await walletInstance.connect(network, namespaces);\n if (props.autoConnect) {\n void tryPersistWallet({\n type,\n walletActions: wallet.actions,\n getState: api.state,\n });\n }\n\n return result;\n },\n async disconnect(type) {\n const wallet = wallets.get(type);\n if (!wallet) {\n throw new Error(`You should add ${type} to provider first.`);\n }\n\n const walletInstance = getWalletInstance(wallet);\n await walletInstance.disconnect();\n if (props.autoConnect) {\n tryRemoveWalletFromPersistance({ type, walletActions: wallet.actions });\n }\n },\n async disconnectAll() {\n const disconnect_promises: Promise<any>[] = [];\n\n /*\n * When a wallet is initializing, a record will be added to `providersState`\n * So we use them to know what wallet has been initialized then we need to\n * filter connected wallets only.\n */\n connectedWallets(providersState).forEach((type) => {\n const wallet = wallets.get(type);\n\n if (wallet) {\n const walletInstance = getWalletInstance(wallet);\n disconnect_promises.push(walletInstance.disconnect());\n }\n });\n\n if (props.autoConnect) {\n clearPersistance();\n }\n return await Promise.allSettled(disconnect_promises);\n },\n\n async suggestAndConnect(type, network) {\n const wallet = wallets.get(type);\n if (!wallet) {\n throw new Error(`You should add ${type} to provider first.`);\n }\n const walletInstance = getWalletInstance(wallet);\n const result = await walletInstance.suggestAndConnect(network);\n\n return result;\n },\n\n state(type) {\n return providersState[type] || defaultWalletState;\n },\n canSwitchNetworkTo(type, network) {\n const wallet = wallets.get(type);\n if (!wallet) {\n return false;\n }\n\n const walletInstance = getWalletInstance(wallet);\n return walletInstance.canSwitchNetworkTo\n ? walletInstance.canSwitchNetworkTo(network, walletInstance.provider)\n : false;\n },\n providers() {\n const providers: { [type in WalletType]?: any } = {};\n availableWallets(providersState).forEach((type) => {\n const wallet = wallets.get(type);\n if (wallet) {\n const walletInstance = getWalletInstance(wallet);\n providers[type] = walletInstance.provider;\n }\n });\n\n return providers;\n },\n getWalletInfo(type) {\n const wallet = wallets.get(type);\n if (!wallet) {\n throw new Error(`You should add ${type} to provider first.`);\n }\n\n /*\n * Get wallet info could be used in render methods to show wallets data\n * So, addWalletRef method shouldn't be called in this method\n */\n\n return wallet.actions.getWalletInfo(props.allBlockChains || []);\n },\n getSigners(type) {\n const wallet = wallets.get(type);\n\n if (!wallet) {\n throw new Error(`You should add ${type} to provider first.`);\n }\n const walletInstance = getWalletInstance(wallet);\n const provider = walletInstance.provider;\n const result = walletInstance.getSigners(provider);\n\n return result;\n },\n };\n\n useEffect(() => {\n wallets.forEach((wallet) => {\n const walletInstance = getWalletInstance(wallet);\n const runOnInit = () => {\n if (walletInstance.onInit) {\n walletInstance.onInit();\n }\n };\n\n const initWhenPageIsReady = (event: Event) => {\n if (\n event.target &&\n (event.target as Document).readyState === 'complete'\n ) {\n runOnInit();\n\n document.removeEventListener('readystatechange', initWhenPageIsReady);\n }\n };\n\n // Try to run, maybe it's ready.\n runOnInit();\n\n /*\n * Try again when the page has been completely loaded.\n * Some of wallets, take some time to be fully injected and loaded.\n */\n document.addEventListener('readystatechange', initWhenPageIsReady);\n });\n }, []);\n\n useEffect(() => {\n const allBlockChains = props.allBlockChains;\n if (allBlockChains) {\n wallets.forEach((wallet) => {\n const walletInstance = getWalletInstance(wallet);\n const walletInfo = walletInstance.getWalletInfo(\n props.allBlockChains || []\n );\n walletInstance.setInfo({\n supportedBlockchains: walletInfo.supportedChains,\n isContractWallet: !!walletInfo.isContractWallet,\n });\n });\n }\n }, [props.allBlockChains]);\n\n useEffect(() => {\n wallets.forEach((wallet) => {\n const walletInstance = getWalletInstance(wallet);\n walletInstance.setHandler(\n makeEventHandler(dispatch, props.onUpdateState)\n );\n });\n }, [props.onUpdateState]);\n\n useEffect(() => {\n const shouldTryAutoConnect =\n props.allBlockChains &&\n props.allBlockChains.length &&\n props.autoConnect &&\n !autoConnectInitiated.current;\n\n if (shouldTryAutoConnect) {\n autoConnectInitiated.current = true;\n void (async () => {\n await autoConnect(wallets, getWalletInstance);\n })();\n }\n }, [props.autoConnect, props.allBlockChains]);\n\n return (\n <WalletContext.Provider value={api}>\n {props.children}\n </WalletContext.Provider>\n );\n}\n\nexport default Provider;\n", "import type { ProviderContext } from './types';\n\nimport { createContext } from 'react';\n\nconst defaultErrorMesssage = \"Context hasn't been initialized yet.\";\nconst defaultContext: ProviderContext = {\n async connect() {\n throw new Error(defaultErrorMesssage);\n },\n async disconnect() {\n throw new Error(defaultErrorMesssage);\n },\n async disconnectAll() {\n throw new Error(defaultErrorMesssage);\n },\n async suggestAndConnect() {\n throw new Error(defaultErrorMesssage);\n },\n state() {\n throw new Error(defaultErrorMesssage);\n },\n canSwitchNetworkTo() {\n throw new Error(defaultErrorMesssage);\n },\n providers() {\n throw new Error(defaultErrorMesssage);\n },\n getWalletInfo() {\n throw new Error(defaultErrorMesssage);\n },\n getSigners() {\n throw new Error(defaultErrorMesssage);\n },\n};\n\nexport const WalletContext = createContext<ProviderContext>(defaultContext);\n", "import { useContext, useRef } from 'react';\nimport { WalletContext } from './context';\nimport { ProviderContext, WalletActions, WalletConfig } from './types';\nimport Wallet, {\n EventHandler as WalletEventHandler,\n} from '@rango-dev/wallets-core';\n\n/**\n *\n *\n */\nexport function useInitializers(onChangeState: WalletEventHandler) {\n const availableWallets = useRef<{\n [key: string]: Wallet | undefined;\n }>({});\n\n // If `wallet` hasn't been added to `availableWallets`,\n // Get a instance of `Wallet` and save the refrence in `availableWallets`.\n // Otherwise, return the already created instance.\n function updater(wallet: {\n actions: WalletActions;\n config: WalletConfig;\n }): Wallet {\n const type = wallet.config.type;\n // We only update, if there is no instance available.\n if (typeof availableWallets.current[type] === 'undefined') {\n availableWallets.current[type] = new Wallet(\n {\n config: wallet.config,\n handler: onChangeState,\n },\n wallet.actions\n );\n }\n\n return availableWallets.current[type]!;\n }\n\n return updater;\n}\n\nexport function useWallets(): ProviderContext {\n const context = useContext(WalletContext);\n if (!context)\n throw Error('useWallet can only be used within the Provider component');\n return context;\n}\n", "export * from './helpers';\nexport { default as Provider } from './provider';\nexport { useWallets } from './hooks';\nexport * from './types';\n\nexport type { EventHandler } from '@rango-dev/wallets-core';\nexport { Events, readAccountAddress } from '@rango-dev/wallets-core';\n"],
5
- "mappings": "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",
6
- "names": ["Persistor", "LAST_CONNECTED_WALLETS", "choose", "wallets", "type", "wallet", "__name", "defaultWalletState", "state_reducer", "state", "action", "target_wallet", "connectedWallets", "providersState", "wallet_state", "availableWallets", "checkWalletProviders", "list", "provider", "config", "actions", "isAsync", "fn", "needsCheckInstallation", "options", "checkInstallation", "tryPersistWallet", "walletActions", "getState", "persistor", "Persistor", "LAST_CONNECTED_WALLETS", "walletType", "clearPersistance", "walletAlreadyPersisted", "tryRemoveWalletFromPersistance", "autoConnect", "getWalletInstance", "lastConnectedWallets", "connect_promises", "walletInstance", "result", "eagerConnect", "status", "walletsToRemoveFromPersistance", "index", "makeEventHandler", "dispatcher", "onUpdateState", "name", "value", "coreState", "supportedChains", "React", "useEffect", "useReducer", "useRef", "createContext", "defaultErrorMesssage", "defaultContext", "WalletContext", "useContext", "useRef", "Wallet", "useInitializers", "onChangeState", "availableWallets", "useRef", "updater", "wallet", "type", "Wallet", "__name", "useWallets", "context", "useContext", "WalletContext", "Provider", "props", "providersState", "dispatch", "useReducer", "state_reducer", "autoConnectInitiated", "useRef", "getWalletInstance", "useInitializers", "makeEventHandler", "listOfProviders", "wallets", "checkWalletProviders", "api", "type", "network", "namespaces", "wallet", "result", "tryPersistWallet", "tryRemoveWalletFromPersistance", "disconnect_promises", "connectedWallets", "walletInstance", "clearPersistance", "defaultWalletState", "providers", "availableWallets", "provider", "useEffect", "runOnInit", "__name", "initWhenPageIsReady", "event", "walletInfo", "autoConnect", "React", "WalletContext", "provider_default", "Events", "readAccountAddress"]
3
+ "sources": ["../src/legacy/helpers.ts", "../src/legacy/constants.ts", "../src/provider.tsx", "../src/legacy/context.ts", "../src/legacy/hooks.ts", "../src/index.ts"],
4
+ "sourcesContent": ["import type {\n ProviderInterface,\n State,\n WalletActions,\n WalletProviders,\n} from './types.js';\nimport type Wallet from '@rango-dev/wallets-core';\nimport type {\n Options,\n EventHandler as WalletEventHandler,\n State as WalletState,\n} from '@rango-dev/wallets-core';\nimport type { WalletConfig, WalletType } from '@rango-dev/wallets-shared';\n\nimport { Persistor } from '@rango-dev/wallets-core';\n\nimport { LAST_CONNECTED_WALLETS } from './constants.js';\n\nexport function choose(wallets: any[], type: WalletType): any | null {\n return wallets.find((wallet) => wallet.type === type) || null;\n}\n\nexport const defaultWalletState: WalletState = {\n connected: false,\n connecting: false,\n reachable: false,\n installed: false,\n accounts: null,\n network: null,\n};\n\nexport function state_reducer(state: State, action: any) {\n if (action.type === 'new_state') {\n // TODO fix problem and remove ts-ignore\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const target_wallet = state[action.wallet];\n if (!target_wallet) {\n return {\n ...state,\n [action.wallet]: {\n ...defaultWalletState,\n [action.name]: action.value,\n },\n };\n }\n\n return {\n ...state,\n [action.wallet]: {\n ...target_wallet,\n [action.name]: action.value,\n },\n };\n }\n\n return state;\n}\n\nexport function connectedWallets(providersState: State): WalletType[] {\n return Object.entries(providersState)\n .filter(([, wallet_state]) => {\n return wallet_state?.connected;\n })\n .map(([type]) => {\n return type;\n });\n}\n\nexport function availableWallets(providersState: State): WalletType[] {\n return Object.entries(providersState).map(([type]) => {\n return type;\n });\n}\n\nexport function checkWalletProviders(\n list: ProviderInterface[]\n): WalletProviders {\n const wallets: WalletProviders = new Map();\n\n list.forEach((provider) => {\n const { config, ...actions } = provider;\n wallets.set(config.type, {\n actions,\n config,\n });\n });\n\n return wallets;\n}\n\n/* eslint-disable @typescript-eslint/ban-types */\nexport function isAsync(fn: Function) {\n return fn?.constructor?.name === 'AsyncFunction';\n}\n\nexport function needsCheckInstallation(options: Options) {\n const { checkInstallation = true } = options.config;\n return checkInstallation;\n}\n\nexport async function tryPersistWallet({\n type,\n walletActions,\n getState,\n}: {\n type: WalletType;\n walletActions: WalletActions;\n getState: (walletType: WalletType) => WalletState;\n}) {\n if (walletActions.canEagerConnect) {\n const persistor = new Persistor<string[]>();\n const wallets = persistor.getItem(LAST_CONNECTED_WALLETS);\n\n /*\n *If on the last attempt we are unable to eagerly connect to any wallet and the user connects any wallet manualy,\n *persistance will be outdated and will need to be removed.\n */\n const shouldClearPersistance = wallets?.find(\n (walletType) => !getState(walletType).connected\n );\n\n if (shouldClearPersistance) {\n clearPersistance();\n }\n\n const walletAlreadyPersisted = !!wallets?.find((wallet) => wallet === type);\n if (wallets && !walletAlreadyPersisted) {\n persistor.setItem(LAST_CONNECTED_WALLETS, wallets.concat(type));\n } else {\n persistor.setItem(LAST_CONNECTED_WALLETS, [type]);\n }\n }\n}\n\nexport function tryRemoveWalletFromPersistance({\n type,\n walletActions,\n}: {\n type: WalletType;\n walletActions: WalletActions;\n}) {\n if (walletActions.canEagerConnect) {\n const persistor = new Persistor<string[]>();\n const wallets = persistor.getItem(LAST_CONNECTED_WALLETS);\n if (wallets) {\n persistor.setItem(\n LAST_CONNECTED_WALLETS,\n wallets.filter((wallet) => wallet !== type)\n );\n }\n }\n}\n\nexport function clearPersistance() {\n const persistor = new Persistor<string[]>();\n const wallets = persistor.getItem(LAST_CONNECTED_WALLETS);\n if (wallets) {\n persistor.removeItem(LAST_CONNECTED_WALLETS);\n }\n}\n\n/*\n *If a wallet has multiple providers and one of them can be eagerly connected,\n *then the whole wallet will support it at that point and we try to connect to that wallet as usual in eagerConnect method.\n */\nexport async function autoConnect(\n wallets: WalletProviders,\n getWalletInstance: (wallet: {\n actions: WalletActions;\n config: WalletConfig;\n }) => Wallet<any>\n) {\n const persistor = new Persistor<string[]>();\n const lastConnectedWallets = persistor.getItem(LAST_CONNECTED_WALLETS);\n if (lastConnectedWallets && lastConnectedWallets.length) {\n const connect_promises: {\n walletType: WalletType;\n eagerConnect: () => Promise<any>;\n }[] = [];\n lastConnectedWallets.forEach((walletType) => {\n const wallet = wallets.get(walletType);\n\n if (!!wallet) {\n const walletInstance = getWalletInstance(wallet);\n connect_promises.push({\n walletType,\n eagerConnect: walletInstance.eagerConnect.bind(walletInstance),\n });\n }\n });\n\n const result = await Promise.allSettled(\n connect_promises.map(async ({ eagerConnect }) => eagerConnect())\n );\n\n const canRestoreAnyConnection = !!result.find(\n ({ status }) => status === 'fulfilled'\n );\n\n /*\n *After successfully connecting to at least one wallet,\n *we will removing the other wallets from persistence.\n *If we are unable to connect to any wallet,\n *the persistence will not be removed and the eager connection will be retried with another page load.\n */\n if (canRestoreAnyConnection) {\n const walletsToRemoveFromPersistance: WalletType[] = [];\n result.forEach((settleResult, index) => {\n const { status } = settleResult;\n\n if (status === 'rejected') {\n walletsToRemoveFromPersistance.push(\n connect_promises[index].walletType\n );\n }\n });\n\n if (walletsToRemoveFromPersistance.length) {\n persistor.setItem(\n LAST_CONNECTED_WALLETS,\n lastConnectedWallets.filter(\n (walletType) => !walletsToRemoveFromPersistance.includes(walletType)\n )\n );\n }\n }\n }\n}\n/*\n *Our event handler includes an internal state updater, and a notifier\n *for the outside listener.\n *On creating first wallet refrence, and on chaning `props.onUpdateState`\n *we are using this function.\n */\nexport function makeEventHandler(\n dispatcher: any,\n onUpdateState?: WalletEventHandler\n) {\n const handler: WalletEventHandler = (\n type,\n name,\n value,\n coreState,\n supportedChains\n ) => {\n const action = { type: 'new_state', wallet: type, name, value };\n // Update state\n dispatcher(action);\n\n // Giving the event to the outside listener\n if (onUpdateState) {\n onUpdateState(type, name, value, coreState, supportedChains);\n }\n };\n\n return handler;\n}\n", "export const LAST_CONNECTED_WALLETS = 'last-connected-wallets';\n", "import type { ProviderContext, ProviderProps } from './legacy/types.js';\nimport type { WalletType } from '@rango-dev/wallets-shared';\n\nimport React, { useEffect, useReducer, useRef } from 'react';\n\nimport { WalletContext } from './legacy/context.js';\nimport {\n autoConnect,\n availableWallets,\n checkWalletProviders,\n clearPersistance,\n connectedWallets,\n defaultWalletState,\n makeEventHandler,\n state_reducer,\n tryPersistWallet,\n tryRemoveWalletFromPersistance,\n} from './legacy/helpers.js';\nimport { useInitializers } from './legacy/hooks.js';\n\nfunction Provider(props: ProviderProps) {\n const [providersState, dispatch] = useReducer(state_reducer, {});\n const autoConnectInitiated = useRef(false);\n\n // Get (or add) wallet instance (`provider`s will be wraped in a `Wallet`)\n const getWalletInstance = useInitializers(\n makeEventHandler(dispatch, props.onUpdateState)\n );\n\n // Getting providers from props and put all of them in a `Map` with an appropriate interface.\n const listOfProviders = props.providers;\n const wallets = checkWalletProviders(listOfProviders);\n\n // Final API we put in context and it will be available to use for users.\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n const api: ProviderContext = {\n async connect(type, network, namespaces) {\n const wallet = wallets.get(type);\n if (!wallet) {\n throw new Error(`You should add ${type} to provider first.`);\n }\n const walletInstance = getWalletInstance(wallet);\n const result = await walletInstance.connect(network, namespaces);\n if (props.autoConnect) {\n void tryPersistWallet({\n type,\n walletActions: wallet.actions,\n getState: api.state,\n });\n }\n\n return result;\n },\n async disconnect(type) {\n const wallet = wallets.get(type);\n if (!wallet) {\n throw new Error(`You should add ${type} to provider first.`);\n }\n\n const walletInstance = getWalletInstance(wallet);\n await walletInstance.disconnect();\n if (props.autoConnect) {\n tryRemoveWalletFromPersistance({ type, walletActions: wallet.actions });\n }\n },\n async disconnectAll() {\n const disconnect_promises: Promise<any>[] = [];\n\n /*\n * When a wallet is initializing, a record will be added to `providersState`\n * So we use them to know what wallet has been initialized then we need to\n * filter connected wallets only.\n */\n connectedWallets(providersState).forEach((type) => {\n const wallet = wallets.get(type);\n\n if (wallet) {\n const walletInstance = getWalletInstance(wallet);\n disconnect_promises.push(walletInstance.disconnect());\n }\n });\n\n if (props.autoConnect) {\n clearPersistance();\n }\n return await Promise.allSettled(disconnect_promises);\n },\n\n async suggestAndConnect(type, network) {\n const wallet = wallets.get(type);\n if (!wallet) {\n throw new Error(`You should add ${type} to provider first.`);\n }\n const walletInstance = getWalletInstance(wallet);\n const result = await walletInstance.suggestAndConnect(network);\n\n return result;\n },\n\n state(type) {\n return providersState[type] || defaultWalletState;\n },\n canSwitchNetworkTo(type, network) {\n const wallet = wallets.get(type);\n if (!wallet) {\n return false;\n }\n\n const walletInstance = getWalletInstance(wallet);\n return walletInstance.canSwitchNetworkTo\n ? walletInstance.canSwitchNetworkTo(network, walletInstance.provider)\n : false;\n },\n providers() {\n const providers: { [type in WalletType]?: any } = {};\n availableWallets(providersState).forEach((type) => {\n const wallet = wallets.get(type);\n if (wallet) {\n const walletInstance = getWalletInstance(wallet);\n providers[type] = walletInstance.provider;\n }\n });\n\n return providers;\n },\n getWalletInfo(type) {\n const wallet = wallets.get(type);\n if (!wallet) {\n throw new Error(`You should add ${type} to provider first.`);\n }\n\n /*\n * Get wallet info could be used in render methods to show wallets data\n * So, addWalletRef method shouldn't be called in this method\n */\n\n return wallet.actions.getWalletInfo(props.allBlockChains || []);\n },\n getSigners(type) {\n const wallet = wallets.get(type);\n\n if (!wallet) {\n throw new Error(`You should add ${type} to provider first.`);\n }\n const walletInstance = getWalletInstance(wallet);\n const provider = walletInstance.provider;\n const result = walletInstance.getSigners(provider);\n\n return result;\n },\n };\n\n useEffect(() => {\n wallets.forEach((wallet) => {\n const walletInstance = getWalletInstance(wallet);\n const runOnInit = () => {\n if (walletInstance.onInit) {\n walletInstance.onInit();\n }\n };\n\n const initWhenPageIsReady = (event: Event) => {\n if (\n event.target &&\n (event.target as Document).readyState === 'complete'\n ) {\n runOnInit();\n\n document.removeEventListener('readystatechange', initWhenPageIsReady);\n }\n };\n\n // Try to run, maybe it's ready.\n runOnInit();\n\n /*\n * Try again when the page has been completely loaded.\n * Some of wallets, take some time to be fully injected and loaded.\n */\n document.addEventListener('readystatechange', initWhenPageIsReady);\n });\n }, []);\n\n useEffect(() => {\n const allBlockChains = props.allBlockChains;\n if (allBlockChains) {\n wallets.forEach((wallet) => {\n const walletInstance = getWalletInstance(wallet);\n const walletInfo = walletInstance.getWalletInfo(\n props.allBlockChains || []\n );\n walletInstance.setInfo({\n supportedBlockchains: walletInfo.supportedChains,\n isContractWallet: !!walletInfo.isContractWallet,\n });\n });\n }\n }, [props.allBlockChains]);\n\n useEffect(() => {\n wallets.forEach((wallet) => {\n const walletInstance = getWalletInstance(wallet);\n walletInstance.setHandler(\n makeEventHandler(dispatch, props.onUpdateState)\n );\n });\n }, [props.onUpdateState]);\n\n useEffect(() => {\n const shouldTryAutoConnect =\n props.allBlockChains &&\n props.allBlockChains.length &&\n props.autoConnect &&\n !autoConnectInitiated.current;\n\n if (shouldTryAutoConnect) {\n autoConnectInitiated.current = true;\n void (async () => {\n await autoConnect(wallets, getWalletInstance);\n })();\n }\n }, [props.autoConnect, props.allBlockChains]);\n\n return (\n <WalletContext.Provider value={api}>\n {props.children}\n </WalletContext.Provider>\n );\n}\n\nexport default Provider;\n", "import type { ProviderContext } from './types.js';\n\nimport { createContext } from 'react';\n\nconst defaultErrorMesssage = \"Context hasn't been initialized yet.\";\nconst defaultContext: ProviderContext = {\n async connect() {\n throw new Error(defaultErrorMesssage);\n },\n async disconnect() {\n throw new Error(defaultErrorMesssage);\n },\n async disconnectAll() {\n throw new Error(defaultErrorMesssage);\n },\n async suggestAndConnect() {\n throw new Error(defaultErrorMesssage);\n },\n state() {\n throw new Error(defaultErrorMesssage);\n },\n canSwitchNetworkTo() {\n throw new Error(defaultErrorMesssage);\n },\n providers() {\n throw new Error(defaultErrorMesssage);\n },\n getWalletInfo() {\n throw new Error(defaultErrorMesssage);\n },\n getSigners() {\n throw new Error(defaultErrorMesssage);\n },\n};\n\nexport const WalletContext = createContext<ProviderContext>(defaultContext);\n", "import type { ProviderContext, WalletActions, WalletConfig } from './types.js';\nimport type { EventHandler as WalletEventHandler } from '@rango-dev/wallets-core';\n\nimport Wallet from '@rango-dev/wallets-core';\nimport { useContext, useRef } from 'react';\n\nimport { WalletContext } from './context.js';\n\n/**\n *\n *\n */\nexport function useInitializers(onChangeState: WalletEventHandler) {\n const availableWallets = useRef<{\n [key: string]: Wallet | undefined;\n }>({});\n\n /*\n * If `wallet` hasn't been added to `availableWallets`,\n * Get a instance of `Wallet` and save the refrence in `availableWallets`.\n * Otherwise, return the already created instance.\n */\n function updater(wallet: {\n actions: WalletActions;\n config: WalletConfig;\n }): Wallet {\n const type = wallet.config.type;\n // We only update, if there is no instance available.\n if (typeof availableWallets.current[type] === 'undefined') {\n availableWallets.current[type] = new Wallet(\n {\n config: wallet.config,\n handler: onChangeState,\n },\n wallet.actions\n );\n }\n\n return availableWallets.current[type]!;\n }\n\n return updater;\n}\n\nexport function useWallets(): ProviderContext {\n const context = useContext(WalletContext);\n if (!context) {\n throw Error('useWallet can only be used within the Provider component');\n }\n return context;\n}\n", "export * from './legacy/helpers.js';\nexport { default as Provider } from './provider.js';\nexport { useWallets } from './legacy/hooks.js';\nexport * from './legacy/types.js';\n\nexport type { EventHandler } from '@rango-dev/wallets-core';\nexport { Events, readAccountAddress } from '@rango-dev/wallets-core';\n"],
5
+ "mappings": "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",
6
+ "names": ["Persistor", "LAST_CONNECTED_WALLETS", "choose", "wallets", "type", "wallet", "__name", "defaultWalletState", "state_reducer", "state", "action", "target_wallet", "connectedWallets", "providersState", "wallet_state", "availableWallets", "checkWalletProviders", "list", "provider", "config", "actions", "isAsync", "fn", "needsCheckInstallation", "options", "checkInstallation", "tryPersistWallet", "walletActions", "getState", "persistor", "Persistor", "LAST_CONNECTED_WALLETS", "walletType", "clearPersistance", "walletAlreadyPersisted", "tryRemoveWalletFromPersistance", "autoConnect", "getWalletInstance", "lastConnectedWallets", "connect_promises", "walletInstance", "result", "eagerConnect", "status", "walletsToRemoveFromPersistance", "settleResult", "index", "makeEventHandler", "dispatcher", "onUpdateState", "name", "value", "coreState", "supportedChains", "React", "useEffect", "useReducer", "useRef", "createContext", "defaultErrorMesssage", "defaultContext", "WalletContext", "Wallet", "useContext", "useRef", "useInitializers", "onChangeState", "availableWallets", "useRef", "updater", "wallet", "type", "Wallet", "__name", "useWallets", "context", "useContext", "WalletContext", "Provider", "props", "providersState", "dispatch", "useReducer", "state_reducer", "autoConnectInitiated", "useRef", "getWalletInstance", "useInitializers", "makeEventHandler", "listOfProviders", "wallets", "checkWalletProviders", "api", "type", "network", "namespaces", "wallet", "result", "tryPersistWallet", "tryRemoveWalletFromPersistance", "disconnect_promises", "connectedWallets", "walletInstance", "clearPersistance", "defaultWalletState", "providers", "availableWallets", "provider", "useEffect", "runOnInit", "__name", "initWhenPageIsReady", "event", "walletInfo", "autoConnect", "React", "WalletContext", "provider_default", "Events", "readAccountAddress"]
7
7
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/legacy/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,2BAA2B,CAAC"}
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
- import type { ProviderContext } from './types';
2
+ import type { ProviderContext } from './types.js';
3
3
  export declare const WalletContext: import("react").Context<ProviderContext>;
4
4
  //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/legacy/context.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAmClD,eAAO,MAAM,aAAa,0CAAiD,CAAC"}
@@ -1,7 +1,7 @@
1
- import { WalletConfig, WalletType } from '@rango-dev/wallets-shared';
2
- import Wallet from '@rango-dev/wallets-core';
3
- import type { Options, State as WalletState, EventHandler as WalletEventHandler } from '@rango-dev/wallets-core';
4
- import { State, WalletActions, ProviderInterface, WalletProviders } from './types';
1
+ import type { ProviderInterface, State, WalletActions, WalletProviders } from './types.js';
2
+ import type Wallet from '@rango-dev/wallets-core';
3
+ import type { Options, EventHandler as WalletEventHandler, State as WalletState } from '@rango-dev/wallets-core';
4
+ import type { WalletConfig, WalletType } from '@rango-dev/wallets-shared';
5
5
  export declare function choose(wallets: any[], type: WalletType): any | null;
6
6
  export declare const defaultWalletState: WalletState;
7
7
  export declare function state_reducer(state: State, action: any): State;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/legacy/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,KAAK,EACL,aAAa,EACb,eAAe,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAC;AAClD,OAAO,KAAK,EACV,OAAO,EACP,YAAY,IAAI,kBAAkB,EAClC,KAAK,IAAI,WAAW,EACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAM1E,wBAAgB,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,GAAG,GAAG,GAAG,IAAI,CAEnE;AAED,eAAO,MAAM,kBAAkB,EAAE,WAOhC,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SA0BtD;AAED,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,KAAK,GAAG,UAAU,EAAE,CAQpE;AAED,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,KAAK,GAAG,UAAU,EAAE,CAIpE;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,iBAAiB,EAAE,GACxB,eAAe,CAYjB;AAGD,wBAAgB,OAAO,CAAC,EAAE,EAAE,QAAQ,WAEnC;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,WAGtD;AAED,wBAAsB,gBAAgB,CAAC,EACrC,IAAI,EACJ,aAAa,EACb,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,UAAU,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,WAAW,CAAC;CACnD,iBAwBA;AAED,wBAAgB,8BAA8B,CAAC,EAC7C,IAAI,EACJ,aAAa,GACd,EAAE;IACD,IAAI,EAAE,UAAU,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;CAC9B,QAWA;AAED,wBAAgB,gBAAgB,SAM/B;AAMD,wBAAsB,WAAW,CAC/B,OAAO,EAAE,eAAe,EACxB,iBAAiB,EAAE,CAAC,MAAM,EAAE;IAC1B,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;CACtB,KAAK,MAAM,CAAC,GAAG,CAAC,iBAyDlB;AAOD,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,GAAG,EACf,aAAa,CAAC,EAAE,kBAAkB,sBAoBnC"}
@@ -0,0 +1,13 @@
1
+ import type { ProviderContext, WalletActions, WalletConfig } from './types.js';
2
+ import type { EventHandler as WalletEventHandler } from '@rango-dev/wallets-core';
3
+ import Wallet from '@rango-dev/wallets-core';
4
+ /**
5
+ *
6
+ *
7
+ */
8
+ export declare function useInitializers(onChangeState: WalletEventHandler): (wallet: {
9
+ actions: WalletActions;
10
+ config: WalletConfig;
11
+ }) => Wallet;
12
+ export declare function useWallets(): ProviderContext;
13
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/legacy/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElF,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAK7C;;;GAGG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,kBAAkB,YAUtC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;CACtB,KAAG,MAAM,CAiBX;AAED,wBAAgB,UAAU,IAAI,eAAe,CAM5C"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/legacy/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ProviderProps } from './types';
1
+ import type { ProviderProps } from './legacy/types.js';
2
2
  import React from 'react';
3
3
  declare function Provider(props: ProviderProps): React.JSX.Element;
4
4
  export default Provider;
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,SAAS,CAAC;AAG9D,OAAO,KAAwC,MAAM,OAAO,CAAC;AAiB7D,iBAAS,QAAQ,CAAC,KAAK,EAAE,aAAa,qBAgNrC;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGxE,OAAO,KAAwC,MAAM,OAAO,CAAC;AAiB7D,iBAAS,QAAQ,CAAC,KAAK,EAAE,aAAa,qBAgNrC;AAED,eAAe,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"inputs":{"src/constants.ts":{"bytes":64,"imports":[],"format":"esm"},"src/helpers.ts":{"bytes":6720,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"./types","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"./constants"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/context.ts":{"bytes":902,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/hooks.ts":{"bytes":1318,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/context.ts","kind":"import-statement","original":"./context"},{"path":"./types","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/provider.tsx":{"bytes":6873,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/context.ts","kind":"import-statement","original":"./context"},{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/hooks.ts","kind":"import-statement","original":"./hooks"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/types.ts":{"bytes":4338,"imports":[],"format":"esm"},"src/index.ts":{"bytes":272,"imports":[{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/provider.tsx","kind":"import-statement","original":"./provider"},{"path":"src/hooks.ts","kind":"import-statement","original":"./hooks"},{"path":"src/types.ts","kind":"import-statement","original":"./types"},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":25833},"dist/index.js":{"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","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}],"exports":["Events","Provider","autoConnect","availableWallets","checkWalletProviders","choose","clearPersistance","connectedWallets","defaultWalletState","isAsync","makeEventHandler","needsCheckInstallation","readAccountAddress","state_reducer","tryPersistWallet","tryRemoveWalletFromPersistance","useWallets"],"entryPoint":"src/index.ts","inputs":{"src/helpers.ts":{"bytesInOutput":1922},"src/constants.ts":{"bytesInOutput":31},"src/index.ts":{"bytesInOutput":75},"src/provider.tsx":{"bytesInOutput":2179},"src/context.ts":{"bytesInOutput":427},"src/hooks.ts":{"bytesInOutput":427}},"bytes":5536}}}
1
+ {"inputs":{"src/legacy/constants.ts":{"bytes":64,"imports":[],"format":"esm"},"src/legacy/helpers.ts":{"bytes":6906,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"src/legacy/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/context.ts":{"bytes":905,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/hooks.ts":{"bytes":1388,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/legacy/context.ts","kind":"import-statement","original":"./context.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/provider.tsx":{"bytes":6913,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/legacy/context.ts","kind":"import-statement","original":"./legacy/context.js"},{"path":"src/legacy/helpers.ts","kind":"import-statement","original":"./legacy/helpers.js"},{"path":"src/legacy/hooks.ts","kind":"import-statement","original":"./legacy/hooks.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/types.ts":{"bytes":4338,"imports":[],"format":"esm"},"src/index.ts":{"bytes":305,"imports":[{"path":"src/legacy/helpers.ts","kind":"import-statement","original":"./legacy/helpers.js"},{"path":"src/provider.tsx","kind":"import-statement","original":"./provider.js"},{"path":"src/legacy/hooks.ts","kind":"import-statement","original":"./legacy/hooks.js"},{"path":"src/legacy/types.ts","kind":"import-statement","original":"./legacy/types.js"},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":26244},"dist/index.js":{"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true}],"exports":["Events","Provider","autoConnect","availableWallets","checkWalletProviders","choose","clearPersistance","connectedWallets","defaultWalletState","isAsync","makeEventHandler","needsCheckInstallation","readAccountAddress","state_reducer","tryPersistWallet","tryRemoveWalletFromPersistance","useWallets"],"entryPoint":"src/index.ts","inputs":{"src/legacy/helpers.ts":{"bytesInOutput":1934},"src/legacy/constants.ts":{"bytesInOutput":31},"src/index.ts":{"bytesInOutput":75},"src/provider.tsx":{"bytesInOutput":2179},"src/legacy/context.ts":{"bytesInOutput":427},"src/legacy/hooks.ts":{"bytesInOutput":427}},"bytes":5548}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rango-dev/wallets-react",
3
- "version": "0.21.2-next.1",
3
+ "version": "0.21.2-next.3",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "source": "./src/index.ts",
@@ -26,11 +26,11 @@
26
26
  "react-dom": "^17.0.0 || ^18.0.0"
27
27
  },
28
28
  "dependencies": {
29
- "@rango-dev/wallets-core": "^0.36.2-next.1",
30
- "@rango-dev/wallets-shared": "^0.35.2-next.0",
29
+ "@rango-dev/wallets-core": "^0.36.2-next.2",
30
+ "@rango-dev/wallets-shared": "^0.35.2-next.1",
31
31
  "rango-types": "^0.1.69"
32
32
  },
33
33
  "publishConfig": {
34
34
  "access": "public"
35
35
  }
36
- }
36
+ }
package/src/index.ts CHANGED
@@ -1,7 +1,7 @@
1
- export * from './helpers';
2
- export { default as Provider } from './provider';
3
- export { useWallets } from './hooks';
4
- export * from './types';
1
+ export * from './legacy/helpers.js';
2
+ export { default as Provider } from './provider.js';
3
+ export { useWallets } from './legacy/hooks.js';
4
+ export * from './legacy/types.js';
5
5
 
6
6
  export type { EventHandler } from '@rango-dev/wallets-core';
7
7
  export { Events, readAccountAddress } from '@rango-dev/wallets-core';
@@ -1,4 +1,4 @@
1
- import type { ProviderContext } from './types';
1
+ import type { ProviderContext } from './types.js';
2
2
 
3
3
  import { createContext } from 'react';
4
4
 
@@ -1,17 +1,20 @@
1
- import { WalletConfig, WalletType } from '@rango-dev/wallets-shared';
2
- import Wallet, { Persistor } from '@rango-dev/wallets-core';
3
1
  import type {
4
- Options,
5
- State as WalletState,
6
- EventHandler as WalletEventHandler,
7
- } from '@rango-dev/wallets-core';
8
- import {
2
+ ProviderInterface,
9
3
  State,
10
4
  WalletActions,
11
- ProviderInterface,
12
5
  WalletProviders,
13
- } from './types';
14
- import { LAST_CONNECTED_WALLETS } from './constants';
6
+ } from './types.js';
7
+ import type Wallet from '@rango-dev/wallets-core';
8
+ import type {
9
+ Options,
10
+ EventHandler as WalletEventHandler,
11
+ State as WalletState,
12
+ } from '@rango-dev/wallets-core';
13
+ import type { WalletConfig, WalletType } from '@rango-dev/wallets-shared';
14
+
15
+ import { Persistor } from '@rango-dev/wallets-core';
16
+
17
+ import { LAST_CONNECTED_WALLETS } from './constants.js';
15
18
 
16
19
  export function choose(wallets: any[], type: WalletType): any | null {
17
20
  return wallets.find((wallet) => wallet.type === type) || null;
@@ -110,19 +113,23 @@ export async function tryPersistWallet({
110
113
  const wallets = persistor.getItem(LAST_CONNECTED_WALLETS);
111
114
 
112
115
  /*
113
- If on the last attempt we are unable to eagerly connect to any wallet and the user connects any wallet manualy,
114
- persistance will be outdated and will need to be removed.
115
- */
116
+ *If on the last attempt we are unable to eagerly connect to any wallet and the user connects any wallet manualy,
117
+ *persistance will be outdated and will need to be removed.
118
+ */
116
119
  const shouldClearPersistance = wallets?.find(
117
120
  (walletType) => !getState(walletType).connected
118
121
  );
119
122
 
120
- if (shouldClearPersistance) clearPersistance();
123
+ if (shouldClearPersistance) {
124
+ clearPersistance();
125
+ }
121
126
 
122
127
  const walletAlreadyPersisted = !!wallets?.find((wallet) => wallet === type);
123
- if (wallets && !walletAlreadyPersisted)
128
+ if (wallets && !walletAlreadyPersisted) {
124
129
  persistor.setItem(LAST_CONNECTED_WALLETS, wallets.concat(type));
125
- else persistor.setItem(LAST_CONNECTED_WALLETS, [type]);
130
+ } else {
131
+ persistor.setItem(LAST_CONNECTED_WALLETS, [type]);
132
+ }
126
133
  }
127
134
  }
128
135
 
@@ -136,24 +143,27 @@ export function tryRemoveWalletFromPersistance({
136
143
  if (walletActions.canEagerConnect) {
137
144
  const persistor = new Persistor<string[]>();
138
145
  const wallets = persistor.getItem(LAST_CONNECTED_WALLETS);
139
- if (wallets)
146
+ if (wallets) {
140
147
  persistor.setItem(
141
148
  LAST_CONNECTED_WALLETS,
142
149
  wallets.filter((wallet) => wallet !== type)
143
150
  );
151
+ }
144
152
  }
145
153
  }
146
154
 
147
155
  export function clearPersistance() {
148
156
  const persistor = new Persistor<string[]>();
149
157
  const wallets = persistor.getItem(LAST_CONNECTED_WALLETS);
150
- if (wallets) persistor.removeItem(LAST_CONNECTED_WALLETS);
158
+ if (wallets) {
159
+ persistor.removeItem(LAST_CONNECTED_WALLETS);
160
+ }
151
161
  }
152
162
 
153
163
  /*
154
- If a wallet has multiple providers and one of them can be eagerly connected,
155
- then the whole wallet will support it at that point and we try to connect to that wallet as usual in eagerConnect method.
156
- */
164
+ *If a wallet has multiple providers and one of them can be eagerly connected,
165
+ *then the whole wallet will support it at that point and we try to connect to that wallet as usual in eagerConnect method.
166
+ */
157
167
  export async function autoConnect(
158
168
  wallets: WalletProviders,
159
169
  getWalletInstance: (wallet: {
@@ -181,7 +191,7 @@ export async function autoConnect(
181
191
  });
182
192
 
183
193
  const result = await Promise.allSettled(
184
- connect_promises.map(({ eagerConnect }) => eagerConnect())
194
+ connect_promises.map(async ({ eagerConnect }) => eagerConnect())
185
195
  );
186
196
 
187
197
  const canRestoreAnyConnection = !!result.find(
@@ -189,36 +199,40 @@ export async function autoConnect(
189
199
  );
190
200
 
191
201
  /*
192
- After successfully connecting to at least one wallet,
193
- we will removing the other wallets from persistence.
194
- If we are unable to connect to any wallet,
195
- the persistence will not be removed and the eager connection will be retried with another page load.
202
+ *After successfully connecting to at least one wallet,
203
+ *we will removing the other wallets from persistence.
204
+ *If we are unable to connect to any wallet,
205
+ *the persistence will not be removed and the eager connection will be retried with another page load.
196
206
  */
197
207
  if (canRestoreAnyConnection) {
198
208
  const walletsToRemoveFromPersistance: WalletType[] = [];
199
- result.forEach(({ status }, index) => {
200
- if (status === 'rejected')
209
+ result.forEach((settleResult, index) => {
210
+ const { status } = settleResult;
211
+
212
+ if (status === 'rejected') {
201
213
  walletsToRemoveFromPersistance.push(
202
214
  connect_promises[index].walletType
203
215
  );
216
+ }
204
217
  });
205
218
 
206
- if (walletsToRemoveFromPersistance.length)
219
+ if (walletsToRemoveFromPersistance.length) {
207
220
  persistor.setItem(
208
221
  LAST_CONNECTED_WALLETS,
209
222
  lastConnectedWallets.filter(
210
223
  (walletType) => !walletsToRemoveFromPersistance.includes(walletType)
211
224
  )
212
225
  );
226
+ }
213
227
  }
214
228
  }
215
229
  }
216
230
  /*
217
- Our event handler includes an internal state updater, and a notifier
218
- for the outside listener.
219
- On creating first wallet refrence, and on chaning `props.onUpdateState`
220
- we are using this function.
221
- */
231
+ *Our event handler includes an internal state updater, and a notifier
232
+ *for the outside listener.
233
+ *On creating first wallet refrence, and on chaning `props.onUpdateState`
234
+ *we are using this function.
235
+ */
222
236
  export function makeEventHandler(
223
237
  dispatcher: any,
224
238
  onUpdateState?: WalletEventHandler
@@ -1,9 +1,10 @@
1
+ import type { ProviderContext, WalletActions, WalletConfig } from './types.js';
2
+ import type { EventHandler as WalletEventHandler } from '@rango-dev/wallets-core';
3
+
4
+ import Wallet from '@rango-dev/wallets-core';
1
5
  import { useContext, useRef } from 'react';
2
- import { WalletContext } from './context';
3
- import { ProviderContext, WalletActions, WalletConfig } from './types';
4
- import Wallet, {
5
- EventHandler as WalletEventHandler,
6
- } from '@rango-dev/wallets-core';
6
+
7
+ import { WalletContext } from './context.js';
7
8
 
8
9
  /**
9
10
  *
@@ -14,9 +15,11 @@ export function useInitializers(onChangeState: WalletEventHandler) {
14
15
  [key: string]: Wallet | undefined;
15
16
  }>({});
16
17
 
17
- // If `wallet` hasn't been added to `availableWallets`,
18
- // Get a instance of `Wallet` and save the refrence in `availableWallets`.
19
- // Otherwise, return the already created instance.
18
+ /*
19
+ * If `wallet` hasn't been added to `availableWallets`,
20
+ * Get a instance of `Wallet` and save the refrence in `availableWallets`.
21
+ * Otherwise, return the already created instance.
22
+ */
20
23
  function updater(wallet: {
21
24
  actions: WalletActions;
22
25
  config: WalletConfig;
@@ -41,7 +44,8 @@ export function useInitializers(onChangeState: WalletEventHandler) {
41
44
 
42
45
  export function useWallets(): ProviderContext {
43
46
  const context = useContext(WalletContext);
44
- if (!context)
47
+ if (!context) {
45
48
  throw Error('useWallet can only be used within the Provider component');
49
+ }
46
50
  return context;
47
51
  }
package/src/provider.tsx CHANGED
@@ -1,9 +1,9 @@
1
- import type { ProviderContext, ProviderProps } from './types';
1
+ import type { ProviderContext, ProviderProps } from './legacy/types.js';
2
2
  import type { WalletType } from '@rango-dev/wallets-shared';
3
3
 
4
4
  import React, { useEffect, useReducer, useRef } from 'react';
5
5
 
6
- import { WalletContext } from './context';
6
+ import { WalletContext } from './legacy/context.js';
7
7
  import {
8
8
  autoConnect,
9
9
  availableWallets,
@@ -15,8 +15,8 @@ import {
15
15
  state_reducer,
16
16
  tryPersistWallet,
17
17
  tryRemoveWalletFromPersistance,
18
- } from './helpers';
19
- import { useInitializers } from './hooks';
18
+ } from './legacy/helpers.js';
19
+ import { useInitializers } from './legacy/hooks.js';
20
20
 
21
21
  function Provider(props: ProviderProps) {
22
22
  const [providersState, dispatch] = useReducer(state_reducer, {});
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,2BAA2B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAmC/C,eAAO,MAAM,aAAa,0CAAiD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,MAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EACV,OAAO,EACP,KAAK,IAAI,WAAW,EACpB,YAAY,IAAI,kBAAkB,EACnC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,EACL,aAAa,EACb,iBAAiB,EACjB,eAAe,EAChB,MAAM,SAAS,CAAC;AAGjB,wBAAgB,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,GAAG,GAAG,GAAG,IAAI,CAEnE;AAED,eAAO,MAAM,kBAAkB,EAAE,WAOhC,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SA0BtD;AAED,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,KAAK,GAAG,UAAU,EAAE,CAQpE;AAED,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,KAAK,GAAG,UAAU,EAAE,CAIpE;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,iBAAiB,EAAE,GACxB,eAAe,CAYjB;AAGD,wBAAgB,OAAO,CAAC,EAAE,EAAE,QAAQ,WAEnC;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,WAGtD;AAED,wBAAsB,gBAAgB,CAAC,EACrC,IAAI,EACJ,aAAa,EACb,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,UAAU,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,WAAW,CAAC;CACnD,iBAoBA;AAED,wBAAgB,8BAA8B,CAAC,EAC7C,IAAI,EACJ,aAAa,GACd,EAAE;IACD,IAAI,EAAE,UAAU,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;CAC9B,QAUA;AAED,wBAAgB,gBAAgB,SAI/B;AAMD,wBAAsB,WAAW,CAC/B,OAAO,EAAE,eAAe,EACxB,iBAAiB,EAAE,CAAC,MAAM,EAAE;IAC1B,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;CACtB,KAAK,MAAM,CAAC,GAAG,CAAC,iBAqDlB;AAOD,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,GAAG,EACf,aAAa,CAAC,EAAE,kBAAkB,sBAoBnC"}
package/dist/hooks.d.ts DELETED
@@ -1,12 +0,0 @@
1
- import { ProviderContext, WalletActions, WalletConfig } from './types';
2
- import Wallet, { EventHandler as WalletEventHandler } from '@rango-dev/wallets-core';
3
- /**
4
- *
5
- *
6
- */
7
- export declare function useInitializers(onChangeState: WalletEventHandler): (wallet: {
8
- actions: WalletActions;
9
- config: WalletConfig;
10
- }) => Wallet;
11
- export declare function useWallets(): ProviderContext;
12
- //# sourceMappingURL=hooks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,MAAM,EAAE,EACb,YAAY,IAAI,kBAAkB,EACnC,MAAM,yBAAyB,CAAC;AAEjC;;;GAGG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,kBAAkB,YAQtC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;CACtB,KAAG,MAAM,CAiBX;AAED,wBAAgB,UAAU,IAAI,eAAe,CAK5C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes