@berachain/wagmi 0.4.2-beta.2 → 0.4.2-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/{BeraWagmi-D_9r9lFE.d.cts → BeraWagmi-DPriTsqn.d.cts} +1 -1
  2. package/dist/{BeraWagmi-BYoBR8sq.d.ts → BeraWagmi-PCCV3r-u.d.ts} +1 -1
  3. package/dist/chunk-FMEKPQER.cjs +1 -0
  4. package/dist/chunk-FPJ6HXP4.mjs +1 -0
  5. package/dist/chunk-HU7OL27P.mjs +1 -0
  6. package/dist/chunk-OLYL3V2D.cjs +1 -0
  7. package/dist/context/index.cjs +1 -1
  8. package/dist/context/index.d.cts +1 -1
  9. package/dist/context/index.d.ts +1 -1
  10. package/dist/context/index.mjs +1 -1
  11. package/dist/context/lightweight/index.cjs +1 -0
  12. package/dist/context/lightweight/index.d.cts +27 -0
  13. package/dist/context/lightweight/index.d.ts +27 -0
  14. package/dist/context/lightweight/index.mjs +1 -0
  15. package/dist/hooks/index.cjs +1 -1
  16. package/dist/hooks/index.d.cts +2 -2
  17. package/dist/hooks/index.d.ts +2 -2
  18. package/dist/hooks/index.mjs +1 -1
  19. package/package.json +1 -1
  20. package/src/context/BeraWagmi.tsx +18 -147
  21. package/src/context/BeraWagmiLightWeight.tsx +37 -174
  22. package/src/context/WagmiProviderLightWeight.tsx +39 -14
  23. package/src/context/beraWagmiContext.ts +7 -0
  24. package/src/context/useThirdweb.tsx +21 -158
  25. package/src/context/useThirdwebLightWeight.tsx +26 -23
  26. package/dist/chunk-CGJ4MZ4C.mjs +0 -1
  27. package/dist/chunk-GZLYCTRI.cjs +0 -1
  28. package/dist/chunk-HSGI3QYR.cjs +0 -1
  29. package/dist/chunk-RFS3IIRD.mjs +0 -1
  30. package/dist/context/thirdweb/index.cjs +0 -1
  31. package/dist/context/thirdweb/index.d.cts +0 -47
  32. package/dist/context/thirdweb/index.d.ts +0 -47
  33. package/dist/context/thirdweb/index.mjs +0 -1
  34. /package/src/context/{thirdweb → lightweight}/index.ts +0 -0
@@ -21,37 +21,39 @@ import type { Chain } from "viem";
21
21
  import { useConnect } from "wagmi";
22
22
 
23
23
  import type { getConfig, InAppWallet } from "../config";
24
- import type { BeraWagmiApi, ConnectEvent } from "./BeraWagmiLightWeight";
24
+ import type { BeraWagmiApi, ConnectEvent } from "./BeraWagmi";
25
25
 
