@berachain/wagmi 0.2.0-beta.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/{BeraWagmi-4czj_EN4.d.ts → BeraWagmi-8ToIEnAn.d.ts} +18 -19
  2. package/dist/{BeraWagmi-Cgyr2tEA.d.cts → BeraWagmi-DqUsx-wd.d.cts} +18 -19
  3. package/dist/chunk-3MA6ZB64.cjs +1 -0
  4. package/dist/chunk-3VNWHDTQ.cjs +1 -0
  5. package/dist/chunk-HH2ZYQRJ.mjs +1 -0
  6. package/dist/chunk-YYGDSOWD.mjs +1 -0
  7. package/dist/config/index.cjs +1 -1
  8. package/dist/config/index.d.cts +13 -18
  9. package/dist/config/index.d.ts +13 -18
  10. package/dist/config/index.mjs +1 -1
  11. package/dist/context/index.cjs +1 -1
  12. package/dist/context/index.d.cts +8 -6
  13. package/dist/context/index.d.ts +8 -6
  14. package/dist/context/index.mjs +1 -1
  15. package/dist/core/thirdweb/index.cjs +1 -0
  16. package/dist/core/thirdweb/index.d.cts +74 -0
  17. package/dist/core/thirdweb/index.d.ts +74 -0
  18. package/dist/core/thirdweb/index.mjs +1 -0
  19. package/dist/hooks/index.cjs +1 -1
  20. package/dist/hooks/index.d.cts +23 -4
  21. package/dist/hooks/index.d.ts +23 -4
  22. package/dist/hooks/index.mjs +1 -1
  23. package/package.json +12 -8
  24. package/src/config/defaultWagmiConfig.ts +23 -142
  25. package/src/context/BeraWagmi.tsx +39 -104
  26. package/src/context/LightweightAccountProvider.tsx +9 -2
  27. package/src/context/WagmiProvider.tsx +30 -17
  28. package/src/context/useThirdweb.tsx +29 -23
  29. package/src/core/thirdweb/index.ts +61 -0
  30. package/src/hooks/index.ts +3 -1
  31. package/src/hooks/useBeraWallet.ts +2 -1
  32. package/src/hooks/useCapabilities.ts +34 -0
  33. package/dist/chunk-24VBIB22.cjs +0 -1
  34. package/dist/chunk-CPC3I7WV.cjs +0 -1
  35. package/dist/chunk-YGBWE4UM.mjs +0 -1
  36. package/dist/chunk-ZKXXJYGS.mjs +0 -1
@@ -0,0 +1,61 @@
1
+ import { toHex } from "viem";
2
+
3
+ export { getAllActiveSigners } from "thirdweb/extensions/erc4337";
4
+ export {
5
+ type Condition,
6
+ type CreateSessionKeyOptions,
7
+ createSessionKey,
8
+ type GetCallPoliciesForSignerParams,
9
+ type LimitType,
10
+ } from "thirdweb/wallets/in-app";
11
+
12
+ export function randomBytesHex(length = 32) {
13
+ return toHex(randomBytesBuffer(length));
14
+ }
15
+
16
+ /**
17
+ * @internal
18
+ */
19
+ function randomBytesBuffer(length = 32) {
20
+ return globalThis.crypto.getRandomValues(new Uint8Array(length));
21
+ }
22
+
23
+ /* ────────────────────────────────
24
+ EIP-712 structs
25
+ ──────────────────────────────── */
26
+
27
+ export const UsageLimitRequest = [
28
+ { name: "limitType", type: "uint8" },
29
+ { name: "limit", type: "uint256" },
30
+ { name: "period", type: "uint256" },
31
+ ] as const;
32
+
33
+ export const ConstraintRequest = [
34
+ { name: "condition", type: "uint8" },
35
+ { name: "index", type: "uint64" },
36
+ { name: "refValue", type: "bytes32" },
37
+ { name: "limit", type: "UsageLimit" },
38
+ ] as const;
39
+
40
+ export const CallSpecRequest = [
41
+ { name: "target", type: "address" },
42
+ { name: "selector", type: "bytes4" },
43
+ { name: "maxValuePerUse", type: "uint256" },
44
+ { name: "valueLimit", type: "UsageLimit" },
45
+ { name: "constraints", type: "Constraint[]" },
46
+ ] as const;
47
+
48
+ export const TransferSpecRequest = [
49
+ { name: "target", type: "address" },
50
+ { name: "maxValuePerUse", type: "uint256" },
51
+ { name: "valueLimit", type: "UsageLimit" },
52
+ ] as const;
53
+
54
+ export const SessionSpecRequest = [
55
+ { name: "signer", type: "address" },
56
+ { name: "isWildcard", type: "bool" },
57
+ { name: "expiresAt", type: "uint256" },
58
+ { name: "callPolicies", type: "CallSpec[]" },
59
+ { name: "transferPolicies", type: "TransferSpec[]" },
60
+ { name: "uid", type: "bytes32" },
61
+ ] as const;
@@ -4,7 +4,7 @@ import {
4
4
  usePublicClient as useClient,
5
5
  } from "wagmi";
