done changes
This commit is contained in:
commit
0dff7d3b92
@ -1,199 +0,0 @@
|
||||
"use client"
|
||||
import { memo, useEffect, useState, useCallback } from 'react';
|
||||
import { useRouter } from 'next/navigation';
|
||||
import Cookies from 'js-cookie';
|
||||
import { usePrivy } from '@privy-io/react-auth';
|
||||
import { Providers } from '@/components/providers/privy-provider';
|
||||
import { Mail, ArrowRight, Hexagon, LucideIcon } from 'lucide-react';
|
||||
|
||||
interface LoginButtonProps {
|
||||
icon: LucideIcon;
|
||||
text: string;
|
||||
onClick: () => void;
|
||||
}
|
||||
|
||||
interface FeatureCardProps {
|
||||
text: string;
|
||||
}
|
||||
|
||||
// Futuristic geometric background
|
||||
const BackgroundEffect = memo(function BackgroundEffect() {
|
||||
return (
|
||||
<div className="absolute inset-0 overflow-hidden">
|
||||
{/* Base gradient */}
|
||||
<div className="absolute inset-0 bg-gradient-to-br from-gray-50 via-gray-100 to-gray-200" />
|
||||
|
||||
{/* Geometric patterns */}
|
||||
<div className="absolute inset-0 opacity-5">
|
||||
<div className="absolute top-0 left-0 w-full h-full">
|
||||
{Array.from({ length: 5 }).map((_, i) => (
|
||||
<div
|
||||
key={i}
|
||||
className="absolute transform -translate-x-1/2 -translate-y-1/2"
|
||||
style={{
|
||||
left: `${Math.random() * 100}%`,
|
||||
top: `${Math.random() * 100}%`,
|
||||
width: `${Math.random() * 300 + 100}px`,
|
||||
height: `${Math.random() * 300 + 100}px`,
|
||||
border: '2px solid rgba(0,0,0,1)',
|
||||
transform: `rotate(${Math.random() * 360}deg)`,
|
||||
}}
|
||||
>
|
||||
<Hexagon className="w-full h-full stroke-current opacity-40" />
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Modern gradient orbs */}
|
||||
<div className="absolute top-0 right-0 w-[500px] h-[500px] bg-gradient-to-br from-gray-200/40 to-transparent rounded-full blur-3xl transform rotate-12 opacity-60" />
|
||||
<div className="absolute bottom-0 left-0 w-[500px] h-[500px] bg-gradient-to-tr from-gray-200/40 to-transparent rounded-full blur-3xl transform -rotate-12 opacity-60" />
|
||||
</div>
|
||||
);
|
||||
});
|
||||
|
||||
// Enhanced loading animation
|
||||
const LoadingSpinner = memo(function LoadingSpinner() {
|
||||
return (
|
||||
<div className="min-h-screen flex items-center justify-center bg-gradient-to-br from-gray-50 via-gray-50 to-gray-50">
|
||||
<div className="relative">
|
||||
<div className="absolute inset-0 border-2 border-gray-800/20 rounded-lg blur animate-pulse" />
|
||||
<div className="relative flex items-center justify-center w-16 h-16">
|
||||
<div className="absolute w-full h-full border-t-2 border-gray-800 rounded-full animate-spin" />
|
||||
<div className="absolute w-10 h-10 border-t-2 border-gray-800/50 rounded-full animate-spin-slow" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
});
|
||||
|
||||
// Enhanced button with modern hover effects
|
||||
const LoginButton = memo(function LoginButton({ icon: Icon, text, onClick }: LoginButtonProps) {
|
||||
return (
|
||||
<button
|
||||
onClick={onClick}
|
||||
className="group relative w-full flex items-center justify-between px-6 py-4 rounded-xl
|
||||
bg-gradient-to-r from-gray-700/90 to-gray-600/90 hover:from-gray-800 hover:to-gray-700
|
||||
text-white transform transition-all duration-300
|
||||
hover:shadow-[0_0_20px_rgba(0,0,0,0.1)] hover:scale-[1.01]"
|
||||
>
|
||||
<div className="absolute inset-px rounded-[11px] bg-gradient-to-r from-white/[0.08] to-transparent opacity-0 group-hover:opacity-100 transition-opacity" />
|
||||
|
||||
<div className="flex items-center space-x-3 z-10">
|
||||
<div className="p-1 rounded-lg bg-white/10">
|
||||
<Icon className="w-4 h-4" />
|
||||
</div>
|
||||
<span className="font-medium tracking-wide">{text}</span>
|
||||
</div>
|
||||
|
||||
<div className="flex items-center z-10">
|
||||
<ArrowRight className="w-5 h-5 transform group-hover:translate-x-1 transition-transform" />
|
||||
</div>
|
||||
</button>
|
||||
);
|
||||
});
|
||||
|
||||
// Modern feature card
|
||||
const FeatureCard = memo(function FeatureCard({ text }: FeatureCardProps) {
|
||||
return (
|
||||
<div className="relative group">
|
||||
<div className="absolute inset-0 bg-gradient-to-r from-gray-600/20 to-gray-500/20 rounded-xl blur-sm transform transition-all duration-300 group-hover:scale-105 opacity-0 group-hover:opacity-100" />
|
||||
<div className="relative p-4 rounded-xl bg-white/[0.03] border border-white/10 backdrop-blur-sm
|
||||
transform transition-all duration-300">
|
||||
<p className="text-sm text-gray-600 font-medium">{text}</p>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
});
|
||||
|
||||
const LoginContent = memo(function LoginContent() {
|
||||
const router = useRouter();
|
||||
const [isLoading, setIsLoading] = useState(true);
|
||||
const privy = usePrivy();
|
||||
|
||||
const handleLogin = useCallback(() => privy.login(), [privy]);
|
||||
// const handleWalletConnect = useCallback(() => privy.connectWallet(), [privy]);
|
||||
|
||||
useEffect(() => {
|
||||
if (privy?.ready) {
|
||||
setIsLoading(false);
|
||||
if (privy.authenticated) {
|
||||
localStorage.setItem('useremail', privy.user?.email?.address ?? "Guest");
|
||||
Cookies.set('privy-authenticated', 'true', { path: '/', expires: 1 });
|
||||
router.push('/dashboard');
|
||||
}
|
||||
}
|
||||
}, [privy.ready, privy.authenticated, router]);
|
||||
|
||||
if (isLoading) return <LoadingSpinner />;
|
||||
|
||||
return (
|
||||
<main className="min-h-screen relative overflow-hidden">
|
||||
<BackgroundEffect />
|
||||
|
||||
<div className="relative min-h-screen flex items-center justify-center p-4">
|
||||
<div className="w-full max-w-md">
|
||||
<div className="relative p-8 rounded-2xl overflow-hidden">
|
||||
{/* Card backdrop blur effect */}
|
||||
<div className="absolute inset-0 bg-white/40 backdrop-blur-xl rounded-2xl" />
|
||||
|
||||
{/* Content */}
|
||||
<div className="relative">
|
||||
<div className="text-center mb-10">
|
||||
<h1 className="text-5xl font-bold text-transparent bg-clip-text bg-gradient-to-b from-gray-800 to-gray-600 mb-3">
|
||||
ALMAZE
|
||||
</h1>
|
||||
<div className="flex items-center justify-center gap-3 text-gray-500">
|
||||
<span className="w-2 h-2 rounded-full bg-gray-400" />
|
||||
<span className="text-lg tracking-wide">Secure</span>
|
||||
<span className="w-2 h-2 rounded-full bg-gray-400" />
|
||||
<span className="text-lg tracking-wide">Seamless</span>
|
||||
<span className="w-2 h-2 rounded-full bg-gray-400" />
|
||||
<span className="text-lg tracking-wide">Smart</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="space-y-4 mb-8">
|
||||
<LoginButton
|
||||
icon={Mail}
|
||||
text="Continue with ALMAZE"
|
||||
onClick={handleLogin}
|
||||
/>
|
||||
{/* <LoginButton
|
||||
icon={Wallet}
|
||||
text="Connect Wallet"
|
||||
onClick={handleWalletConnect}
|
||||
/> */}
|
||||
</div>
|
||||
|
||||
<div className="text-center">
|
||||
<p className="text-gray-500 text-sm">
|
||||
By continuing, you agree to our{' '}
|
||||
<a href="#" className="text-gray-700 hover:text-gray-900 underline underline-offset-4 transition-colors">
|
||||
Terms of Service
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="mt-8 grid grid-cols-3 gap-4">
|
||||
<FeatureCard text="Secure Storage" />
|
||||
<FeatureCard text="Fast Transactions" />
|
||||
<FeatureCard text="24/7 Support" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
);
|
||||
});
|
||||
|
||||
const Home = memo(function Home() {
|
||||
return (
|
||||
<Providers>
|
||||
<LoginContent />
|
||||
</Providers>
|
||||
);
|
||||
});
|
||||
|
||||
export default Home;
|
@ -371,32 +371,32 @@ function DashboardContent() {
|
||||
<IntegrationButton
|
||||
Icon={Compass}
|
||||
label="COMPASS"
|
||||
color="#F3BA2F"
|
||||
onClick={() => {}}
|
||||
color="#1DA2FF"
|
||||
onClick={() => setInput("How Almaze actually works?")}
|
||||
/>
|
||||
<IntegrationButton
|
||||
Icon={Landmark}
|
||||
label="ARCHITECT"
|
||||
color="#FFBA17"
|
||||
onClick={() => {}}
|
||||
onClick={() => setInput("Help me design a learning path for becoming a full-stack developer")}
|
||||
/>
|
||||
<IntegrationButton
|
||||
Icon={Wrench}
|
||||
label="TOOLSMITH"
|
||||
color="#FF5C3D"
|
||||
onClick={() => {}}
|
||||
onClick={() => setInput("What tools and resources would you recommend for learning data science?")}
|
||||
/>
|
||||
<IntegrationButton
|
||||
Icon={ScanSearch}
|
||||
label="SCOUT"
|
||||
color="#9700F4"
|
||||
onClick={() => {}}
|
||||
onClick={() => setInput("What are the latest trends in artificial intelligence and machine learning?")}
|
||||
/>
|
||||
<IntegrationButton
|
||||
Icon={Computer}
|
||||
label="TECHSAGE"
|
||||
color="#8FBC8F"
|
||||
onClick={() => {}}
|
||||
onClick={() => setInput("Create an HTML/CSS template for a responsive portfolio website")}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@ -423,17 +423,17 @@ function DashboardContent() {
|
||||
<motion.div
|
||||
animate={{ scale: [1, 1.2, 1] }}
|
||||
transition={{ repeat: Infinity, duration: 1 }}
|
||||
className="w-2 h-2 bg-[#F3BA2F] rounded-full"
|
||||
className="w-2 h-2 bg-blue-500 rounded-full"
|
||||
/>
|
||||
<motion.div
|
||||
animate={{ scale: [1, 1.2, 1] }}
|
||||
transition={{ repeat: Infinity, duration: 1, delay: 0.2 }}
|
||||
className="w-2 h-2 bg-[#F3BA2F] rounded-full"
|
||||
className="w-2 h-2 bg-blue-400 rounded-full"
|
||||
/>
|
||||
<motion.div
|
||||
animate={{ scale: [1, 1.2, 1] }}
|
||||
transition={{ repeat: Infinity, duration: 1, delay: 0.4 }}
|
||||
className="w-2 h-2 bg-[#F3BA2F] rounded-full"
|
||||
className="w-2 h-2 bg-blue-300 rounded-full"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@ -445,7 +445,7 @@ function DashboardContent() {
|
||||
className="text-center"
|
||||
>
|
||||
<motion.p
|
||||
className="text-[#F3BA2F] text-sm font-offbit"
|
||||
className="text-[#1DA2FF] text-sm font-offbit"
|
||||
animate={{ opacity: [0.5, 1, 0.5] }}
|
||||
transition={{
|
||||
duration: 2,
|
||||
|
@ -2,7 +2,8 @@
|
||||
|
||||
import { PrivyProvider } from '@privy-io/react-auth';
|
||||
import { ReactNode , useEffect } from 'react';
|
||||
import {toSolanaWalletConnectors} from '@privy-io/react-auth/solana';
|
||||
// Replace this with any of the networks listed at https://github.com/wevm/viem/blob/main/src/chains/index.ts
|
||||
import {bsc} from 'viem/chains';
|
||||
|
||||
export function Providers({ children }: { children: ReactNode }) {
|
||||
useEffect(() => {
|
||||
@ -10,12 +11,6 @@ export function Providers({ children }: { children: ReactNode }) {
|
||||
localStorage.removeItem('privy:embedded-wallet:ready');
|
||||
}, []);
|
||||
|
||||
const solanaConnectors = toSolanaWalletConnectors({
|
||||
// By default, shouldAutoConnect is enabled
|
||||
shouldAutoConnect: true,
|
||||
});
|
||||
|
||||
|
||||
return (
|
||||
<PrivyProvider
|
||||
appId={process.env.NEXT_PUBLIC_PRIVY_APP_ID || ''}
|
||||
@ -25,15 +20,8 @@ export function Providers({ children }: { children: ReactNode }) {
|
||||
"theme":"#FFFFFF",
|
||||
"showWalletLoginFirst": false,
|
||||
"logo": "https://auth.privy.io/logos/privy-logo.png",
|
||||
"walletChainType": 'solana-only',
|
||||
"walletList": [
|
||||
"phantom"
|
||||
]
|
||||
},
|
||||
"externalWallets": {
|
||||
"solana": {
|
||||
"connectors": solanaConnectors,
|
||||
},
|
||||
"walletChainType": 'ethereum-only',
|
||||
"walletList": ['metamask', 'wallet_connect', 'coinbase_wallet', 'rabby_wallet', 'cryptocom','safe']
|
||||
},
|
||||
"loginMethods": [
|
||||
"email",
|
||||
@ -46,7 +34,9 @@ export function Providers({ children }: { children: ReactNode }) {
|
||||
},
|
||||
"mfa": {
|
||||
"noPromptOnMfaRequired": false
|
||||
}
|
||||
},
|
||||
defaultChain: bsc,
|
||||
supportedChains: [bsc]
|
||||
}}
|
||||
>
|
||||
{children}
|
||||
|
169
package-lock.json
generated
169
package-lock.json
generated
@ -34,7 +34,8 @@
|
||||
"tailwind-merge": "^2.6.0",
|
||||
"tailwindcss-animate": "^1.0.7",
|
||||
"three": "^0.172.0",
|
||||
"uuid": "^11.0.5"
|
||||
"uuid": "^11.0.5",
|
||||
"viem": "^2.23.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/js-cookie": "^3.0.6",
|
||||
@ -51,7 +52,8 @@
|
||||
"node_modules/@adraffy/ens-normalize": {
|
||||
"version": "1.11.0",
|
||||
"resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.11.0.tgz",
|
||||
"integrity": "sha512-/3DDPKHqqIqxUULp8yP4zODUY1i+2xvVWsv8A79xGWdCAG+8sb0hRh0Rk2QyOJUnnbyPUAZYcpBuRe3nS2OIUg=="
|
||||
"integrity": "sha512-/3DDPKHqqIqxUULp8yP4zODUY1i+2xvVWsv8A79xGWdCAG+8sb0hRh0Rk2QyOJUnnbyPUAZYcpBuRe3nS2OIUg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@ai-sdk/provider": {
|
||||
"version": "1.0.4",
|
||||
@ -1601,11 +1603,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@noble/curves": {
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.8.0.tgz",
|
||||
"integrity": "sha512-j84kjAbzEnQHaSIhRPUmB3/eVXu2k3dKPl2LOrR8fSOIL+89U+7lV117EWHtq/GHM3ReGHM46iRBdZfpc4HRUQ==",
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.8.1.tgz",
|
||||
"integrity": "sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@noble/hashes": "1.7.0"
|
||||
"@noble/hashes": "1.7.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^14.21.3 || >=16"
|
||||
@ -1615,9 +1618,10 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@noble/hashes": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.0.tgz",
|
||||
"integrity": "sha512-HXydb0DgzTpDPwbVeDGCG1gIu7X6+AuU6Zl6av/E/KG8LMsvPntvq+w17CHRpKBmN6Ybdrt1eP3k4cj8DJa78w==",
|
||||
"version": "1.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.1.tgz",
|
||||
"integrity": "sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": "^14.21.3 || >=16"
|
||||
},
|
||||
@ -4330,9 +4334,10 @@
|
||||
"integrity": "sha512-x+BLw/opaz9LiVyrMsP75nO1Rg0QfrACUYIbVSfGwY/w0DiWIPYYrpte6us//KZXinxFAOJl0+C17L1Vi2vmDw=="
|
||||
},
|
||||
"node_modules/abitype": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/abitype/-/abitype-1.0.7.tgz",
|
||||
"integrity": "sha512-ZfYYSktDQUwc2eduYu8C4wOs+RDPmnRYMh7zNfzeMtGGgb0U+6tLGjixUic6mXf5xKKCcgT5Qp6cv39tOARVFw==",
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/abitype/-/abitype-1.0.8.tgz",
|
||||
"integrity": "sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/wevm"
|
||||
},
|
||||
@ -9512,15 +9517,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/ox": {
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/ox/-/ox-0.6.0.tgz",
|
||||
"integrity": "sha512-blUzTLidvUlshv0O02CnLFqBLidNzPoAZdIth894avUAotTuWziznv6IENv5idRuOSSP3dH8WzcYw84zVdu0Aw==",
|
||||
"version": "0.6.7",
|
||||
"resolved": "https://registry.npmjs.org/ox/-/ox-0.6.7.tgz",
|
||||
"integrity": "sha512-17Gk/eFsFRAZ80p5eKqv89a57uXjd3NgIf1CaXojATPBuujVc/fQSVhBeAU9JCRB+k7J50WQAyWTxK19T9GgbA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/wevm"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@adraffy/ens-normalize": "^1.10.1",
|
||||
"@noble/curves": "^1.6.0",
|
||||
@ -9540,33 +9546,36 @@
|
||||
}
|
||||
},
|
||||
"node_modules/ox/node_modules/@scure/base": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.1.tgz",
|
||||
"integrity": "sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==",
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.4.tgz",
|
||||
"integrity": "sha512-5Yy9czTO47mqz+/J8GM6GIId4umdCk1wc1q8rKERQulIoc8VP9pzDcghv10Tl2E7R96ZUx/PhND3ESYUQX8NuQ==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/ox/node_modules/@scure/bip32": {
|
||||
"version": "1.6.1",
|
||||
"resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.6.1.tgz",
|
||||
"integrity": "sha512-jSO+5Ud1E588Y+LFo8TaB8JVPNAZw/lGGao+1SepHDeTs2dFLurdNIAgUuDlwezqEjRjElkCJajVrtrZaBxvaQ==",
|
||||
"version": "1.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.6.2.tgz",
|
||||
"integrity": "sha512-t96EPDMbtGgtb7onKKqxRLfE5g05k7uHnHRM2xdE6BP/ZmxaLtPek4J4KfVn/90IQNrU1IOAqMgiDtUdtbe3nw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@noble/curves": "~1.8.0",
|
||||
"@noble/hashes": "~1.7.0",
|
||||
"@scure/base": "~1.2.1"
|
||||
"@noble/curves": "~1.8.1",
|
||||
"@noble/hashes": "~1.7.1",
|
||||
"@scure/base": "~1.2.2"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/ox/node_modules/@scure/bip39": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.5.1.tgz",
|
||||
"integrity": "sha512-GnlufVSP9UdAo/H2Patfv22VTtpNTyfi+I3qCKpvuB5l1KWzEYx+l2TNpBy9Ksh4xTs3Rn06tBlpWCi/1Vz8gw==",
|
||||
"version": "1.5.4",
|
||||
"resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.5.4.tgz",
|
||||
"integrity": "sha512-TFM4ni0vKvCfBpohoh+/lY05i9gRbSwXWngAsF4CABQxoaOHijxuaZ2R6cStDQ5CHtHO9aGJTr4ksVJASRRyMA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@noble/hashes": "~1.7.0",
|
||||
"@scure/base": "~1.2.1"
|
||||
"@noble/hashes": "~1.7.1",
|
||||
"@scure/base": "~1.2.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
@ -12110,24 +12119,24 @@
|
||||
}
|
||||
},
|
||||
"node_modules/viem": {
|
||||
"version": "2.22.8",
|
||||
"resolved": "https://registry.npmjs.org/viem/-/viem-2.22.8.tgz",
|
||||
"integrity": "sha512-iB3PW/a/qzpYbpjo3R662u6a/zo6piZHez/N/bOC25C79FYXBCs8mQDqwiHk3FYErUhS4KVZLabKV9zGMd+EgQ==",
|
||||
"version": "2.23.2",
|
||||
"resolved": "https://registry.npmjs.org/viem/-/viem-2.23.2.tgz",
|
||||
"integrity": "sha512-NVmW/E0c5crMOtbEAqMF0e3NmvQykFXhLOc/CkLIXOlzHSA6KXVz3CYVmaKqBF8/xtjsjHAGjdJN3Ru1kFJLaA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/wevm"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@noble/curves": "1.7.0",
|
||||
"@noble/hashes": "1.6.1",
|
||||
"@scure/bip32": "1.6.0",
|
||||
"@scure/bip39": "1.5.0",
|
||||
"abitype": "1.0.7",
|
||||
"@noble/curves": "1.8.1",
|
||||
"@noble/hashes": "1.7.1",
|
||||
"@scure/bip32": "1.6.2",
|
||||
"@scure/bip39": "1.5.4",
|
||||
"abitype": "1.0.8",
|
||||
"isows": "1.0.6",
|
||||
"ox": "0.6.0",
|
||||
"webauthn-p256": "0.0.10",
|
||||
"ox": "0.6.7",
|
||||
"ws": "8.18.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
@ -12139,70 +12148,37 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/viem/node_modules/@noble/curves": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.7.0.tgz",
|
||||
"integrity": "sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==",
|
||||
"dependencies": {
|
||||
"@noble/hashes": "1.6.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^14.21.3 || >=16"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/viem/node_modules/@noble/curves/node_modules/@noble/hashes": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.0.tgz",
|
||||
"integrity": "sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==",
|
||||
"engines": {
|
||||
"node": "^14.21.3 || >=16"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/viem/node_modules/@noble/hashes": {
|
||||
"version": "1.6.1",
|
||||
"resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.1.tgz",
|
||||
"integrity": "sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==",
|
||||
"engines": {
|
||||
"node": "^14.21.3 || >=16"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/viem/node_modules/@scure/base": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.1.tgz",
|
||||
"integrity": "sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==",
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.4.tgz",
|
||||
"integrity": "sha512-5Yy9czTO47mqz+/J8GM6GIId4umdCk1wc1q8rKERQulIoc8VP9pzDcghv10Tl2E7R96ZUx/PhND3ESYUQX8NuQ==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/viem/node_modules/@scure/bip32": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.6.0.tgz",
|
||||
"integrity": "sha512-82q1QfklrUUdXJzjuRU7iG7D7XiFx5PHYVS0+oeNKhyDLT7WPqs6pBcM2W5ZdwOwKCwoE1Vy1se+DHjcXwCYnA==",
|
||||
"version": "1.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.6.2.tgz",
|
||||
"integrity": "sha512-t96EPDMbtGgtb7onKKqxRLfE5g05k7uHnHRM2xdE6BP/ZmxaLtPek4J4KfVn/90IQNrU1IOAqMgiDtUdtbe3nw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@noble/curves": "~1.7.0",
|
||||
"@noble/hashes": "~1.6.0",
|
||||
"@scure/base": "~1.2.1"
|
||||
"@noble/curves": "~1.8.1",
|
||||
"@noble/hashes": "~1.7.1",
|
||||
"@scure/base": "~1.2.2"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/viem/node_modules/@scure/bip39": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.5.0.tgz",
|
||||
"integrity": "sha512-Dop+ASYhnrwm9+HA/HwXg7j2ZqM6yk2fyLWb5znexjctFY3+E+eU8cIWI0Pql0Qx4hPZCijlGq4OL71g+Uz30A==",
|
||||
"version": "1.5.4",
|
||||
"resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.5.4.tgz",
|
||||
"integrity": "sha512-TFM4ni0vKvCfBpohoh+/lY05i9gRbSwXWngAsF4CABQxoaOHijxuaZ2R6cStDQ5CHtHO9aGJTr4ksVJASRRyMA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@noble/hashes": "~1.6.0",
|
||||
"@scure/base": "~1.2.1"
|
||||
"@noble/hashes": "~1.7.1",
|
||||
"@scure/base": "~1.2.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
@ -12456,21 +12432,6 @@
|
||||
"node": ">=8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/webauthn-p256": {
|
||||
"version": "0.0.10",
|
||||
"resolved": "https://registry.npmjs.org/webauthn-p256/-/webauthn-p256-0.0.10.tgz",
|
||||
"integrity": "sha512-EeYD+gmIT80YkSIDb2iWq0lq2zbHo1CxHlQTeJ+KkCILWpVy3zASH3ByD4bopzfk0uCwXxLqKGLqp2W4O28VFA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/wevm"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"@noble/curves": "^1.4.0",
|
||||
"@noble/hashes": "^1.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/webidl-conversions": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
||||
|
@ -35,7 +35,8 @@
|
||||
"tailwind-merge": "^2.6.0",
|
||||
"tailwindcss-animate": "^1.0.7",
|
||||
"three": "^0.172.0",
|
||||
"uuid": "^11.0.5"
|
||||
"uuid": "^11.0.5",
|
||||
"viem": "^2.23.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/js-cookie": "^3.0.6",
|
||||
|
Loading…
x
Reference in New Issue
Block a user