26
- export function useThirdwebLightWeight({
27
- config,
28
- chain,
29
- onConnect,
30
- onConnectError,
31
- publicJsonRpcUrl = chain.rpcUrls.default.http[0],
32
- }: {
26
+ export interface UseThirdwebBaseArgs {
33
27
  onConnect?: (event: ConnectEvent) => void;
34
28
  onConnectError?: (error: Error) => void;
35
29
  config: ReturnType<typeof getConfig>;
36
- theme: "light" | "dark" | "auto" | undefined;
37
- chains?: Chain[];
38
30
  publicJsonRpcUrl?: string;
39
31
  chain: Chain;
40
- }): Pick<
41
- BeraWagmiApi,
42
- | "connect"
43
- | "openConnectModal"
44
- | "disconnect"
45
- | "isConnecting"
46
- | "DebugConnectButton"
47
- | "preAuthenticate"
48
- > & {
32
+ }
33
+
34
+ export interface UseThirdwebBaseResult {
35
+ connect: BeraWagmiApi["connect"];
36
+ disconnect: BeraWagmiApi["disconnect"];
37
+ isConnecting: BeraWagmiApi["isConnecting"];
38
+ preAuthenticate: BeraWagmiApi["preAuthenticate"];
49
39
  connectionId: string;
50
40
  connectorName: string | null;
51
41
  isEmbeddedWallet: boolean;
52
42
  wallet: Account | undefined;
53
43
  profiles: Profile[] | undefined;
54
- } {
44
+ /** Exposed so the full variant can call it after opening the modal. */
45
+ syncConnectedWallet: (wallet: Wallet) => Promise<void>;
46
+ connectOptions: AutoConnectProps;
47
+ thirdwebChain: ReturnType<typeof defineChain>;
48
+ }
49
+
50
+ export function useThirdwebLightWeight({
51
+ config,
52
+ chain,
53
+ onConnect,
54
+ onConnectError,
55
+ publicJsonRpcUrl = chain.rpcUrls.default.http[0],
56
+ }: UseThirdwebBaseArgs): UseThirdwebBaseResult {
55
57
  const { connectors, connect: wagmiConnect } = useConnect();
56
58
 
57
59
  const activeWallet = useActiveWallet();
@@ -89,8 +91,6 @@ export function useThirdwebLightWeight({
89
91
  } as const satisfies AutoConnectProps;
90
92
 
91
93
  async function syncConnectedWallet(wallet: Wallet) {
92
- // console.debug("syncConnectedWallet", wallet);
93
- // now "connect" the wagmi connector
94
94
  const twConnector = connectors.find((c) => c.id === "in-app-wallet");
95
95
 
96
96
  if (twConnector) {
@@ -172,6 +172,9 @@ export function useThirdwebLightWeight({
172
172
  profiles,
173
173
  preAuthenticate(args) {
174
174
  return preAuthenticate({ ...args, client: config.client });
175
- }
175
+ },
176
+ syncConnectedWallet,
177
+ connectOptions,
178
+ thirdwebChain,
176
179
  };
177
180
  }
@@ -1 +0,0 @@
1
- import{a as S,b as R}from"./chunk-RFS3IIRD.mjs";import{usePublicClient as ye}from"wagmi";import{useContext as X}from"react";function U(){let e=X(S);if(!e)throw new Error("LightweightAccountContext not found");let{address:n,defaultChainId:r}=e;return{isConnected:!!n,address:n,defaultChainId:r}}import{useBlockNumber as et,useChains as tt,useConfig as nt,useEnsAvatar as _,useEnsName as O,useSwitchChain as ot,useTransactionReceipt as it}from"wagmi";import{createContext as le,useContext as de,useMemo as M}from"react";import ue from"swr/immutable";import{normalize as pe}from"viem/ens";import{useAccount as me,useDisconnect as fe,usePublicClient as Ce,useWalletClient as ge}from"wagmi";import{useMemo as D}from"react";import{defineChain as k}from"thirdweb";import{ConnectButton as Y,useActiveAccount as Z,useActiveWallet as $,useAutoConnect as ee,useProfiles as te,useConnect as ne,useConnectModal as oe,useDisconnect as ie,useWalletInfo as re}from"thirdweb/react";import{preAuthenticate as ae}from"thirdweb/wallets/in-app";import{useConnect as se}from"wagmi";import{jsx as ce}from"react/jsx-runtime";function z({config:e,theme:n,chains:r=[],chain:t,onConnect:c,onConnectError:g,publicJsonRpcUrl:h=t.rpcUrls.default.http[0]}){let{connectors:y,connect:l}=se(),d=$(),b=Z(),{disconnect:W}=ie(),{data:A}=re(d?.id),{connect:m}=ne(),{data:v}=te({client:e.client}),f=D(()=>k({id:t.id,blockExplorers:t.blockExplorers,blockTime:t.blockTime,ensTlds:t.ensTlds,testnet:t.testnet,contracts:t.contracts,nativeCurrency:t.nativeCurrency,name:t.name,rpcUrls:{default:{http:[h]}}}),[h,t]),u={client:e.client,chain:f,wallets:e.wallets};async function p(o){let i=y.find(a=>a.id==="in-app-wallet");if(i){let a={withCapabilities:!0,wallet:o};l({connector:i,chainId:t.id,...a})}else console.error("no tw connector found")}let{isLoading:P}=ee({...u,onConnect:p}),E=D(()=>"randomUUID"in crypto?crypto.randomUUID():Math.random().toString(36).substring(2,15),[d?.id,b?.address]),{connect:B}=oe();return{connect(o){if(!e.hasEmbeddedWallets){console.error("useBeraWagmi.connect: this function is not available if embedded wallets are disabled");return}return m(async()=>{let i=e.wallets.find(a=>a.id==="inApp");if(!i)throw console.error("useBeraWagmi.connect: no inApp wallet found"),new Error("no inApp wallet found");return i.connect({...u,...o}).then(async()=>(c?.({type:"connect",data:o}),await p(i),i)).catch(a=>{throw g?.(a),a})})},async openConnectModal(){try{let o=await B({...u,wallets:e.wallets,theme:n==="auto"?void 0:n,size:"compact",chains:[f,...r.filter(i=>i.id!==f.id).map(i=>k({id:i.id}))]});c?.({type:"connect_modal"}),await p(o)}catch(o){throw g?.(o),o}},disconnect(){d&&W(d)},isConnecting:P,connectionId:E,connectorName:A?.name??null,isEmbeddedWallet:A?.id==="inApp",wallet:b,profiles:v,preAuthenticate(o){return ae({...o,client:e.client})},DebugConnectButton(){return ce(Y,{...u,connectModal:{size:"compact"},onConnect:o=>p(o)})}}}import{jsx as L}from"react/jsx-runtime";function C(){let e=de(j);if(!e)throw new Error("BeraWagmiContext not found");return e}var j=le(void 0);function Oe({children:e,config:n,flags:{disableEip5792:r,disable5792Upgrade:t,accountOverride:c}={},theme:g,onSmartAccountRejection:h,chains:y=[],defaultChain:l,thirdweb:d,publicJsonRpcUrl:b,onConnect:W,onConnectError:A}){let{wallet:m,openConnectModal:v,connect:f,DebugConnectButton:u,connectionId:p,disconnect:P,connectorName:E,isEmbeddedWallet:B,profiles:o,preAuthenticate:i,isConnecting:a}=z({config:n,theme:g,chains:y,chain:l,publicJsonRpcUrl:b,onConnect:W,onConnectError:A}),{address:x,chainId:I}=me(),{disconnect:q}=fe(),J=Ce(),s=M(()=>{if(!(!x||!m))return c??x},[c,x,m]),{data:w}=O({config:n.wagmi,chainId:l.id,address:s}),{data:T}=ue(s?["BeraWagmiProvider_code",s,I]:null,([Q,V,We])=>J?.getCode({address:V}),{refreshInterval:6e4}),[K,F]=M(()=>T?T.startsWith("0xef01")?[!1,!0]:[!0,!1]:[!1,!1],[T]),{data:N}=ge(),G=M(()=>{try{return w?pe(w):void 0}catch{}},[w]),H=_({name:G});return L(j.Provider,{value:{preAuthenticate:i,flags:{disableEip5792:!!r,disable5792Upgrade:!!t},walletClient:N,onSmartAccountRejection:()=>{h?.()},isEmbeddedWalletsEnabled:d.embeddedWallets??!0,isConnecting:a,isConnected:!!s&&!!N,DebugConnectButton:u,account:m&&I&&s?{connectionId:p,chainId:I,connectorName:E,isEmbeddedWallet:B,profiles:o,wallet:{address:s,ensName:w?.replace(".bera",".\u{1F43B}\u26D3\uFE0F")??null,ensAvatar:H.data??null,has7702Authorization:F,isContract:K}}:void 0,connect:f,openConnectModal:async()=>{await v()},disconnect:()=>{q(),P()},defaultChainId:l.id},children:L(R,{address:s,defaultChainId:l.id,children:e})})}function he(){let{account:e,isConnected:n}=C();return{...e,isConnected:n}}import{useMemo as be}from"react";import{useCapabilities as Ae}from"wagmi";function we({chainId:e}){let{flags:n,account:r}=C(),{data:t}=Ae({account:r?.wallet?.address,scopeKey:r?.connectionId,query:{retry:3},chainId:e});return{supportsAtomic:be(()=>n.disableEip5792||!t?!1:t?.atomic?.status==="supported"||!n.disable5792Upgrade&&t?.atomic?.status==="ready",[t,n.disableEip5792,n.disable5792Upgrade,e]),capabilities:t}}function Ye(e){let{defaultChainId:n}=U(),{chainId:r,...t}=e??{};return ye({chainId:r??n,...t})}export{U as a,he as b,we as c,Ye as d,et as e,tt as f,nt as g,_ as h,O as i,ot as j,it as k,C as l,Oe as m};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var r=_react.createContext.call(void 0, void 0);function h({children:e,address:d,defaultChainId:t}){return _jsxruntime.jsx.call(void 0, r.Provider,{value:{address:d,defaultChainId:t},children:e})}exports.a = r; exports.b = h;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkGZLYCTRIcjs = require('./chunk-GZLYCTRI.cjs');var _wagmi = require('wagmi');var _react = require('react');function U(){let e=_react.useContext.call(void 0, _chunkGZLYCTRIcjs.a);if(!e)throw new Error("LightweightAccountContext not found");let{address:n,defaultChainId:r}=e;return{isConnected:!!n,address:n,defaultChainId:r}}var _immutable = require('swr/immutable'); var _immutable2 = _interopRequireDefault(_immutable);var _ens = require('viem/ens');var _thirdweb = require('thirdweb');var _react3 = require('thirdweb/react');var _inapp = require('thirdweb/wallets/in-app');var _jsxruntime = require('react/jsx-runtime');function z({config:e,theme:n,chains:r=[],chain:t,onConnect:c,onConnectError:g,publicJsonRpcUrl:h=t.rpcUrls.default.http[0]}){let{connectors:y,connect:l}=_wagmi.useConnect.call(void 0, ),d=_react3.useActiveWallet.call(void 0, ),b=_react3.useActiveAccount.call(void 0, ),{disconnect:W}=_react3.useDisconnect.call(void 0, ),{data:A}=_react3.useWalletInfo.call(void 0, _optionalChain([d, 'optionalAccess', _2 => _2.id])),{connect:m}=_react3.useConnect.call(void 0, ),{data:v}=_react3.useProfiles.call(void 0, {client:e.client}),f=_react.useMemo.call(void 0, ()=>_thirdweb.defineChain.call(void 0, {id:t.id,blockExplorers:t.blockExplorers,blockTime:t.blockTime,ensTlds:t.ensTlds,testnet:t.testnet,contracts:t.contracts,nativeCurrency:t.nativeCurrency,name:t.name,rpcUrls:{default:{http:[h]}}}),[h,t]),u={client:e.client,chain:f,wallets:e.wallets};async function p(o){let i=y.find(a=>a.id==="in-app-wallet");if(i){let a={withCapabilities:!0,wallet:o};l({connector:i,chainId:t.id,...a})}else console.error("no tw connector found")}let{isLoading:P}=_react3.useAutoConnect.call(void 0, {...u,onConnect:p}),E=_react.useMemo.call(void 0, ()=>"randomUUID"in crypto?crypto.randomUUID():Math.random().toString(36).substring(2,15),[_optionalChain([d, 'optionalAccess', _3 => _3.id]),_optionalChain([b, 'optionalAccess', _4 => _4.address])]),{connect:B}=_react3.useConnectModal.call(void 0, );return{connect(o){if(!e.hasEmbeddedWallets){console.error("useBeraWagmi.connect: this function is not available if embedded wallets are disabled");return}return m(async()=>{let i=e.wallets.find(a=>a.id==="inApp");if(!i)throw console.error("useBeraWagmi.connect: no inApp wallet found"),new Error("no inApp wallet found");return i.connect({...u,...o}).then(async()=>(_optionalChain([c, 'optionalCall', _5 => _5({type:"connect",data:o})]),await p(i),i)).catch(a=>{throw _optionalChain([g, 'optionalCall', _6 => _6(a)]),a})})},async openConnectModal(){try{let o=await B({...u,wallets:e.wallets,theme:n==="auto"?void 0:n,size:"compact",chains:[f,...r.filter(i=>i.id!==f.id).map(i=>_thirdweb.defineChain.call(void 0, {id:i.id}))]});_optionalChain([c, 'optionalCall', _7 => _7({type:"connect_modal"})]),await p(o)}catch(o){throw _optionalChain([g, 'optionalCall', _8 => _8(o)]),o}},disconnect(){d&&W(d)},isConnecting:P,connectionId:E,connectorName:_nullishCoalesce(_optionalChain([A, 'optionalAccess', _9 => _9.name]), () => (null)),isEmbeddedWallet:_optionalChain([A, 'optionalAccess', _10 => _10.id])==="inApp",wallet:b,profiles:v,preAuthenticate(o){return _inapp.preAuthenticate.call(void 0, {...o,client:e.client})},DebugConnectButton(){return _jsxruntime.jsx.call(void 0, _react3.ConnectButton,{...u,connectModal:{size:"compact"},onConnect:o=>p(o)})}}}function C(){let e=_react.useContext.call(void 0, j);if(!e)throw new Error("BeraWagmiContext not found");return e}var j=_react.createContext.call(void 0, void 0);function Oe({children:e,config:n,flags:{disableEip5792:r,disable5792Upgrade:t,accountOverride:c}={},theme:g,onSmartAccountRejection:h,chains:y=[],defaultChain:l,thirdweb:d,publicJsonRpcUrl:b,onConnect:W,onConnectError:A}){let{wallet:m,openConnectModal:v,connect:f,DebugConnectButton:u,connectionId:p,disconnect:P,connectorName:E,isEmbeddedWallet:B,profiles:o,preAuthenticate:i,isConnecting:a}=z({config:n,theme:g,chains:y,chain:l,publicJsonRpcUrl:b,onConnect:W,onConnectError:A}),{address:x,chainId:I}=_wagmi.useAccount.call(void 0, ),{disconnect:q}=_wagmi.useDisconnect.call(void 0, ),J=_wagmi.usePublicClient.call(void 0, ),s=_react.useMemo.call(void 0, ()=>{if(!(!x||!m))return _nullishCoalesce(c, () => (x))},[c,x,m]),{data:w}=_wagmi.useEnsName.call(void 0, {config:n.wagmi,chainId:l.id,address:s}),{data:T}=_immutable2.default.call(void 0, s?["BeraWagmiProvider_code",s,I]:null,([Q,V,We])=>_optionalChain([J, 'optionalAccess', _11 => _11.getCode, 'call', _12 => _12({address:V})]),{refreshInterval:6e4}),[K,F]=_react.useMemo.call(void 0, ()=>T?T.startsWith("0xef01")?[!1,!0]:[!0,!1]:[!1,!1],[T]),{data:N}=_wagmi.useWalletClient.call(void 0, ),G=_react.useMemo.call(void 0, ()=>{try{return w?_ens.normalize.call(void 0, w):void 0}catch (e2){}},[w]),H=_wagmi.useEnsAvatar.call(void 0, {name:G});return _jsxruntime.jsx.call(void 0, j.Provider,{value:{preAuthenticate:i,flags:{disableEip5792:!!r,disable5792Upgrade:!!t},walletClient:N,onSmartAccountRejection:()=>{_optionalChain([h, 'optionalCall', _13 => _13()])},isEmbeddedWalletsEnabled:_nullishCoalesce(d.embeddedWallets, () => (!0)),isConnecting:a,isConnected:!!s&&!!N,DebugConnectButton:u,account:m&&I&&s?{connectionId:p,chainId:I,connectorName:E,isEmbeddedWallet:B,profiles:o,wallet:{address:s,ensName:_nullishCoalesce(_optionalChain([w, 'optionalAccess', _14 => _14.replace, 'call', _15 => _15(".bera",".\u{1F43B}\u26D3\uFE0F")]), () => (null)),ensAvatar:_nullishCoalesce(H.data, () => (null)),has7702Authorization:F,isContract:K}}:void 0,connect:f,openConnectModal:async()=>{await v()},disconnect:()=>{q(),P()},defaultChainId:l.id},children:_jsxruntime.jsx.call(void 0, _chunkGZLYCTRIcjs.b,{address:s,defaultChainId:l.id,children:e})})}function he(){let{account:e,isConnected:n}=C();return{...e,isConnected:n}}function we({chainId:e}){let{flags:n,account:r}=C(),{data:t}=_wagmi.useCapabilities.call(void 0, {account:_optionalChain([r, 'optionalAccess', _16 => _16.wallet, 'optionalAccess', _17 => _17.address]),scopeKey:_optionalChain([r, 'optionalAccess', _18 => _18.connectionId]),query:{retry:3},chainId:e});return{supportsAtomic:_react.useMemo.call(void 0, ()=>n.disableEip5792||!t?!1:_optionalChain([t, 'optionalAccess', _19 => _19.atomic, 'optionalAccess', _20 => _20.status])==="supported"||!n.disable5792Upgrade&&_optionalChain([t, 'optionalAccess', _21 => _21.atomic, 'optionalAccess', _22 => _22.status])==="ready",[t,n.disableEip5792,n.disable5792Upgrade,e]),capabilities:t}}function Ye(e){let{defaultChainId:n}=U(),{chainId:r,...t}=_nullishCoalesce(e, () => ({}));return _wagmi.usePublicClient.call(void 0, {chainId:_nullishCoalesce(r, () => (n)),...t})}exports.a = U; exports.b = he; exports.c = we; exports.d = Ye; exports.e = _wagmi.useBlockNumber; exports.f = _wagmi.useChains; exports.g = _wagmi.useConfig; exports.h = _wagmi.useEnsAvatar; exports.i = _wagmi.useEnsName; exports.j = _wagmi.useSwitchChain; exports.k = _wagmi.useTransactionReceipt; exports.l = C; exports.m = Oe;
@@ -1 +0,0 @@
1
- import{createContext as i}from"react";import{jsx as n}from"react/jsx-runtime";var r=i(void 0);function h({children:e,address:d,defaultChainId:t}){return n(r.Provider,{value:{address:d,defaultChainId:t},children:e})}export{r as a,h as b};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";var _chunkPVMPBWIGcjs = require('../../chunk-PVMPBWIG.cjs');var _chunkGZLYCTRIcjs = require('../../chunk-GZLYCTRI.cjs');var _react = require('react');var _reactquery = require('@tanstack/react-query');var _react3 = require('thirdweb/react');var _wagmi = require('wagmi');var _immutable = require('swr/immutable'); var _immutable2 = _interopRequireDefault(_immutable);var _ens = require('viem/ens');var _thirdweb = require('thirdweb');var _inapp = require('thirdweb/wallets/in-app');function U({config:n,chain:e,onConnect:i,onConnectError:a,publicJsonRpcUrl:s=e.rpcUrls.default.http[0]}){let{connectors:l,connect:b}=_wagmi.useConnect.call(void 0, ),u=_react3.useActiveWallet.call(void 0, ),c=_react3.useActiveAccount.call(void 0, ),{disconnect:A}=_react3.useDisconnect.call(void 0, ),{data:m}=_react3.useWalletInfo.call(void 0, _optionalChain([u, 'optionalAccess', _2 => _2.id])),{connect:v}=_react3.useConnect.call(void 0, ),{data:w}=_react3.useProfiles.call(void 0, {client:n.client}),p=_react.useMemo.call(void 0, ()=>_thirdweb.defineChain.call(void 0, {id:e.id,blockExplorers:e.blockExplorers,blockTime:e.blockTime,ensTlds:e.ensTlds,testnet:e.testnet,contracts:e.contracts,nativeCurrency:e.nativeCurrency,name:e.name,rpcUrls:{default:{http:[s]}}}),[s,e]),f={client:n.client,chain:p,wallets:n.wallets};async function g(r){let o=l.find(t=>t.id==="in-app-wallet");if(o){let t={withCapabilities:!0,wallet:r};b({connector:o,chainId:e.id,...t})}else console.error("no tw connector found")}let{isLoading:W}=_react3.useAutoConnect.call(void 0, {...f,onConnect:g}),y=_react.useMemo.call(void 0, ()=>"randomUUID"in crypto?crypto.randomUUID():Math.random().toString(36).substring(2,15),[_optionalChain([u, 'optionalAccess', _3 => _3.id]),_optionalChain([c, 'optionalAccess', _4 => _4.address])]);return{connect(r){if(!n.hasEmbeddedWallets){console.error("useBeraWagmi.connect: this function is not available if embedded wallets are disabled");return}return v(async()=>{let o=n.wallets.find(t=>t.id==="inApp");if(!o)throw console.error("useBeraWagmi.connect: no inApp wallet found"),new Error("no inApp wallet found");return o.connect({...f,...r}).then(async()=>(_optionalChain([i, 'optionalCall', _5 => _5({type:"connect",data:r})]),await g(o),o)).catch(t=>{throw _optionalChain([a, 'optionalCall', _6 => _6(t)]),t})})},disconnect(){u&&A(u)},isConnecting:W,connectionId:y,connectorName:_nullishCoalesce(_optionalChain([m, 'optionalAccess', _7 => _7.name]), () => (null)),isEmbeddedWallet:_optionalChain([m, 'optionalAccess', _8 => _8.id])==="inApp",wallet:c,profiles:w,preAuthenticate(r){return _inapp.preAuthenticate.call(void 0, {...r,client:n.client})}}}var _jsxruntime = require('react/jsx-runtime');var de=_react.createContext.call(void 0, void 0);function N({children:n,config:e,flags:{disableEip5792:i,disable5792Upgrade:a,accountOverride:s}={},theme:l,onSmartAccountRejection:b,chains:u=[],defaultChain:c,thirdweb:A,publicJsonRpcUrl:m,onConnect:v,onConnectError:w}){let{wallet:p,connect:f,connectionId:g,disconnect:W,connectorName:y,isEmbeddedWallet:r,profiles:o,preAuthenticate:t,isConnecting:D}=U({config:e,theme:l,chains:u,chain:c,publicJsonRpcUrl:m,onConnect:v,onConnectError:w}),{address:P,chainId:E}=_wagmi.useAccount.call(void 0, ),{disconnect:k}=_wagmi.useDisconnect.call(void 0, ),L=_wagmi.usePublicClient.call(void 0, ),d=_react.useMemo.call(void 0, ()=>{if(!(!P||!p))return _nullishCoalesce(s, () => (P))},[s,P,p]),{data:h}=_wagmi.useEnsName.call(void 0, {config:e.wagmi,chainId:c.id,address:d}),{data:T}=_immutable2.default.call(void 0, d?["BeraWagmiProvider_code",d,E]:null,([j,q,he])=>_optionalChain([L, 'optionalAccess', _9 => _9.getCode, 'call', _10 => _10({address:q})]),{refreshInterval:6e4}),[z,O]=_react.useMemo.call(void 0, ()=>T?T.startsWith("0xef01")?[!1,!0]:[!0,!1]:[!1,!1],[T]),{data:I}=_wagmi.useWalletClient.call(void 0, ),_=_react.useMemo.call(void 0, ()=>{try{return h?_ens.normalize.call(void 0, h):void 0}catch (e2){}},[h]),Q=_wagmi.useEnsAvatar.call(void 0, {name:_});return _jsxruntime.jsx.call(void 0, de.Provider,{value:{preAuthenticate:t,flags:{disableEip5792:!!i,disable5792Upgrade:!!a},walletClient:I,onSmartAccountRejection:()=>{_optionalChain([b, 'optionalCall', _11 => _11()])},isEmbeddedWalletsEnabled:_nullishCoalesce(A.embeddedWallets, () => (!0)),isConnecting:D,isConnected:!!d&&!!I,DebugConnectButton(){return null},account:p&&E&&d?{connectionId:g,chainId:E,connectorName:y,isEmbeddedWallet:r,profiles:o,wallet:{address:d,ensName:_nullishCoalesce(_optionalChain([h, 'optionalAccess', _12 => _12.replace, 'call', _13 => _13(".bera",".\u{1F43B}\u26D3\uFE0F")]), () => (null)),ensAvatar:_nullishCoalesce(Q.data, () => (null)),has7702Authorization:O,isContract:z}}:void 0,connect:f,openConnectModal(){throw new Error("openConnectModal is not available in lightweight mode. Use @berachain/wagmi/context/full instead.")},disconnect:()=>{k(),W()},defaultChainId:c.id},children:_jsxruntime.jsx.call(void 0, _chunkGZLYCTRIcjs.b,{address:d,defaultChainId:c.id,children:n})})}var ge=new _reactquery.QueryClient;function ze({transports:n,defaultChain:e,chains:i,thirdweb:a,...s}){let l=_react.useMemo.call(void 0, ()=>_chunkPVMPBWIGcjs.a.call(void 0, {thirdweb:a,transports:n,defaultChain:e,chains:i}),[e,a,n,i]);return _jsxruntime.jsx.call(void 0, _react3.ThirdwebProvider,{children:_jsxruntime.jsx.call(void 0, _wagmi.WagmiProvider,{config:l.wagmi,reconnectOnMount:!1,children:_jsxruntime.jsx.call(void 0, _reactquery.QueryClientProvider,{client:ge,children:_jsxruntime.jsx.call(void 0, N,{...s,thirdweb:a,chains:i,defaultChain:e,config:l})})})})}exports.WagmiProvider = ze;
@@ -1,47 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { Address, Chain, Transport } from 'viem';
3
- import { PropsWithChildren } from 'react';
4
- import { SingleStepAuthArgsType, MultiStepAuthArgsType } from 'thirdweb/wallets';
5
- import { getConfig, ThirdwebConfig } from '../../config/index.cjs';
6
- import 'thirdweb';
7
- import 'wagmi';
8
-
9
- type ConnectEvent = {
10
- type: "connect";
11
- data: SingleStepAuthArgsType | MultiStepAuthArgsType;
12
- } | {
13
- type: "connect_modal";
14
- };
15
- interface IBeraWagmiProviderProps extends PropsWithChildren {
16
- config: ReturnType<typeof getConfig>;
17
- theme?: "dark" | "light" | "auto";
18
- flags?: {
19
- disableEip5792?: boolean;
20
- /**
21
- * Whether to disable the 5792 upgrade for users that haven't upgraded yet.
22
- *
23
- * `atomic.status === "ready"`
24
- */
25
- disable5792Upgrade?: boolean;
26
- /**
27
- * A value that mocks the connected wallet address, while transactions are still sent from the connected wallet.
28
- * It can be used for advanced use cases like sending permissionless transactions (like incentive claims).
29
- */
30
- accountOverride?: Address;
31
- };
32
- onSmartAccountRejection?: () => void;
33
- onConnect?: (event: ConnectEvent) => void;
34
- onConnectError?: (error: Error) => void;
35
- chains?: Chain[];
36
- defaultChain: Chain;
37
- thirdweb: ThirdwebConfig;
38
- publicJsonRpcUrl?: string;
39
- }
40
-
41
- type WagmiProviderProps = Omit<IBeraWagmiProviderProps, "config" | "defaultChain"> & {
42
- transports?: Record<number, Transport>;
43
- defaultChain: Chain;
44
- };
45
- declare function WagmiProvider({ transports, defaultChain, chains, thirdweb, ...beraWagmiProps }: WagmiProviderProps): react_jsx_runtime.JSX.Element;
46
-
47
- export { WagmiProvider };
@@ -1,47 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { Address, Chain, Transport } from 'viem';
3
- import { PropsWithChildren } from 'react';
4
- import { SingleStepAuthArgsType, MultiStepAuthArgsType } from 'thirdweb/wallets';
5
- import { getConfig, ThirdwebConfig } from '../../config/index.js';
6
- import 'thirdweb';
7
- import 'wagmi';
8
-
9
- type ConnectEvent = {
10
- type: "connect";
11
- data: SingleStepAuthArgsType | MultiStepAuthArgsType;
12
- } | {
13
- type: "connect_modal";
14
- };
15
- interface IBeraWagmiProviderProps extends PropsWithChildren {
16
- config: ReturnType<typeof getConfig>;
17
- theme?: "dark" | "light" | "auto";
18
- flags?: {
19
- disableEip5792?: boolean;
20
- /**
21
- * Whether to disable the 5792 upgrade for users that haven't upgraded yet.
22
- *
23
- * `atomic.status === "ready"`
24
- */
25
- disable5792Upgrade?: boolean;
26
- /**
27
- * A value that mocks the connected wallet address, while transactions are still sent from the connected wallet.
28
- * It can be used for advanced use cases like sending permissionless transactions (like incentive claims).
29
- */
30
- accountOverride?: Address;
31
- };
32
- onSmartAccountRejection?: () => void;
33
- onConnect?: (event: ConnectEvent) => void;
34
- onConnectError?: (error: Error) => void;
35
- chains?: Chain[];
36
- defaultChain: Chain;
37
- thirdweb: ThirdwebConfig;
38
- publicJsonRpcUrl?: string;
39
- }
40
-
41
- type WagmiProviderProps = Omit<IBeraWagmiProviderProps, "config" | "defaultChain"> & {
42
- transports?: Record<number, Transport>;
43
- defaultChain: Chain;
44
- };
45
- declare function WagmiProvider({ transports, defaultChain, chains, thirdweb, ...beraWagmiProps }: WagmiProviderProps): react_jsx_runtime.JSX.Element;
46
-
47
- export { WagmiProvider };
@@ -1 +0,0 @@
1
- "use client";import{a as x}from"../../chunk-MZZ62TKM.mjs";import{b as S}from"../../chunk-RFS3IIRD.mjs";import{useMemo as le}from"react";import{QueryClient as ue,QueryClientProvider as pe}from"@tanstack/react-query";import{ThirdwebProvider as me}from"thirdweb/react";import{WagmiProvider as fe}from"wagmi";import{createContext as ee,useContext as Pe,useMemo as B}from"react";import ne from"swr/immutable";import{normalize as te}from"viem/ens";import{useAccount as oe,useDisconnect as re,useEnsAvatar as ie,useEnsName as ae,usePublicClient as se,useWalletClient as ce}from"wagmi";import{useMemo as M}from"react";import{defineChain as J}from"thirdweb";import{useActiveAccount as F,useActiveWallet as G,useAutoConnect as H,useProfiles as K,useConnect as V,useDisconnect as X,useWalletInfo as Y}from"thirdweb/react";import{preAuthenticate as Z}from"thirdweb/wallets/in-app";import{useConnect as $}from"wagmi";function U({config:n,chain:e,onConnect:i,onConnectError:a,publicJsonRpcUrl:s=e.rpcUrls.default.http[0]}){let{connectors:l,connect:b}=$(),u=G(),c=F(),{disconnect:A}=X(),{data:m}=Y(u?.id),{connect:v}=V(),{data:w}=K({client:n.client}),p=M(()=>J({id:e.id,blockExplorers:e.blockExplorers,blockTime:e.blockTime,ensTlds:e.ensTlds,testnet:e.testnet,contracts:e.contracts,nativeCurrency:e.nativeCurrency,name:e.name,rpcUrls:{default:{http:[s]}}}),[s,e]),f={client:n.client,chain:p,wallets:n.wallets};async function g(r){let o=l.find(t=>t.id==="in-app-wallet");if(o){let t={withCapabilities:!0,wallet:r};b({connector:o,chainId:e.id,...t})}else console.error("no tw connector found")}let{isLoading:W}=H({...f,onConnect:g}),y=M(()=>"randomUUID"in crypto?crypto.randomUUID():Math.random().toString(36).substring(2,15),[u?.id,c?.address]);return{connect(r){if(!n.hasEmbeddedWallets){console.error("useBeraWagmi.connect: this function is not available if embedded wallets are disabled");return}return v(async()=>{let o=n.wallets.find(t=>t.id==="inApp");if(!o)throw console.error("useBeraWagmi.connect: no inApp wallet found"),new Error("no inApp wallet found");return o.connect({...f,...r}).then(async()=>(i?.({type:"connect",data:r}),await g(o),o)).catch(t=>{throw a?.(t),t})})},disconnect(){u&&A(u)},isConnecting:W,connectionId:y,connectorName:m?.name??null,isEmbeddedWallet:m?.id==="inApp",wallet:c,profiles:w,preAuthenticate(r){return Z({...r,client:n.client})}}}import{jsx as R}from"react/jsx-runtime";var de=ee(void 0);function N({children:n,config:e,flags:{disableEip5792:i,disable5792Upgrade:a,accountOverride:s}={},theme:l,onSmartAccountRejection:b,chains:u=[],defaultChain:c,thirdweb:A,publicJsonRpcUrl:m,onConnect:v,onConnectError:w}){let{wallet:p,connect:f,connectionId:g,disconnect:W,connectorName:y,isEmbeddedWallet:r,profiles:o,preAuthenticate:t,isConnecting:D}=U({config:e,theme:l,chains:u,chain:c,publicJsonRpcUrl:m,onConnect:v,onConnectError:w}),{address:P,chainId:E}=oe(),{disconnect:k}=re(),L=se(),d=B(()=>{if(!(!P||!p))return s??P},[s,P,p]),{data:h}=ae({config:e.wagmi,chainId:c.id,address:d}),{data:T}=ne(d?["BeraWagmiProvider_code",d,E]:null,([j,q,he])=>L?.getCode({address:q}),{refreshInterval:6e4}),[z,O]=B(()=>T?T.startsWith("0xef01")?[!1,!0]:[!0,!1]:[!1,!1],[T]),{data:I}=ce(),_=B(()=>{try{return h?te(h):void 0}catch{}},[h]),Q=ie({name:_});return R(de.Provider,{value:{preAuthenticate:t,flags:{disableEip5792:!!i,disable5792Upgrade:!!a},walletClient:I,onSmartAccountRejection:()=>{b?.()},isEmbeddedWalletsEnabled:A.embeddedWallets??!0,isConnecting:D,isConnected:!!d&&!!I,DebugConnectButton(){return null},account:p&&E&&d?{connectionId:g,chainId:E,connectorName:y,isEmbeddedWallet:r,profiles:o,wallet:{address:d,ensName:h?.replace(".bera",".\u{1F43B}\u26D3\uFE0F")??null,ensAvatar:Q.data??null,has7702Authorization:O,isContract:z}}:void 0,connect:f,openConnectModal(){throw new Error("openConnectModal is not available in lightweight mode. Use @berachain/wagmi/context/full instead.")},disconnect:()=>{k(),W()},defaultChainId:c.id},children:R(S,{address:d,defaultChainId:c.id,children:n})})}import{jsx as C}from"react/jsx-runtime";var ge=new ue;function ze({transports:n,defaultChain:e,chains:i,thirdweb:a,...s}){let l=le(()=>x({thirdweb:a,transports:n,defaultChain:e,chains:i}),[e,a,n,i]);return C(me,{children:C(fe,{config:l.wagmi,reconnectOnMount:!1,children:C(pe,{client:ge,children:C(N,{...s,thirdweb:a,chains:i,defaultChain:e,config:l})})})})}export{ze as WagmiProvider};
File without changes