6
6
 
7
- import { defaultChainId } from "@berachain/config/internal";
7
+ import { useBeraWallet } from "./useBeraWallet";
8
8
 
9
9
  export {
10
10
  useBlockNumber,
@@ -19,10 +19,12 @@ export {
19
19
  export { useBeraWagmi } from "../context/BeraWagmi";
20
20
  export { useBeraAccount } from "./useBeraAccounts";
21
21
  export { useBeraWallet } from "./useBeraWallet";
22
+ export { useCapabilities } from "./useCapabilities";
22
23
 
23
24
  export function usePublicClient(
24
25
  args?: UsePublicClientParameters,
25
26
  ): UsePublicClientReturnType {
27
+ const { defaultChainId } = useBeraWallet();
26
28
  const { chainId, ...rest } = args ?? {};
27
29
  return useClient({ chainId: chainId ?? defaultChainId, ...rest });
28
30
  }
@@ -9,10 +9,11 @@ export function useBeraWallet() {
9
9
  throw new Error("LightweightAccountContext not found");
10
10
  }
11
11
 
12
- const { address } = context;
12
+ const { address, defaultChainId } = context;
13
13
 
14
14
  return {
15
15
  isConnected: !!address,
16
16
  address,
17
+ defaultChainId,
17
18
  } as const;
18
19
  }
@@ -0,0 +1,34 @@
1
+ import { useMemo } from "react";
2
+ import { useCapabilities as useWagmiCapabilities } from "wagmi";
3
+
4
+ import { useBeraWagmi } from ".";
5
+
6
+ export function useCapabilities({ chainId }: { chainId: number }) {
7
+ const { flags, account } = useBeraWagmi();
8
+ const { data: capabilities } = useWagmiCapabilities({
9
+ account: account?.wallet?.address,
10
+ // This is needed to avoid cache issues with the capabilities when switching wallets
11
+ scopeKey: account?.connectionId,
12
+ query: {
13
+ retry: 3,
14
+ },
15
+ // wagmi accepts no chain id, however thirdweb would only return information on ETH mainnet otherwise,
16
+ // generally they claim providers return this information way faster if chain id is provided
17
+ // in order to avoid loading information for every chain.
18
+ chainId: chainId,
19
+ });
20
+ const supportsAtomic = useMemo(() => {
21
+ if (flags.disableEip5792) return false;
22
+ if (!capabilities) return false;
23
+
24
+ return (
25
+ capabilities?.atomic?.status === "supported" ||
26
+ (!flags.disable5792Upgrade && capabilities?.atomic?.status === "ready")
27
+ );
28
+ }, [capabilities, flags.disableEip5792, flags.disable5792Upgrade, chainId]);
29
+
30
+ return {
31
+ supportsAtomic,
32
+ capabilities,
33
+ };
34
+ }
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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 _wagmiadapter = require('@thirdweb-dev/wagmi-adapter');var _thirdweb = require('thirdweb');var _wallets = require('thirdweb/wallets');var _chains = require('viem/chains');var _wagmi = require('wagmi');var _internal = require('@berachain/config/internal');var y=_internal.chainId===_chains.berachain.id?_chains.berachain:_chains.berachainBepolia,h= exports.b ={chain:y},J=!!_optionalChain([y, 'access', _ => _.contracts, 'optionalAccess', _2 => _2.multicall3]),W= exports.c =[_chains.mainnet,_chains.polygon,_chains.optimism,_chains.base,_chains.bsc,_chains.arbitrum,_chains.avalanche],L= exports.d =[...W,_chains.berachain,_chains.berachainBepolia].reduce((t,i)=>(t[i.id]=i.name,t),{}),S={[_chains.mainnet.id]:["https://1.rpc.thirdweb.com/","https://ultra-sleek-pond.quiknode.pro/08ab7832de196248b7ba7dcffad268c9b3747f48/"],[_chains.polygon.id]:["https://137.rpc.thirdweb.com/","https://sleek-thrilling-orb.matic.quiknode.pro/592d9950044bf173c232f5ecf79a2725c43f517b/"],[_chains.optimism.id]:["https://10.rpc.thirdweb.com/","https://blue-neat-liquid.optimism.quiknode.pro/26ca3fe255f687652124050450faada988023979/"],[_chains.base.id]:["https://8453.rpc.thirdweb.com/","https://soft-empty-sailboat.base-mainnet.quiknode.pro/bb9300074b062c5e0a1e93e0a8ebd53501c32fe7/"],[_chains.bsc.id]:["https://56.rpc.thirdweb.com/","https://chaotic-floral-brook.bsc.quiknode.pro/6f0e5a9791285c6b59f2a6a907a62ec9d581d7bd/"],[_chains.avalanche.id]:["https://43114.rpc.thirdweb.com/","https://shy-special-mansion.avalanche-mainnet.quiknode.pro/efa880845032c2ef4049637d779d2ae58acf0f65/ext/bc/C/rpc/"],[_chains.arbitrum.id]:["https://42161.rpc.thirdweb.com/","https://fluent-broken-violet.arbitrum-mainnet.quiknode.pro/445b20e9ed10e22fffee6498a40c4f83f83f4ec7/"]};function Q({sponsorGas:t,enableEmbeddedWallets:i}){let s=_thirdweb.createThirdwebClient.call(void 0, {clientId:_internal.appConfig.apiKeys.public.thirdweb}),n={mode:"EIP7702",sponsorGas:t},R=_wallets.inAppWallet.call(void 0, {executionMode:n}),p=[..._wallets.getInstalledWallets.call(void 0, ),_wallets.createWallet.call(void 0, "io.rabby"),_wallets.createWallet.call(void 0, "io.metamask"),_wallets.createWallet.call(void 0, "com.coinbase.wallet"),_wallets.createWallet.call(void 0, "walletConnect")].filter((e,o,r)=>r.findIndex(c=>c.id===e.id)===o);return{wallets:i?[R,...p]:p,executionMode:n,client:s,wagmi:_wagmi.createConfig.call(void 0, {chains:[h.chain,...W],ssr:!0,connectors:[_wagmiadapter.inAppWalletConnector.call(void 0, {client:s,executionMode:n})],storage:_wagmi.createStorage.call(void 0, {key:"wagmi-berachain-thirdweb",storage:typeof window<"u"?localStorage:void 0}),batch:{multicall:J?{wait:15}:void 0},transports:{[h.chain.id]:_wagmi.fallback.call(void 0, [_internal.privateRcpUrl,_internal.jsonRpcUrl,_internal.alchemyJsonRpcUrl,_internal.publicJsonRpcUrl].filter(e=>e).map(e=>_wagmi.http.call(void 0, e,{batch:{wait:35}}))),...Object.entries(S).reduce((e,[o,r])=>(e[Number(o)]=_wagmi.fallback.call(void 0, [...r,void 0].map(c=>_wagmi.http.call(void 0, c,{batch:{wait:15}}))),e),{})}})}}exports.a = y; exports.b = h; exports.c = W; exports.d = L; exports.e = Q;
@@ -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 _chunk24VBIB22cjs = require('./chunk-24VBIB22.cjs');var _wagmi = require('wagmi');var _internal = require('@berachain/config/internal');var _react = require('react');var _immutable = require('swr/immutable'); var _immutable2 = _interopRequireDefault(_immutable);var _chains = require('viem/chains');var _ens = require('viem/ens');var _edgeconfig = require('@berachain/config/internal/edge-config');var _jsxruntime = require('react/jsx-runtime');var B=_react.createContext.call(void 0, void 0);function T({children:e,address:t}){return _jsxruntime.jsx.call(void 0, B.Provider,{value:{address:t},children:e})}var _thirdweb = require('thirdweb');var _react3 = require('thirdweb/react');var R=_thirdweb.defineChain.call(void 0, {id:_chunk24VBIB22cjs.a.id,blockExplorers:_chunk24VBIB22cjs.a.blockExplorers,blockTime:_chunk24VBIB22cjs.a.blockTime,ensTlds:_chunk24VBIB22cjs.a.ensTlds,testnet:_chunk24VBIB22cjs.a.testnet,contracts:_chunk24VBIB22cjs.a.contracts,nativeCurrency:_chunk24VBIB22cjs.a.nativeCurrency,name:_chunk24VBIB22cjs.a.name,rpcUrls:{default:{http:[_internal.publicJsonRpcUrl]}}});function U({config:e,theme:t,extenalChains:o}){let{connectors:c,connect:f}=_wagmi.useConnect.call(void 0, ),s=_react3.useActiveWallet.call(void 0, ),u=_react3.useActiveAccount.call(void 0, ),{disconnect:w}=_react3.useDisconnect.call(void 0, ),{data:m}=_react3.useWalletInfo.call(void 0, _optionalChain([s, 'optionalAccess', _2 => _2.id])),l={client:e.client,chain:R,wallets:e.wallets};async function i(r){let d=c.find(C=>C.id==="in-app-wallet");d?f({connector:d,chainId:_internal.defaultChainId,...{withCapabilities:!0,wallet:r}}):console.error("no tw connector found")}let{isLoading:W}=_react3.useAutoConnect.call(void 0, {...l,onConnect:i}),y=_react.useMemo.call(void 0, ()=>crypto.randomUUID(),[_optionalChain([s, 'optionalAccess', _3 => _3.id]),_optionalChain([u, 'optionalAccess', _4 => _4.address])]),{connect:v}=_react3.useConnectModal.call(void 0, );return{async connect(){let r=await v({...l,wallets:e.wallets,theme:t==="auto"?void 0:t,size:"compact",chains:[R,...o.map(d=>_thirdweb.defineChain.call(void 0, {id:d.id}))]});await i(r)},disconnect(){s&&w(s)},isConnecting:W,connectionId:y,connectorName:_nullishCoalesce(_optionalChain([m, 'optionalAccess', _5 => _5.name]), () => (null)),isEmbeddedWallet:_optionalChain([m, 'optionalAccess', _6 => _6.id])==="inApp",wallet:u,DebugConnectButton(){return _jsxruntime.jsx.call(void 0, _react3.ConnectButton,{...l,connectModal:{size:"compact"},onConnect:r=>i(r)})}}}function E(){let e=_react.useContext.call(void 0, z);if(!e)throw new Error("BeraWagmiContext not found");return e}var z=_react.createContext.call(void 0, void 0),Pe=[_chains.mainnet,_chains.polygon,_chains.optimism,_chains.base,_chains.bsc,_chains.avalanche,_chains.arbitrum];function Be({externalChainList:e}){return Pe.filter(t=>{let o=_optionalChain([e, 'optionalAccess', _7 => _7.find, 'call', _8 => _8(c=>c.chainId===t.id)]);return!o||_edgeconfig.isFlagEnabled.call(void 0, o.enabled)})}function et({children:e,config:t,isEmbeddedWalletsEnabled:o,disableEip5792:c,disable5792Upgrade:f,theme:s,accountOverride:u,onSmartAccountRejection:w,edgeConfigChainList:m}){let l=_react.useMemo.call(void 0, ()=>Be({externalChainList:m}),[m]),{wallet:i,connect:W,DebugConnectButton:y,connectionId:v,disconnect:r,connectorName:d,isEmbeddedWallet:C,isConnecting:D}=U({config:t,theme:s,extenalChains:l}),{address:h,chainId:x}=_wagmi.useAccount.call(void 0, ),{disconnect:M}=_wagmi.useDisconnect.call(void 0, ),_=_wagmi.usePublicClient.call(void 0, ),a=_react.useMemo.call(void 0, ()=>{if(!(!h||!i))return _nullishCoalesce(u, () => (h))},[u,h,i]),{data:p}=_wagmi.useCapabilities.call(void 0, {account:h,scopeKey:v,query:{retry:3}}),O=_react.useCallback.call(void 0, b=>c||!p?!1:_optionalChain([p, 'optionalAccess', _9 => _9[b], 'optionalAccess', _10 => _10.atomic, 'optionalAccess', _11 => _11.status])==="supported"||!f&&_optionalChain([p, 'optionalAccess', _12 => _12[b], 'optionalAccess', _13 => _13.atomic, 'optionalAccess', _14 => _14.status])==="ready",[p,c,f]),{data:g}=_wagmi.useEnsName.call(void 0, {config:t.wagmi,chainId:_internal.defaultChainId,address:a}),{data:P}=_immutable2.default.call(void 0, a?["BeraWagmiProvider_code",a,x]:null,([b,K,Ue])=>_optionalChain([_, 'optionalAccess', _15 => _15.getCode, 'call', _16 => _16({address:K})]),{refreshInterval:6e4}),[G,q]=_react.useMemo.call(void 0, ()=>P?P.startsWith("0xef01")?[!1,!0]:[!0,!1]:[!1,!1],[P]),{data:I}=_wagmi.useWalletClient.call(void 0, ),F=_react.useMemo.call(void 0, ()=>{try{return g?_ens.normalize.call(void 0, g):void 0}catch (e2){}},[g]),J=_wagmi.useEnsAvatar.call(void 0, {name:F});return _jsxruntime.jsx.call(void 0, z.Provider,{value:{walletClient:I,onSmartAccountRejection:()=>{_optionalChain([w, 'optionalCall', _17 => _17()])},isEmbeddedWalletsEnabled:o,isConnecting:D,isConnected:!!a&&!!I,DebugConnectButton:y,account:i&&x&&a?{chainId:x,connectorName:d,isEmbeddedWallet:C,capabilities:p,flags:{getSupportsAtomic:O},wallet:{address:a,ensName:_nullishCoalesce(g, () => (null)),ensAvatar:_nullishCoalesce(J.data, () => (null)),has7702Authorization:q,isContract:G}}:void 0,connectWallet:async()=>{console.log("connectWallet.called"),await W()},disconnect:()=>{M(),r()},externalChainList:l},children:_jsxruntime.jsx.call(void 0, T,{address:a,children:e})})}function Ee(){let{account:e,isConnected:t}=E();return{...e,isConnected:t}}function Te(){let e=_react.useContext.call(void 0, B);if(!e)throw new Error("LightweightAccountContext not found");let{address:t}=e;return{isConnected:!!t,address:t}}function dt(e){let{chainId:t,...o}=_nullishCoalesce(e, () => ({}));return _wagmi.usePublicClient.call(void 0, {chainId:_nullishCoalesce(t, () => (_internal.defaultChainId)),...o})}exports.a = Ee; exports.b = Te; exports.c = dt; exports.d = _wagmi.useBlockNumber; exports.e = _wagmi.useChains; exports.f = _wagmi.useConfig; exports.g = _wagmi.useEnsAvatar; exports.h = _wagmi.useEnsName; exports.i = _wagmi.useSwitchChain; exports.j = _wagmi.useTransactionReceipt; exports.k = E; exports.l = et;
@@ -1 +0,0 @@
1
- import{a as n}from"./chunk-ZKXXJYGS.mjs";import{usePublicClient as Re}from"wagmi";import{defaultChainId as Le}from"@berachain/config/internal";import{useBlockNumber as pt,useChains as ft,useConfig as Ct,useEnsAvatar as S,useEnsName as k,useSwitchChain as ht,useTransactionReceipt as gt}from"wagmi";import{createContext as ae,useCallback as ce,useContext as se,useMemo as A}from"react";import le from"swr/immutable";import{arbitrum as de,avalanche as ue,base as me,bsc as pe,mainnet as fe,optimism as Ce,polygon as he}from"viem/chains";import{normalize as ge}from"viem/ens";import{useAccount as be,useCapabilities as Ae,useDisconnect as we,usePublicClient as We,useWalletClient as ye}from"wagmi";import{defaultChainId as ve}from"@berachain/config/internal";import{isFlagEnabled as xe}from"@berachain/config/internal/edge-config";import{createContext as j}from"react";import{jsx as H}from"react/jsx-runtime";var B=j(void 0);function T({children:e,address:t}){return H(B.Provider,{value:{address:t},children:e})}import{useMemo as Q}from"react";import{defineChain as L}from"thirdweb";import{ConnectButton as V,useActiveAccount as X,useActiveWallet as Y,useAutoConnect as Z,useConnectModal as $,useDisconnect as ee,useWalletInfo as te}from"thirdweb/react";import{useConnect as ne}from"wagmi";import{defaultChainId as oe,publicJsonRpcUrl as ie}from"@berachain/config/internal";import{jsx as re}from"react/jsx-runtime";var R=L({id:n.id,blockExplorers:n.blockExplorers,blockTime:n.blockTime,ensTlds:n.ensTlds,testnet:n.testnet,contracts:n.contracts,nativeCurrency:n.nativeCurrency,name:n.name,rpcUrls:{default:{http:[ie]}}});function U({config:e,theme:t,extenalChains:o}){let{connectors:c,connect:f}=ne(),s=Y(),u=X(),{disconnect:w}=ee(),{data:m}=te(s?.id),l={client:e.client,chain:R,wallets:e.wallets};async function i(r){let d=c.find(C=>C.id==="in-app-wallet");d?f({connector:d,chainId:oe,...{withCapabilities:!0,wallet:r}}):console.error("no tw connector found")}let{isLoading:W}=Z({...l,onConnect:i}),y=Q(()=>crypto.randomUUID(),[s?.id,u?.address]),{connect:v}=$();return{async connect(){let r=await v({...l,wallets:e.wallets,theme:t==="auto"?void 0:t,size:"compact",chains:[R,...o.map(d=>L({id:d.id}))]});await i(r)},disconnect(){s&&w(s)},isConnecting:W,connectionId:y,connectorName:m?.name??null,isEmbeddedWallet:m?.id==="inApp",wallet:u,DebugConnectButton(){return re(V,{...l,connectModal:{size:"compact"},onConnect:r=>i(r)})}}}import{jsx as N}from"react/jsx-runtime";function E(){let e=se(z);if(!e)throw new Error("BeraWagmiContext not found");return e}var z=ae(void 0),Pe=[fe,he,Ce,me,pe,ue,de];function Be({externalChainList:e}){return Pe.filter(t=>{let o=e?.find(c=>c.chainId===t.id);return!o||xe(o.enabled)})}function et({children:e,config:t,isEmbeddedWalletsEnabled:o,disableEip5792:c,disable5792Upgrade:f,theme:s,accountOverride:u,onSmartAccountRejection:w,edgeConfigChainList:m}){let l=A(()=>Be({externalChainList:m}),[m]),{wallet:i,connect:W,DebugConnectButton:y,connectionId:v,disconnect:r,connectorName:d,isEmbeddedWallet:C,isConnecting:D}=U({config:t,theme:s,extenalChains:l}),{address:h,chainId:x}=be(),{disconnect:M}=we(),_=We(),a=A(()=>{if(!(!h||!i))return u??h},[u,h,i]),{data:p}=Ae({account:h,scopeKey:v,query:{retry:3}}),O=ce(b=>c||!p?!1:p?.[b]?.atomic?.status==="supported"||!f&&p?.[b]?.atomic?.status==="ready",[p,c,f]),{data:g}=k({config:t.wagmi,chainId:ve,address:a}),{data:P}=le(a?["BeraWagmiProvider_code",a,x]:null,([b,K,Ue])=>_?.getCode({address:K}),{refreshInterval:6e4}),[G,q]=A(()=>P?P.startsWith("0xef01")?[!1,!0]:[!0,!1]:[!1,!1],[P]),{data:I}=ye(),F=A(()=>{try{return g?ge(g):void 0}catch{}},[g]),J=S({name:F});return N(z.Provider,{value:{walletClient:I,onSmartAccountRejection:()=>{w?.()},isEmbeddedWalletsEnabled:o,isConnecting:D,isConnected:!!a&&!!I,DebugConnectButton:y,account:i&&x&&a?{chainId:x,connectorName:d,isEmbeddedWallet:C,capabilities:p,flags:{getSupportsAtomic:O},wallet:{address:a,ensName:g??null,ensAvatar:J.data??null,has7702Authorization:q,isContract:G}}:void 0,connectWallet:async()=>{console.log("connectWallet.called"),await W()},disconnect:()=>{M(),r()},externalChainList:l},children:N(T,{address:a,children:e})})}function Ee(){let{account:e,isConnected:t}=E();return{...e,isConnected:t}}import{useContext as Ie}from"react";function Te(){let e=Ie(B);if(!e)throw new Error("LightweightAccountContext not found");let{address:t}=e;return{isConnected:!!t,address:t}}function dt(e){let{chainId:t,...o}=e??{};return Re({chainId:t??Le,...o})}export{Ee as a,Te as b,dt as c,pt as d,ft as e,Ct as f,S as g,k as h,ht as i,gt as j,E as k,et as l};
@@ -1 +0,0 @@
1
- import{inAppWalletConnector as q}from"@thirdweb-dev/wagmi-adapter";import{createThirdwebClient as I}from"thirdweb";import{createWallet as a,getInstalledWallets as N,inAppWallet as T}from"thirdweb/wallets";import{arbitrum as b,avalanche as m,base as u,berachain as l,berachainBepolia as w,bsc as C,mainnet as g,optimism as k,polygon as x}from"viem/chains";import{createConfig as v,createStorage as A,fallback as d,http as f}from"wagmi";import{alchemyJsonRpcUrl as U,appConfig as M,chainId as O,jsonRpcUrl as j,privateRcpUrl as B,publicJsonRpcUrl as E}from"@berachain/config/internal";var y=O===l.id?l:w,h={chain:y},J=!!y.contracts?.multicall3,W=[g,x,k,u,C,b,m],L=[...W,l,w].reduce((t,i)=>(t[i.id]=i.name,t),{}),S={[g.id]:["https://1.rpc.thirdweb.com/","https://ultra-sleek-pond.quiknode.pro/08ab7832de196248b7ba7dcffad268c9b3747f48/"],[x.id]:["https://137.rpc.thirdweb.com/","https://sleek-thrilling-orb.matic.quiknode.pro/592d9950044bf173c232f5ecf79a2725c43f517b/"],[k.id]:["https://10.rpc.thirdweb.com/","https://blue-neat-liquid.optimism.quiknode.pro/26ca3fe255f687652124050450faada988023979/"],[u.id]:["https://8453.rpc.thirdweb.com/","https://soft-empty-sailboat.base-mainnet.quiknode.pro/bb9300074b062c5e0a1e93e0a8ebd53501c32fe7/"],[C.id]:["https://56.rpc.thirdweb.com/","https://chaotic-floral-brook.bsc.quiknode.pro/6f0e5a9791285c6b59f2a6a907a62ec9d581d7bd/"],[m.id]:["https://43114.rpc.thirdweb.com/","https://shy-special-mansion.avalanche-mainnet.quiknode.pro/efa880845032c2ef4049637d779d2ae58acf0f65/ext/bc/C/rpc/"],[b.id]:["https://42161.rpc.thirdweb.com/","https://fluent-broken-violet.arbitrum-mainnet.quiknode.pro/445b20e9ed10e22fffee6498a40c4f83f83f4ec7/"]};function Q({sponsorGas:t,enableEmbeddedWallets:i}){let s=I({clientId:M.apiKeys.public.thirdweb}),n={mode:"EIP7702",sponsorGas:t},R=T({executionMode:n}),p=[...N(),a("io.rabby"),a("io.metamask"),a("com.coinbase.wallet"),a("walletConnect")].filter((e,o,r)=>r.findIndex(c=>c.id===e.id)===o);return{wallets:i?[R,...p]:p,executionMode:n,client:s,wagmi:v({chains:[h.chain,...W],ssr:!0,connectors:[q({client:s,executionMode:n})],storage:A({key:"wagmi-berachain-thirdweb",storage:typeof window<"u"?localStorage:void 0}),batch:{multicall:J?{wait:15}:void 0},transports:{[h.chain.id]:d([B,j,U,E].filter(e=>e).map(e=>f(e,{batch:{wait:35}}))),...Object.entries(S).reduce((e,[o,r])=>(e[Number(o)]=d([...r,void 0].map(c=>f(c,{batch:{wait:15}}))),e),{})}})}}export{y as a,h as b,W as c,L as d,Q as e};