@privy-io/react-auth 2.14.2 → 2.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/abstract-smart-wallets.js +1 -1
- package/dist/cjs/extended-chains.js +1 -0
- package/dist/cjs/farcaster.js +1 -1
- package/dist/cjs/frame-B38H7ILa.js +1 -0
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/internal-context-CrTqNb_c.js +1 -0
- package/dist/cjs/paths-CdRs2pll.js +1 -0
- package/dist/cjs/privy-provider-BH0F7-54.js +28 -0
- package/dist/cjs/smart-wallets-DvmTShkt.js +1 -0
- package/dist/cjs/smart-wallets.js +1 -1
- package/dist/cjs/solana.js +1 -1
- package/dist/cjs/ui.js +2 -2
- package/dist/cjs/use-sign-with-user-signer-h5JGn1CY.js +1 -0
- package/dist/cjs/useActiveWallet-XehugIB6.js +1 -0
- package/dist/cjs/{useFundWallet-IzxVl7fC.js → useFundWallet-hXyQXO7U.js} +1 -1
- package/dist/dts/extended-chains.d.mts +53 -0
- package/dist/dts/extended-chains.d.ts +53 -0
- package/dist/dts/farcaster.d.mts +1 -1
- package/dist/dts/farcaster.d.ts +1 -1
- package/dist/dts/index.d.mts +84 -9
- package/dist/dts/index.d.ts +84 -9
- package/dist/dts/smart-wallets.d.mts +1 -1
- package/dist/dts/smart-wallets.d.ts +1 -1
- package/dist/dts/solana.d.mts +4 -4
- package/dist/dts/solana.d.ts +4 -4
- package/dist/dts/{types-CCLHKw4p.d.mts → types-BVjRQyBr.d.mts} +2 -2
- package/dist/dts/{types-CCLHKw4p.d.ts → types-BVjRQyBr.d.ts} +2 -2
- package/dist/dts/ui.d.mts +1 -1
- package/dist/dts/ui.d.ts +1 -1
- package/dist/dts/{useSolanaWallets-CbaQnTe_.d.mts → useSolanaWallets-B9ju3nTn.d.mts} +1 -1
- package/dist/dts/{useSolanaWallets-CbaQnTe_.d.ts → useSolanaWallets-B9ju3nTn.d.ts} +1 -1
- package/dist/esm/abstract-smart-wallets.mjs +1 -1
- package/dist/esm/extended-chains.mjs +1 -0
- package/dist/esm/farcaster.mjs +1 -1
- package/dist/esm/frame-UsDF_L76.mjs +1 -0
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/internal-context-Bxhby7Hv.mjs +1 -0
- package/dist/esm/paths-j39vuJt8.mjs +1 -0
- package/dist/esm/privy-provider-DyqReHyu.mjs +28 -0
- package/dist/esm/smart-wallets-BuJFWcoC.mjs +1 -0
- package/dist/esm/smart-wallets.mjs +1 -1
- package/dist/esm/solana.mjs +1 -1
- package/dist/esm/ui.mjs +2 -2
- package/dist/esm/use-sign-with-user-signer-CEyk1z8w.mjs +1 -0
- package/dist/esm/useActiveWallet-CKb44UC5.mjs +1 -0
- package/dist/esm/{useFundWallet-3u6nKvq9.mjs → useFundWallet-BjWNYKHD.mjs} +1 -1
- package/package.json +16 -3
- package/dist/cjs/frame-Czznns2Z.js +0 -1
- package/dist/cjs/internal-context-VGU3duZo.js +0 -1
- package/dist/cjs/privy-provider-CtJSaVGS.js +0 -28
- package/dist/cjs/smart-wallets-DamcfGy2.js +0 -1
- package/dist/cjs/useActiveWallet-CLlUzbbD.js +0 -1
- package/dist/esm/frame-S_4wR3Zf.mjs +0 -1
- package/dist/esm/internal-context-pX7RZwl3.mjs +0 -1
- package/dist/esm/privy-provider-B_tc-pgO.mjs +0 -28
- package/dist/esm/smart-wallets-CLORSRVb.mjs +0 -1
- package/dist/esm/useActiveWallet-mXvtXdOw.mjs +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useRef as e,useState as t,useCallback as r}from"react";import{http as n,createPublicClient as a}from"viem";import{n as i,f as s,au as o,u as l,l as c,m as d,v as u,a as p,aJ as m,aI as y,aH as g}from"./privy-provider-B_tc-pgO.mjs";import{P as f,u as h}from"./internal-context-pX7RZwl3.mjs";import{g as w}from"./getEmbeddedConnectedWallet-CSSBWE2p.mjs";import{createSmartAccountClient as P}from"permissionless";import{toThirdwebSmartAccount as I,toLightSmartAccount as v,toBiconomySmartAccount as F,toEcdsaKernelSmartAccount as W,toSafeSmartAccount as x}from"permissionless/accounts";import{createPimlicoClient as G}from"permissionless/clients/pimlico";import{toCoinbaseSmartAccount as C,entryPoint06Address as T,entryPoint07Address as U}from"viem/account-abstraction";import{THIRDWEB as M,COINBASE_SMART_WALLET as O,LIGHT_ACCOUNT as S,BICONOMY as b,KERNEL as A,SAFE as D}from"@privy-io/js-sdk-core";let V={address:T,version:"0.6"},N={address:U,version:"0.7"},_=({owner:e,smartWalletType:t,publicClient:r})=>{switch(t){case D:return x({client:r,entryPoint:N,owners:[e],version:"1.4.1"});case A:return W({client:r,version:"0.3.1",entryPoint:N,owners:[e]});case b:return F({client:r,owners:[e],entryPoint:V});case S:return v({client:r,entryPoint:V,owner:e,version:"1.1.0"});case O:return async function({client:e,owner:t}){let[r]=await t.request({method:"eth_accounts"});if(!r)throw Error("Unable to request embedded owner for eth_accounts");return await C({client:e,owners:[{type:"local",source:"privy",address:r,sign:async({hash:e})=>await t.request({method:"secp256k1_sign",params:[e]})}]})}({client:r,owner:e});case M:return I({client:r,entryPoint:N,owner:e});default:throw Error(`Invalid smart account type: ${t}.`)}};const B=({calls:e,chain:t,maxPriorityFeePerGas:r,maxFeePerGas:n,nonce:a})=>e.map((e=>({to:e.to||void 0,data:e.data,value:e.value,chainId:t.id,nonce:a,maxFeePerGas:n,maxPriorityFeePerGas:r}))),$=async({chain:e,paymasterContext:t,account:r,signer:s,user:o,smartWalletsConfig:l,rpcConfig:c,privyAppId:d})=>{if(!(l?.enabled&&o&&r&&s))return;let u=l?.configuredNetworks.find((t=>t.chainId===`eip155:${e.id}`));if(!u)throw new f(`The chain ${e.name} (eip155:${e.id}) must be configured in the smart wallet configuration in your dashboard`);let p=o.smartWallet?.smartWalletType??l.smartWalletType,m=i(e,c,d),y=a({chain:e,transport:n(m)}),g=t??u.paymasterContext,h=await(async({owner:e,smartWalletType:t,chain:r,publicClient:a,bundlerUrl:i,paymasterUrl:s,paymasterContext:o})=>{let l=await _({owner:e,smartWalletType:t,publicClient:a}),c=G({transport:n(i),entryPoint:l.entryPoint}),d=s?G({transport:n(s),entryPoint:l.entryPoint}):void 0;return P({account:l,chain:r,paymaster:d,paymasterContext:o,bundlerTransport:n(i),userOperation:{estimateFeesPerGas:async()=>{if(["public.pimlico.io","api.pimlico.io"].some((e=>i.includes(e))))return await c.getUserOperationGasPrice().then((e=>e.fast));if(["rpc.zerodev.app"].some((e=>i.includes(e))))return(await c.request({method:"zd_getUserOperationGasPrice",params:[]})).fast;if(["g.alchemy.com"].some((e=>i.includes(e)))){let[e,t]=await Promise.all([a.getBlock({blockTag:"latest"}),c.request({method:"rundler_maxPriorityFeePerGas",params:[]})]);if(!e.baseFeePerGas||!t)throw Error("Failed to get block or maxPriorityFeePerGasEstimate");return{maxFeePerGas:150n*e.baseFeePerGas/100n+BigInt(t.toString()),maxPriorityFeePerGas:BigInt(t.toString())}}{let e=await a.estimateFeesPerGas(),t=i.includes("api.developer.coinbase.com")?175n:150n;return{...e,maxFeePerGas:e.maxFeePerGas*t/100n,maxPriorityFeePerGas:e.maxPriorityFeePerGas*t/100n}}}}})})({owner:s,smartWalletType:p,chain:e,publicClient:y,paymasterContext:g,...u});if(!h)throw new f(`Failed to create smart wallet client for chain ${e.name} (eip155:${e.id})`);return h},q=({clientConfig:n,smartWalletsConfig:a})=>{let{hideWalletUIs:i,openPrivyModal:P,appId:I,isHeadlessSigning:v}=h(),F=s(),{setModalData:W}=o(),{user:x}=l(),{chains:G}=s(),{chainId:C,clients:T,setChainId:U,chainIdState:M}=(()=>{let r=e(),[n,a]=t();return{clients:e({}),setChainId:e=>{r.current=e,a(e)},chainId:r,chainIdState:n}})(),O=G.find((e=>e.id===M)),{wallets:S}=c(),b=d(x),A=w(S),D=!!b&&u(b),V=r((async()=>C.current),[C]),N=r((async({id:e})=>{if(!T.current[e]){let t=await $({chain:G.find((t=>t.id===e)),account:b,signer:await(A?.getEthereumProvider()),user:x,paymasterContext:n?.paymasterContext,smartWalletsConfig:a,rpcConfig:F.rpcConfig,privyAppId:I});t&&(T.current[e]=t)}U(e)}),[G,n,S,x,a]);return{wrapSmartAccountClient:e=>{T.current[e.chain.id]=e,M||U(e.chain.id);return{...e,sendTransaction:async(e,t)=>{let r=T.current[C.current];if(!r)throw new f(`Smart wallet client for chain (eip155:${C.current}) not found`);if(delete e.account,v({showWalletUIs:t?.uiOptions?.showWalletUIs}))return i.current=!0,await r.sendTransaction(e).finally((()=>i.current=!1));let n=[];"calls"in e&&void 0!==e.calls?n=[...e.calls]:"to"in e&&(n=[{to:e.to,value:e.value||BigInt(0),data:e.data||"0x"}]);let a=async()=>{let{paymasterAndData:t,paymasterData:a,maxFeePerGas:i,maxPriorityFeePerGas:s}=await r.prepareUserOperation({calls:n,maxFeePerGas:e.maxFeePerGas,maxPriorityFeePerGas:e.maxPriorityFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0});return 0===Number(i)&&0===Number(s)||Number(t??a??0)>0};return new Promise((async(s,o)=>{i.current=!0;let{entropyId:l,entropyIdVerifier:c}=p(x);W({connectWallet:{recoveryMethod:b.recoveryMethod,connectingWalletAddress:b.address,isUnifiedWallet:D,entropyId:l,entropyIdVerifier:c,onCompleteNavigateTo:m,onFailure:()=>{}},sendTransaction:{transactionRequests:B({calls:n,chain:r.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),transactingWalletIndex:0,transactingWalletAddress:r.account.address,entropyId:l,entropyIdVerifier:c,getIsSponsored:a,signOnly:!1,onConfirm:()=>r.sendTransaction(e),onSuccess:e=>s(e.hash),onFailure:o,uiOptions:t?.uiOptions??{}}}),P(y)})).finally((()=>{i.current=!1}))},signMessage:async(e,t)=>{let r=T.current[C.current];if(!r)throw new f(`Smart wallet client for chain (eip155:${C.current}) not found`);return v({showWalletUIs:t?.uiOptions?.showWalletUIs})?(i.current=!0,await r.signMessage(e).finally((()=>i.current=!1))):new Promise((async(n,a)=>{let{entropyId:s,entropyIdVerifier:o}=p(x);i.current=!0,W({connectWallet:{recoveryMethod:b.recoveryMethod,connectingWalletAddress:b.address,isUnifiedWallet:D,entropyId:s,entropyIdVerifier:o,onCompleteNavigateTo:g,onFailure:()=>{}},signMessage:{method:"personal_sign",data:"string"==typeof e.message?e.message:e.message.raw.toString(),confirmAndSign:()=>r.signMessage(e),onSuccess:e=>n(e),onFailure:a,uiOptions:t?.uiOptions??{}}}),P(y)})).finally((()=>{i.current=!1}))},signTypedData:async(e,t)=>{let r=T.current[C.current];if(!r)throw new f(`Smart wallet client for chain (eip155:${C.current}) not found`);return delete e.account,v({showWalletUIs:t?.uiOptions?.showWalletUIs})?(i.current=!0,await r.signTypedData(e).finally((()=>i.current=!1))):new Promise((async(n,a)=>{i.current=!0;let{entropyId:s,entropyIdVerifier:o}=p(x);W({connectWallet:{recoveryMethod:b.recoveryMethod,connectingWalletAddress:b.address,isUnifiedWallet:D,entropyId:s,entropyIdVerifier:o,onCompleteNavigateTo:g,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:e,confirmAndSign:()=>r.signTypedData(e),onSuccess:e=>n(e),onFailure:a,uiOptions:t?.uiOptions??{}}}),P(y)})).finally((()=>{i.current=!1}))},getChainId:V,chain:O,switchChain:N}}}},k=()=>{let{hideWalletUIs:e,openPrivyModal:t,isHeadlessSigning:r}=h(),{setModalData:n}=o(),{user:a}=l(),i=d(a),s=!!i&&u(i);return{wrapSmartAccountClientWithUIs:o=>({...o,sendTransaction:async(l,c)=>{if(r({showWalletUIs:c?.uiOptions?.showWalletUIs}))return e.current=!0,await o.sendTransaction(l).finally((()=>e.current=!1));let d=[];"calls"in l&&void 0!==l.calls?d=[...l.calls]:"to"in l&&(d=[{to:l.to,value:l.value||BigInt(0),data:l.data||"0x"}]);let u=async()=>{if(!o.paymaster)return!1;let{paymasterData:e,paymasterAndData:t}=await o.prepareUserOperation({calls:d,maxFeePerGas:l.maxFeePerGas,maxPriorityFeePerGas:l.maxPriorityFeePerGas,nonce:l.nonce?BigInt(l.nonce):void 0});return Number(t??e??0)>0};return new Promise((async(r,g)=>{e.current=!0;let{entropyId:f,entropyIdVerifier:h}=p(a);n({connectWallet:{recoveryMethod:i.recoveryMethod,connectingWalletAddress:i.address,isUnifiedWallet:s,entropyId:f,entropyIdVerifier:h,onCompleteNavigateTo:m,onFailure:()=>{}},sendTransaction:{transactionRequests:B({calls:d,chain:o.chain,maxPriorityFeePerGas:l.maxPriorityFeePerGas,maxFeePerGas:l.maxFeePerGas,nonce:l.nonce?BigInt(l.nonce):void 0}),transactingWalletIndex:0,transactingWalletAddress:o.account.address,entropyId:f,entropyIdVerifier:h,getIsSponsored:u,signOnly:!1,onConfirm:()=>o.sendTransaction(l),onSuccess:e=>r(e.hash),onFailure:g,uiOptions:c?.uiOptions??{}}}),t(y)})).finally((()=>{e.current=!1}))},signMessage:async(l,c)=>r({showWalletUIs:c?.uiOptions?.showWalletUIs})?(e.current=!0,await o.signMessage(l).finally((()=>e.current=!1))):new Promise((async(r,d)=>{let{entropyId:u,entropyIdVerifier:m}=p(a);e.current=!0,n({connectWallet:{recoveryMethod:i.recoveryMethod,connectingWalletAddress:i.address,isUnifiedWallet:s,entropyId:u,entropyIdVerifier:m,onCompleteNavigateTo:g,onFailure:()=>{}},signMessage:{method:"personal_sign",data:"string"==typeof l.message?l.message:l.message.raw.toString(),confirmAndSign:()=>o.signMessage(l),onSuccess:e=>r(e),onFailure:d,uiOptions:c?.uiOptions??{}}}),t(y)})).finally((()=>{e.current=!1})),signTypedData:async(l,c)=>r({showWalletUIs:c?.uiOptions?.showWalletUIs})?(e.current=!0,await o.signTypedData(l).finally((()=>e.current=!1))):new Promise((async(r,d)=>{e.current=!0;let{entropyId:u,entropyIdVerifier:m}=p(a);n({connectWallet:{recoveryMethod:i.recoveryMethod,connectingWalletAddress:i.address,isUnifiedWallet:s,entropyId:u,entropyIdVerifier:m,onCompleteNavigateTo:g,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:l,confirmAndSign:()=>o.signTypedData(l),onSuccess:e=>r(e),onFailure:d,uiOptions:c?.uiOptions??{}}}),t(y)})).finally((()=>{e.current=!1}))})}};export{q as a,B as c,$ as g,k as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useContext as e,useEffect as t,useMemo as l,useCallback as a}from"react";import{P as s,b as n,aq as r,f as i,l as o,T as d}from"./privy-provider-B_tc-pgO.mjs";import{u as c}from"./internal-context-pX7RZwl3.mjs";import{create as u}from"zustand";function w(t){let{login:l}=e(s);return n("login",t),{login:l}}function p(t){let{connectWallet:l}=e(s);return n("connectWallet",t),{connectWallet:l}}const f=e=>{n("fundWallet",e);let{fundWallet:t}=c();return{fundWallet:t}},m=u((()=>({isModalOpen:!1,resolvers:null})));let v=u((()=>({})));const S=(e,t)=>v((l=>l[e]?.[t])),W=(e,t,l)=>{v.setState((a=>({[e]:{...a[e],[t]:l}})))},g=async()=>{let e,t,l=new Promise(((l,a)=>{e=l,t=a}));return v.setState({}),m.setState({isModalOpen:!0,resolvers:{resolve:e,reject:t}}),await l},y=()=>{let e=m.getState().resolvers;e||console.warn("useActiveWalletStore: Called close while modal was not open"),m.setState({isModalOpen:!1}),e?.resolve({wallet:m.getState().wallet})},h=({address:e,client:t,appId:l})=>{let a=`${t}:${e}`;l&&r.put(M(l),a),m.setState({wallet:a})},I=()=>m((e=>e.isModalOpen)),M=e=>`privy:${e}:active-wallet-connection`,O=()=>{let e=i(),{wallets:s}=o(),{wallets:n}=d(),c=m((e=>e.wallet));t((()=>{if(!e.id)return;let t=r.get(M(e.id));m.setState({wallet:t})}),[e.id]);let u=l((()=>{if(!c)return;let[,e]=c.split(":");return s.find((t=>t.address===e))||n.find((t=>t.address===e))}),[c,s,n]),w=l((()=>u?"ethereum"===u.type?u.chainId:"solana":void 0),[u]);return{connect:async t=>{t?.reset&&(r.del(M(e.id)),m.setState({wallet:void 0}));let{wallet:l}=await g();if(!l)return{};let[,a]=l.split(":"),i=s.find((e=>e.address===a));if(i)return{wallet:i,network:i.chainId};let o=n.find((e=>e.address===a));return o?{wallet:o,network:"solana"}:{}},setActiveWallet:a((t=>{h({address:t.address,client:t.walletClientType,appId:e.id})}),[e.id]),wallet:u,network:w}};export{p as a,f as b,O as c,S as d,W as e,I as f,y as g,h as s,w as u};
|