@privy-io/react-auth 2.6.4 → 2.7.0-beta-20250320153020
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/farcaster.js +1 -1
- package/dist/cjs/frame-k_wNSSVB.js +1 -0
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/internal-context-RXYisitW.js +1 -0
- package/dist/cjs/privy-provider-DEIRPbB3.js +27 -0
- package/dist/cjs/smart-wallets-DbeQ3OaY.js +1 -0
- package/dist/cjs/smart-wallets.js +1 -1
- package/dist/cjs/solana.js +1 -1
- package/dist/cjs/ui.js +1 -1
- package/dist/cjs/{useActiveWallet-CsKkB2nL.js → useActiveWallet-DV8bQ41I.js} +1 -1
- package/dist/cjs/useFundWallet-DFVoN9CU.js +1 -0
- package/dist/dts/farcaster.d.mts +1 -1
- package/dist/dts/farcaster.d.ts +1 -1
- package/dist/dts/index.d.mts +63 -6
- package/dist/dts/index.d.ts +63 -6
- 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-CsAGoXth.d.mts → types-Bv6KFBSe.d.mts} +2 -1
- package/dist/dts/{types-CsAGoXth.d.ts → types-Bv6KFBSe.d.ts} +2 -1
- package/dist/dts/ui.d.mts +1 -1
- package/dist/dts/ui.d.ts +1 -1
- package/dist/dts/{useSolanaWallets-CFgYdjDv.d.mts → useSolanaWallets-DmfTxIs8.d.mts} +1 -1
- package/dist/dts/{useSolanaWallets-CFgYdjDv.d.ts → useSolanaWallets-DmfTxIs8.d.ts} +1 -1
- package/dist/esm/abstract-smart-wallets.mjs +1 -1
- package/dist/esm/farcaster.mjs +1 -1
- package/dist/esm/frame-Ce7X1pBv.mjs +1 -0
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/internal-context-1GyQ1hzA.mjs +1 -0
- package/dist/esm/privy-provider-QuG0Jtad.mjs +27 -0
- package/dist/esm/smart-wallets-DDC7ER1L.mjs +1 -0
- package/dist/esm/smart-wallets.mjs +1 -1
- package/dist/esm/solana.mjs +1 -1
- package/dist/esm/ui.mjs +1 -1
- package/dist/esm/{useActiveWallet-D0FziaS7.mjs → useActiveWallet-B13pmqaE.mjs} +1 -1
- package/dist/esm/useFundWallet-CxspGtCH.mjs +1 -0
- package/package.json +4 -4
- package/dist/cjs/internal-context-HesndSYh.js +0 -1
- package/dist/cjs/privy-provider-B-yAVEso.js +0 -27
- package/dist/cjs/smart-wallets-BUp0Opq4.js +0 -1
- package/dist/cjs/useFundWallet-C-vF194x.js +0 -1
- package/dist/esm/internal-context-O3TPYUku.mjs +0 -1
- package/dist/esm/privy-provider-DSQ8FU83.mjs +0 -27
- package/dist/esm/smart-wallets-CjIUBWJS.mjs +0 -1
- package/dist/esm/useFundWallet-DGsbN-n3.mjs +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useRef as e,useState as t,useCallback as n}from"react";import{http as r,createPublicClient as a}from"viem";import{l as i,e as s,ak as o,c,k as l,j as d,ar as p,au as u,at as y,as as m}from"./privy-provider-DSQ8FU83.mjs";import{a as g,u as h}from"./internal-context-O3TPYUku.mjs";import{g as f}from"./getEmbeddedConnectedWallet-CSSBWE2p.mjs";import{createSmartAccountClient as w}from"permissionless";import{toThirdwebSmartAccount as I,toLightSmartAccount as P,toBiconomySmartAccount as v,toEcdsaKernelSmartAccount as W,toSafeSmartAccount as F}from"permissionless/accounts";import{createPimlicoClient as x}from"permissionless/clients/pimlico";import{toCoinbaseSmartAccount as C,entryPoint06Address as T,entryPoint07Address as G}from"viem/account-abstraction";import{THIRDWEB as M,COINBASE_SMART_WALLET as O,LIGHT_ACCOUNT as S,BICONOMY as U,KERNEL as b,SAFE as A}from"@privy-io/js-sdk-core";let D={address:T,version:"0.6"},V={address:G,version:"0.7"},N=({owner:e,smartWalletType:t,publicClient:n})=>{switch(t){case A:return F({client:n,entryPoint:V,owners:[e],version:"1.4.1"});case b:return W({client:n,version:"0.3.1",entryPoint:V,owners:[e]});case U:return v({client:n,owners:[e],entryPoint:D});case S:return P({client:n,entryPoint:D,owner:e,version:"1.1.0"});case O:return async function({client:e,owner:t}){let[n]=await t.request({method:"eth_accounts"});if(!n)throw Error("Unable to request embedded owner for eth_accounts");return await C({client:e,owners:[{type:"local",source:"privy",address:n,sign:async({hash:e})=>await t.request({method:"secp256k1_sign",params:[e]})}]})}({client:n,owner:e});case M:return I({client:n,entryPoint:V,owner:e});default:throw Error(`Invalid smart account type: ${t}.`)}},$=["rpc.zerodev.app","public.pimlico.io","api.pimlico.io"];const _=({calls:e,chain:t,maxPriorityFeePerGas:n,maxFeePerGas:r,nonce:a})=>e.map((e=>({to:e.to||void 0,data:e.data,value:e.value,chainId:t.id,nonce:a,maxFeePerGas:r,maxPriorityFeePerGas:n}))),B=async({chain:e,paymasterContext:t,embeddedWallet:n,user:s,smartWalletsConfig:o,rpcConfig:c,privyAppId:l})=>{if(!o?.enabled||!s||!n)return;let d=await n.getEthereumProvider(),p=o?.configuredNetworks.find((t=>t.chainId===`eip155:${e.id}`));if(!p)throw new g(`The chain ${e.name} (eip155:${e.id}) must be configured in the smart wallet configuration in your dashboard`);let u=s.smartWallet?.smartWalletType??o.smartWalletType,y=i(e,c,l),m=a({chain:e,transport:r(y)}),h=t??p.paymasterContext,f=await(async({owner:e,smartWalletType:t,chain:n,publicClient:a,bundlerUrl:i,paymasterUrl:s,paymasterContext:o})=>{let c=await N({owner:e,smartWalletType:t,publicClient:a}),l=x({transport:r(i),entryPoint:c.entryPoint}),d=s?x({transport:r(s),entryPoint:c.entryPoint}):void 0;return w({account:c,chain:n,paymaster:d,paymasterContext:o,bundlerTransport:r(i),userOperation:{estimateFeesPerGas:async()=>{if($.some((e=>i.includes(e))))return await l.getUserOperationGasPrice().then((e=>e.fast));{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:d,smartWalletType:u,chain:e,publicClient:m,paymasterContext:h,...p});if(!f)throw new g(`Failed to create smart wallet client for chain ${e.name} (eip155:${e.id})`);return f},j=({clientConfig:r,smartWalletsConfig:a})=>{let{hideWalletUIs:i,openPrivyModal:w,appId:I,isHeadlessSigning:P}=h(),v=s(),{setModalData:W}=o(),{user:F}=c(),{chains:x}=s(),{chainId:C,clients:T,setChainId:G,chainIdState:M}=(()=>{let n=e(),[r,a]=t();return{clients:e({}),setChainId:e=>{n.current=e,a(e)},chainId:n,chainIdState:r}})(),O=x.find((e=>e.id===M)),{wallets:S}=l(),U=f(S),b=d(F),A=n((async()=>C.current),[C]),D=n((async({id:e})=>{if(!T.current[e]){let t=await B({chain:x.find((t=>t.id===e)),embeddedWallet:U,user:F,paymasterContext:r?.paymasterContext,smartWalletsConfig:a,rpcConfig:v.rpcConfig,privyAppId:I});t&&(T.current[e]=t)}G(e)}),[x,r,S,F,a]);return{wrapSmartAccountClient:e=>{T.current[e.chain.id]=e,M||G(e.chain.id);return{...e,sendTransaction:async(e,t)=>{let n=T.current[C.current];if(!n)throw new g(`Smart wallet client for chain (eip155:${C.current}) not found`);if(delete e.account,P({showWalletUIs:t?.uiOptions?.showWalletUIs}))return i.current=!0,await n.sendTransaction(e).finally((()=>i.current=!1));let r=[];"calls"in e&&void 0!==e.calls?r=[...e.calls]:"to"in e&&(r=[{to:e.to,value:e.value||BigInt(0),data:e.data||"0x"}]);let a=async()=>{if(!n.paymaster)return!1;let{paymasterAndData:t,paymasterData:a}=await n.prepareUserOperation({calls:r,maxFeePerGas:e.maxFeePerGas,maxPriorityFeePerGas:e.maxPriorityFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0});return Number(t??a??0)>0};return new Promise((async(s,o)=>{i.current=!0;let{entropyId:c,entropyIdVerifier:l}=p(F);W({connectWallet:{recoveryMethod:b.recoveryMethod,connectingWalletAddress:b.address,entropyId:c,entropyIdVerifier:l,onCompleteNavigateTo:u,onFailure:()=>{}},sendTransaction:{transactionRequests:_({calls:r,chain:n.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),transactingWalletIndex:0,transactingWalletAddress:n.account.address,entropyId:c,entropyIdVerifier:l,getIsSponsored:a,signOnly:!1,onConfirm:()=>n.sendTransaction(e),onSuccess:e=>s(e.hash),onFailure:o,uiOptions:t?.uiOptions??{}}}),w(y)})).finally((()=>{i.current=!1}))},signMessage:async(e,t)=>{let n=T.current[C.current];if(!n)throw new g(`Smart wallet client for chain (eip155:${C.current}) not found`);return P({showWalletUIs:t?.uiOptions?.showWalletUIs})?(i.current=!0,await n.signMessage(e).finally((()=>i.current=!1))):new Promise((async(r,a)=>{let{entropyId:s,entropyIdVerifier:o}=p(F);i.current=!0,W({connectWallet:{recoveryMethod:b.recoveryMethod,connectingWalletAddress:b.address,entropyId:s,entropyIdVerifier:o,onCompleteNavigateTo:m,onFailure:()=>{}},signMessage:{method:"personal_sign",data:"string"==typeof e.message?e.message:e.message.raw.toString(),confirmAndSign:()=>n.signMessage(e),onSuccess:e=>r(e),onFailure:a,uiOptions:t?.uiOptions??{}}}),w(y)})).finally((()=>{i.current=!1}))},signTypedData:async(e,t)=>{let n=T.current[C.current];if(!n)throw new g(`Smart wallet client for chain (eip155:${C.current}) not found`);return delete e.account,P({showWalletUIs:t?.uiOptions?.showWalletUIs})?(i.current=!0,await n.signTypedData(e).finally((()=>i.current=!1))):new Promise((async(r,a)=>{i.current=!0;let{entropyId:s,entropyIdVerifier:o}=p(F);W({connectWallet:{recoveryMethod:b.recoveryMethod,connectingWalletAddress:b.address,entropyId:s,entropyIdVerifier:o,onCompleteNavigateTo:m,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:e,confirmAndSign:()=>n.signTypedData(e),onSuccess:e=>r(e),onFailure:a,uiOptions:t?.uiOptions??{}}}),w(y)})).finally((()=>{i.current=!1}))},getChainId:A,chain:O,switchChain:D}}}},k=()=>{let{hideWalletUIs:e,openPrivyModal:t,isHeadlessSigning:n}=h(),{setModalData:r}=o(),{user:a}=c(),i=d(a);return{wrapSmartAccountClientWithUIs:s=>({...s,sendTransaction:async(o,c)=>{if(n({showWalletUIs:c?.uiOptions?.showWalletUIs}))return e.current=!0,await s.sendTransaction(o).finally((()=>e.current=!1));let l=[];"calls"in o&&void 0!==o.calls?l=[...o.calls]:"to"in o&&(l=[{to:o.to,value:o.value||BigInt(0),data:o.data||"0x"}]);let d=async()=>{if(!s.paymaster)return!1;let{paymasterAndData:e,paymasterData:t}=await s.prepareUserOperation({calls:l,maxFeePerGas:o.maxFeePerGas,maxPriorityFeePerGas:o.maxPriorityFeePerGas,nonce:o.nonce?BigInt(o.nonce):void 0});return Number(e??t??0)>0};return new Promise((async(n,m)=>{e.current=!0;let{entropyId:g,entropyIdVerifier:h}=p(a);r({connectWallet:{recoveryMethod:i.recoveryMethod,connectingWalletAddress:i.address,entropyId:g,entropyIdVerifier:h,onCompleteNavigateTo:u,onFailure:()=>{}},sendTransaction:{transactionRequests:_({calls:l,chain:s.chain,maxPriorityFeePerGas:o.maxPriorityFeePerGas,maxFeePerGas:o.maxFeePerGas,nonce:o.nonce?BigInt(o.nonce):void 0}),transactingWalletIndex:0,transactingWalletAddress:s.account.address,entropyId:g,entropyIdVerifier:h,getIsSponsored:d,signOnly:!1,onConfirm:()=>s.sendTransaction(o),onSuccess:e=>n(e.hash),onFailure:m,uiOptions:c?.uiOptions??{}}}),t(y)})).finally((()=>{e.current=!1}))},signMessage:async(o,c)=>n({showWalletUIs:c?.uiOptions?.showWalletUIs})?(e.current=!0,await s.signMessage(o).finally((()=>e.current=!1))):new Promise((async(n,l)=>{let{entropyId:d,entropyIdVerifier:u}=p(a);e.current=!0,r({connectWallet:{recoveryMethod:i.recoveryMethod,connectingWalletAddress:i.address,entropyId:d,entropyIdVerifier:u,onCompleteNavigateTo:m,onFailure:()=>{}},signMessage:{method:"personal_sign",data:"string"==typeof o.message?o.message:o.message.raw.toString(),confirmAndSign:()=>s.signMessage(o),onSuccess:e=>n(e),onFailure:l,uiOptions:c?.uiOptions??{}}}),t(y)})).finally((()=>{e.current=!1})),signTypedData:async(o,c)=>n({showWalletUIs:c?.uiOptions?.showWalletUIs})?(e.current=!0,await s.signTypedData(o).finally((()=>e.current=!1))):new Promise((async(n,l)=>{e.current=!0;let{entropyId:d,entropyIdVerifier:u}=p(a);r({connectWallet:{recoveryMethod:i.recoveryMethod,connectingWalletAddress:i.address,entropyId:d,entropyIdVerifier:u,onCompleteNavigateTo:m,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:o,confirmAndSign:()=>s.signTypedData(o),onSuccess:e=>n(e),onFailure:l,uiOptions:c?.uiOptions??{}}}),t(y)})).finally((()=>{e.current=!1}))})}};export{j as a,_ as c,B as g,k as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useCallback as e}from"react";import{ao as a,u as t,e as r,ak as s,aj as n,ap as o,aq as i}from"./privy-provider-DSQ8FU83.mjs";import{Connection as l,PublicKey as c,Transaction as d,SystemProgram as m,TransactionInstruction as p,VersionedTransaction as u,TransactionMessage as f}from"@solana/web3.js";import{getSolanaRpcEndpointForCluster as w}from"@privy-io/js-sdk-core";import{u as k}from"./internal-context-O3TPYUku.mjs";var y={id:a,getBalance:({address:e,cluster:a})=>new l(w(a)).getBalance(new c(e)),createTransferTransaction:async({from:e,to:a,amount:t,cluster:r})=>{let s=new c(e),n=new d;n.add(m.transfer({fromPubkey:s,toPubkey:new c(a),lamports:t}));let o=new l(w(r)),i=await o.getLatestBlockhash();return n.recentBlockhash=i.blockhash,n.feePayer=s,{transaction:n,connection:o}},createBridgeTransactionFromRelayQuote:async({quote:e,from:a,cluster:t})=>{let r=e.steps[0]?.items?.[0];if(!r)return;let s=r.data.instructions.map((({keys:e,programId:a,data:t})=>new p({keys:e.map((({pubkey:e,isSigner:a,isWritable:t})=>({pubkey:new c(e),isSigner:a,isWritable:t}))),programId:new c(a),data:Buffer.from(t,"hex")}))),n=r.data.addressLookupTableAddresses?.map((e=>new c(e))),o=new l(w(t)),i=await Promise.all((n??[]).map((async e=>o.getAddressLookupTable(e).then((e=>e.value))))),{blockhash:d}=await o.getLatestBlockhash();return{transaction:new u(new f({payerKey:new c(a),instructions:s,recentBlockhash:d}).compileToV0Message(i)),connection:o}}};const h=a=>{t("fundSolanaWallet",a);let l=r(),{setModalData:c}=s(),{openModal:d}=k();return n(y),{fundWallet:e((async(e,a)=>{c({funding:o({address:e,appConfig:l,fundWalletConfig:a,methodScreen:i})}),d(i)}),[l,c,d])}};export{y as t,h as u};
|