diff --git a/.gitmodules b/.gitmodules index 3ae9abb..e69de29 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +0,0 @@ -[submodule "mini-app"] - path = mini-app - url = https://sirgawain0x@github.com/creativeplatform/mini-app-tv.git diff --git a/app/api/coinbase/session-token/route.ts b/app/api/coinbase/session-token/route.ts new file mode 100644 index 0000000..da11090 --- /dev/null +++ b/app/api/coinbase/session-token/route.ts @@ -0,0 +1,42 @@ +// app/api/coinbase/session-token/route.ts +import { NextRequest, NextResponse } from "next/server"; + +export async function POST(req: NextRequest) { + const { address, assets } = await req.json(); + + if (!address) { + return NextResponse.json({ error: "Missing address" }, { status: 400 }); + } + + // Prepare the request body for Coinbase + const body = { + addresses: [ + { + address, + blockchains: ["base"], // or more if needed + }, + ], + assets: assets || ["USDC"], + }; + + // Call Coinbase Session Token API + const coinbaseRes = await fetch( + "https://api.developer.coinbase.com/onramp/v1/token", + { + method: "POST", + headers: { + "Content-Type": "application/json", + "CDP-API-KEY": process.env.COINBASE_CDP_API_KEY as string, + }, + body: JSON.stringify(body), + } + ); + + if (!coinbaseRes.ok) { + const error = await coinbaseRes.text(); + return NextResponse.json({ error }, { status: 500 }); + } + + const data = await coinbaseRes.json(); + return NextResponse.json({ sessionToken: data.sessionToken }); +} diff --git a/app/apolloWrapper.tsx b/app/apolloWrapper.tsx index d473bdd..f37c95d 100644 --- a/app/apolloWrapper.tsx +++ b/app/apolloWrapper.tsx @@ -6,12 +6,12 @@ import { ApolloClient, InMemoryCache } from "@apollo/client-integration-nextjs"; // have a function to create a client for you export function makeClient() { - if (!process.env.NEXT_PUBLIC_API_URL) - throw new Error("NEXT_PUBLIC_API_URL is not defined"); + if (!process.env.NEXT_PUBLIC_SNAPSHOT_API_URL) + throw new Error("Snapshot URL is not defined"); const httpLink = new HttpLink({ // this needs to be an absolute url, as relative urls cannot be used in SSR - uri: `${process.env.NEXT_PUBLIC_API_URL}/graphql`, + uri: `${process.env.NEXT_PUBLIC_SNAPSHOT_API_URL}/graphql`, // you can disable result caching here if you want to // (this does not work if you are rendering your page with `export const dynamic = "force-static"`) fetchOptions: { diff --git a/app/layout.tsx b/app/layout.tsx index 86b8b20..0a1c206 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -33,7 +33,7 @@ export const metadata: Metadata = { card: "summary_large_image", title: "Creative TV", description: "The Way Content Should Be.", - images: ["https://tv.creativeplatform.xyz/logo-tv.gif"], + images: ["https://tv.creativeplatform.xyz/creative-banner.png"], }, }; diff --git a/components/Navbar.tsx b/components/Navbar.tsx index e06da6b..87371dc 100644 --- a/components/Navbar.tsx +++ b/components/Navbar.tsx @@ -41,7 +41,7 @@ import useModularAccount from "@/lib/hooks/accountkit/useModularAccount"; import { createPublicClient, http } from "viem"; import { alchemy, mainnet, base, optimism } from "@account-kit/infra"; import { ArrowBigDown, ArrowBigUp } from "lucide-react"; -import WertButton from "./wallet/buy/fund-button"; +import WertFundButton from "./wallet/buy/wert-fund-button"; import { TokenBalance } from "./wallet/balance/TokenBalance"; import type { Chain as ViemChain } from "viem/chains"; import { AccountDropdown } from "@/components/account-dropdown/AccountDropdown"; @@ -309,7 +309,7 @@ export default function Navbar() {

Buy Crypto

Purchase crypto directly to your wallet.

- setIsDialogOpen(false)} /> +
diff --git a/components/Videos/Upload/Create-thumbnail.tsx b/components/Videos/Upload/Create-thumbnail.tsx index 709c750..966349d 100644 --- a/components/Videos/Upload/Create-thumbnail.tsx +++ b/components/Videos/Upload/Create-thumbnail.tsx @@ -15,6 +15,7 @@ import CreateThumbnailForm from "./CreateThumbnailForm"; import { toast } from "sonner"; import { NFTConfig } from "@/lib/types/video-asset"; import { Skeleton } from "@/components/ui/skeleton"; +import { Progress } from "@/components/ui/progress"; type CreateThumbnailProps = { livePeerAssetId: string | undefined; @@ -100,6 +101,8 @@ export default function CreateThumbnail({ thumbnailUri: selectedThumbnail, nftConfig: nftConfig, }); + } else { + toast.error("Please select a thumbnail before submitting."); } }; @@ -112,6 +115,27 @@ export default function CreateThumbnail({

Video Transcoding: {String(livepeerAssetData?.status?.phase)}

+ {livepeerAssetData?.status?.phase !== "ready" && + livepeerAssetData?.status?.phase !== "failed" && + typeof livepeerAssetData?.status?.progress === "number" && ( +
+ 1 + ? livepeerAssetData.status.progress + : livepeerAssetData.status.progress * 100 + } + /> +
+ {Math.round( + livepeerAssetData.status.progress > 1 + ? livepeerAssetData.status.progress + : livepeerAssetData.status.progress * 100 + )} + % +
+
+ )}
{livepeerAssetData?.status?.phase !== "ready" && (
@@ -134,7 +158,10 @@ export default function CreateThumbnail({
{ - handleComplete(thumbnailUri); + setSelectedThumbnail(thumbnailUri); + }} + onNFTConfigChange={(config: NFTConfig) => { + setNFTConfig(config); }} /> diff --git a/components/Videos/Upload/CreateThumbnailForm.tsx b/components/Videos/Upload/CreateThumbnailForm.tsx index d838424..a6002d9 100644 --- a/components/Videos/Upload/CreateThumbnailForm.tsx +++ b/components/Videos/Upload/CreateThumbnailForm.tsx @@ -33,12 +33,19 @@ interface FormValues { selectedImage: string; } -type CreateThumbnailFormProps = { +interface CreateThumbnailFormProps { onSelectThumbnailImages: (imageUrl: string) => void; -}; + onNFTConfigChange?: (nftConfig: { + isMintable: boolean; + maxSupply: number; + price: number; + royaltyPercentage: number; + }) => void; +} const CreateThumbnailForm = ({ onSelectThumbnailImages, + onNFTConfigChange, }: CreateThumbnailFormProps) => { const { handleSubmit, @@ -112,9 +119,32 @@ const CreateThumbnailForm = ({ console.log("Updated imagesUrl state:", imagesUrl); }, [imagesUrl]); + // Watch NFT config and notify parent on change + useEffect(() => { + if (!onNFTConfigChange) return; + const subscription = watch((value, { name }) => { + const config = value.nftConfig; + if ( + (name === "nftConfig" || name?.startsWith("nftConfig.")) && + config && + typeof config.isMintable === "boolean" && + typeof config.maxSupply === "number" && + typeof config.price === "number" && + typeof config.royaltyPercentage === "number" + ) + onNFTConfigChange({ + isMintable: config.isMintable, + maxSupply: config.maxSupply, + price: config.price, + royaltyPercentage: config.royaltyPercentage, + }); + }); + return () => subscription.unsubscribe(); + }, [onNFTConfigChange, watch]); + const handleSelectionChange = (value: string) => { setSelectedImage(value); - onSelectThumbnailImages(value); + onSelectThumbnailImages(value); // Only update selection, do not trigger navigation }; const radioValue = watch("selectedImage") ?? ""; @@ -183,6 +213,62 @@ const CreateThumbnailForm = ({ /> {errors.prompt &&

{errors.prompt.message}

} + {/* Move Generate button and image results here */} + + + {errors["root"] && ( +

+ Sorry, we couldn’t generate your image from text. Please try + again. +

+ )} + + {/* Render Skeletons while loading */} + {loading ? ( +
+ {Array.from({ length: 4 }).map((_, idx) => ( + + ))} +
+ ) : ( + { + setValue("selectedImage", value); + handleSelectionChange(value); + }} + className="mt-4 grid grid-cols-2 gap-4 md:grid-cols-3 lg:grid-cols-4" + > + {imagesUrl.length === 0 && ( +

+ No images generated yet. +

+ )} + {imagesUrl.map((img, idx) => ( +
+ + +
+ ))} +
+ )} + + {/* NFT Configuration section moved below */}

NFT Configuration

@@ -277,57 +363,6 @@ const CreateThumbnailForm = ({
)} - - - - {errors["root"] && ( -

{errors["root"].message}

- )} - - {/* Render Skeletons while loading */} - {loading ? ( -
- {Array.from({ length: 4 }).map((_, idx) => ( - - ))} -
- ) : ( - { - setValue("selectedImage", value); - handleSelectionChange(value); - }} - className="mt-4 grid grid-cols-2 gap-4 md:grid-cols-3 lg:grid-cols-4" - > - {imagesUrl.length === 0 && ( -

- No images generated yet. -

- )} - {imagesUrl.map((img, idx) => ( -
- - -
- ))} -
- )} ); }; diff --git a/components/Videos/Upload/CreateThumbnailWrapper.tsx b/components/Videos/Upload/CreateThumbnailWrapper.tsx index 7785d6d..101133c 100644 --- a/components/Videos/Upload/CreateThumbnailWrapper.tsx +++ b/components/Videos/Upload/CreateThumbnailWrapper.tsx @@ -1,6 +1,6 @@ -'use client'; +"use client"; -import CreateThumbnail from './Create-thumbnail'; +import CreateThumbnail from "./Create-thumbnail"; export default function CreateThumbnailWrapper(props: any) { return ; diff --git a/components/Videos/Upload/FileUpload.tsx b/components/Videos/Upload/FileUpload.tsx index 947d1d5..2942472 100644 --- a/components/Videos/Upload/FileUpload.tsx +++ b/components/Videos/Upload/FileUpload.tsx @@ -2,7 +2,10 @@ import React, { useState } from "react"; import { toast } from "sonner"; import { CopyIcon } from "lucide-react"; -import { getLivepeerUploadUrl } from "@/app/api/livepeer/assetUploadActions"; +import { + getLivepeerUploadUrl, + getLivepeerAsset, +} from "@/app/api/livepeer/assetUploadActions"; import * as tus from "tus-js-client"; import PreviewVideo from "./PreviewVideo"; import { useUser } from "@account-kit/react"; @@ -16,6 +19,7 @@ import { import JsGoogleTranslateFree from "@kreisler/js-google-translate-free"; import { getLivepeerAudioToText } from "@/app/api/livepeer/audioToText"; import Link from "next/link"; +import { updateVideoAsset } from "@/services/video-assets"; const truncateUri = (uri: string): string => { if (uri.length <= 30) return uri; @@ -43,8 +47,7 @@ const translateText = async ( language: string ): Promise => { try { - const baseUrl = - process.env.NEXT_PUBLIC_THIRDWEB_AUTH_DOMAIN || "http://localhost:3000"; + const baseUrl = process.env.NEXT_PUBLIC_URL || "http://localhost:3000"; const res = await fetch(`${baseUrl}/api/livepeer/subtitles/translation`, { method: "POST", body: JSON.stringify({ @@ -129,6 +132,21 @@ async function translateSubtitles(data: { ); } +async function pollForMetadataUri( + assetId: string, + maxAttempts = 20, + interval = 5000 +) { + for (let attempt = 0; attempt < maxAttempts; attempt++) { + const asset = await getLivepeerAsset(assetId); + const metadataUri = asset?.storage?.ipfs?.nftMetadata?.url; + const isReady = asset?.status?.phase === "ready"; + if (metadataUri && isReady) return metadataUri; + await new Promise((res) => setTimeout(res, interval)); + } + throw new Error("Timed out waiting for metadata_uri"); +} + const FileUpload: React.FC = ({ onFileSelect, onFileUploaded, @@ -151,6 +169,7 @@ const FileUpload: React.FC = ({ useState(false); const [livepeerAsset, setLivepeerAsset] = useState(); + const [isPolling, setIsPolling] = useState(false); const user = useUser(); const account = userToAccount(user); @@ -263,6 +282,27 @@ const FileUpload: React.FC = ({ } }; + async function handlePostUploadDbUpdate(assetId: string, dbAssetId: number) { + setIsPolling(true); + try { + const metadataUri = await pollForMetadataUri(assetId); + await updateVideoAsset(dbAssetId, { + metadata_uri: metadataUri, + thumbnailUri: "", // update as needed + status: "ready", + max_supply: null, + price: null, + royalty_percentage: null, + }); + toast.success("Database updated with metadata URI!"); + } catch (err) { + toast.error("Failed to update database with metadata URI"); + console.error(err); + } finally { + setIsPolling(false); + } + } + if (!account) { return (
@@ -441,6 +481,12 @@ const FileUpload: React.FC = ({ )}
+ + {isPolling && ( +
+ Processing video and syncing metadata... +
+ )} ); diff --git a/components/Videos/Upload/index.tsx b/components/Videos/Upload/index.tsx index 1259ea8..f15c391 100644 --- a/components/Videos/Upload/index.tsx +++ b/components/Videos/Upload/index.tsx @@ -6,11 +6,10 @@ import { useRouter } from "next/navigation"; import { FaExclamationTriangle } from "react-icons/fa"; import { toast } from "sonner"; -import { useAccount } from "@account-kit/react"; import { Asset } from "livepeer/models/components"; import { StepperFormValues } from "@/lib/types/hook-stepper"; -import { useOrbisContext } from "@/lib/sdk/orbisDB/context"; +// import { useOrbisContext } from "@/lib/sdk/orbisDB/context"; import StepperIndicator from "@/components/Videos/Upload/Stepper-Indicator"; import FileUpload from "@/components/Videos/Upload/FileUpload"; import CreateInfo from "@/components/Videos/Upload/Create-info"; @@ -21,15 +20,15 @@ import { AssetMetadata, createAssetMetadata, } from "@/lib/sdk/orbisDB/models/AssetMetadata"; -import { stack } from "@/lib/sdk/stack/stackClient"; -import { db } from "@/lib/sdk/orbisDB/client"; import { updateVideoAssetMintingStatus, updateVideoAsset, } from "@/services/video-assets"; import { createVideoAsset } from "@/services/video-assets"; import type { VideoAsset } from "@/lib/types/video-asset"; -import { useUniversalAccount } from "@/lib/hooks/accountkit/useUniversalAccount"; +// import { useUniversalAccount } from "@/lib/hooks/accountkit/useUniversalAccount"; +import { useSmartAccountClient } from "@account-kit/react"; +import { getLivepeerAsset } from "@/app/api/livepeer/assetUploadActions"; const HookMultiStepForm = () => { const [activeStep, setActiveStep] = useState(1); @@ -45,9 +44,9 @@ const HookMultiStepForm = () => { const [thumbnailUri, setThumbnailUri] = useState(); const [dbAssetId, setDbAssetId] = useState(null); const [videoAsset, setVideoAsset] = useState(null); - const { isConnected } = useOrbisContext(); - const { address, type, loading } = useUniversalAccount(); + // const { address, type, loading } = useUniversalAccount(); + const { address } = useSmartAccountClient({}); const router = useRouter(); @@ -147,10 +146,10 @@ const HookMultiStepForm = () => { }) => { setThumbnailUri(data.thumbnailUri); + // Ensure all required data is present if (!livepeerAsset || !metadata) { - throw new Error( - "Error saving assetMetadata: Missing asset metadata" - ); + toast.error("Missing asset metadata. Please try again."); + return; } if (!address) { @@ -159,25 +158,30 @@ const HookMultiStepForm = () => { } try { - // Update the video asset with thumbnail and NFT config using videoAsset.id + // Fetch the latest Livepeer asset to get the most up-to-date metadata_uri + const latestAsset = await getLivepeerAsset(livepeerAsset.id); + // --- PUBLISH LOGIC --- + // This will set the video asset status to 'published' (or 'mintable' if NFT minting is enabled) await updateVideoAsset(videoAsset?.id as number, { thumbnailUri: data.thumbnailUri, status: data.nftConfig?.isMintable ? "mintable" : "published", max_supply: data.nftConfig?.maxSupply || null, price: data.nftConfig?.price || null, royalty_percentage: data.nftConfig?.royaltyPercentage || null, + metadata_uri: + latestAsset?.storage?.ipfs?.nftMetadata?.url || null, }); // Award points for uploading a video - await stack.track("video_upload", { - account: address, - points: 10, - }); - - const points = await stack.getPoints(address as string); - toast.success("Video uploaded successfully!", { - description: `You earned 10 points! Your total balance is now ${points} points.`, - }); + // await stack.track("video_upload", { + // account: address, + // points: 10, + // }); + + // const points = await stack.getPoints(address as string); + // toast.success("Video uploaded and published successfully!", { + // description: `You earned 10 points! Your total balance is now ${points} points.`, + // }); router.push("/discover"); } catch (error) { diff --git a/components/account-dropdown/AccountDropdown.tsx b/components/account-dropdown/AccountDropdown.tsx index 807264f..469463a 100644 --- a/components/account-dropdown/AccountDropdown.tsx +++ b/components/account-dropdown/AccountDropdown.tsx @@ -73,7 +73,7 @@ import { DialogClose, DialogDescription, } from "@/components/ui/dialog"; -import WertButton from "@/components/wallet/buy/fund-button"; +import WertFundButton from "@/components/wallet/buy/wert-fund-button"; import { LoginButton } from "@/components/auth/LoginButton"; import useModularAccount from "@/lib/hooks/accountkit/useModularAccount"; import { TokenBalance } from "@/components/wallet/balance/TokenBalance"; @@ -537,7 +537,7 @@ export function AccountDropdown() { Purchase crypto directly to your wallet.

- +
); @@ -900,6 +900,31 @@ export function AccountDropdown() { + {/* Wallet Actions Section */} +
+

Wallet Actions

+ handleActionClick("buy")} + className="w-full flex items-center cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors p-3 md:p-2" + > + Buy + + handleActionClick("send")} + className="w-full flex items-center cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors p-3 md:p-2" + > + Send + + handleActionClick("swap")} + className="w-full flex items-center cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors p-3 md:p-2" + > + Swap + +
+ + + {/* Member Access Links */} {isVerified && hasMembership && ( <> diff --git a/components/wallet/buy/cdp-fund-button.tsx b/components/wallet/buy/cdp-fund-button.tsx new file mode 100644 index 0000000..47c1746 --- /dev/null +++ b/components/wallet/buy/cdp-fund-button.tsx @@ -0,0 +1,46 @@ +import { Button } from "@/components/ui/button"; +import { getOnrampBuyUrl } from "@coinbase/onchainkit/fund"; +import { useSmartAccountClient } from "@account-kit/react"; +import { useState } from "react"; + +function CdpFundButton() { + const { address } = useSmartAccountClient({}); + const [isLoading, setIsLoading] = useState(false); + + async function handleFund() { + if (!address) return; + + setIsLoading(true); + // Fetch session token from your backend + const res = await fetch("/api/coinbase/session-token", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ address, assets: ["USDC"] }), + }); + const { sessionToken } = await res.json(); + setIsLoading(false); + + if (!sessionToken) { + alert("Failed to get session token"); + return; + } + + // Generate the Onramp URL with the sessionToken + const onrampBuyUrl = getOnrampBuyUrl({ + sessionToken, + presetFiatAmount: 30, + fiatCurrency: "USD", + redirectUrl: "https://tv.creativeplatform.xyz", + }); + + window.open(onrampBuyUrl, "_blank"); + } + + return ( + + ); +} + +export default CdpFundButton; diff --git a/components/wallet/buy/fund-button.tsx b/components/wallet/buy/fund-button.tsx deleted file mode 100644 index 3d1c604..0000000 --- a/components/wallet/buy/fund-button.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import React from "react"; -import { Button } from "@/components/ui/button"; -import { useWertWidget } from "@wert-io/module-react-component"; -import type { - GeneralOptions, - ReactiveOptions, -} from "@wert-io/module-react-component"; - -/* - In this example we initialize a simple crypto purchase. - If you are looking for the full documentation or the smart contract example, - please refer to https://www.npmjs.com/package/@wert-io/module-react-component -*/ - -interface WertButtonProps { - onClose?: () => void; -} - -const WertButton: React.FC = ({ onClose }) => { - // Here goes the list of all static options. This object is then passed to the open() method - const options: GeneralOptions = { - partner_id: "01FGKYK638SV618KZHAVEY7P79", - origin: "https://sandbox.wert.io", // this option needed only in sandbox - commodity: "ETH", - network: "base_sepolia", - }; - // The reactive options - listeners and theme-related parameters - are passed to the useWertWidget() hook - const [reactiveOptions] = React.useState({ - listeners: { - loaded: () => { - console.log("loaded"); - onClose?.(); - }, - }, - }); - - const { open } = useWertWidget(reactiveOptions); - - return ( - - ); -}; - -export default WertButton; diff --git a/components/wallet/buy/wert-fund-button.tsx b/components/wallet/buy/wert-fund-button.tsx new file mode 100644 index 0000000..0fd32d2 --- /dev/null +++ b/components/wallet/buy/wert-fund-button.tsx @@ -0,0 +1,113 @@ +import { useState } from "react"; +import { useWertWidget } from "@wert-io/module-react-component"; +import type { + GeneralOptions, + ReactiveOptions, +} from "@wert-io/module-react-component"; +import { + useSigner, + useBundlerClient, + useSmartAccountClient, + useUser, + useSignerStatus, + useAuthenticate, +} from "@account-kit/react"; +import { AlchemyWebSigner } from "@account-kit/signer"; +import { Button } from "@/components/ui/button"; +import { v4 as uuidv4 } from "uuid"; + +/* + In this example we initialize a simple crypto purchase. + If you are looking for the full documentation or the smart contract example, + please refer to https://www.npmjs.com/package/@wert-io/module-react-component +*/ + +function WertFundButton() { + const signer: AlchemyWebSigner | null = useSigner(); + const bundlerClient = useBundlerClient(); + const user = useUser(); + const { address } = useSmartAccountClient({}); + const [reactiveOptions] = useState({ + theme: "dark", + listeners: { + loaded: () => console.log("loaded"), + }, + }); + const { open: openWertWidget, isWidgetOpen } = useWertWidget(reactiveOptions); + const signerStatus = useSignerStatus(); + const { authenticateAsync, isPending: isAuthPending } = useAuthenticate(); + const [error, setError] = useState(null); + + async function handleDeposit() { + setError(null); + if (!signer || !address) return; + + // Check authentication status + if (!signerStatus.isConnected) { + try { + await authenticateAsync({ + type: "oauth", + authProviderId: "email", + isCustomProvider: true, + mode: "popup", + }); + } catch (err) { + setError("Authentication failed. Please try again."); + return; + } + // Optionally, re-check isConnected here if needed + if (!signerStatus.isConnected) { + setError("Authentication failed. Please try again."); + return; + } + } + + const chainId = 8453; + const nonce = await bundlerClient.getTransactionCount({ address }); + + const signed = await signer.signAuthorization({ + address, + chainId, + nonce, + }); + + // Concatenate r, s, v to form the signature string + // v is a bigint, so convert to hex and pad if needed + const vHex = Number(signed.v).toString(16).padStart(2, "0"); + const signature = `${signed.r}${signed.s}${vHex}`; + + const options: GeneralOptions = { + partner_id: "01HSD48HCYJH2SNT65S5A0JYPP", + address, + network: "base", + commodity: "usdc", + commodities: JSON.stringify([ + { + commodity: "USDC", + network: "base", + }, + { + commodity: "ETH", + network: "base", + }, + ]), + click_id: uuidv4(), + email: user?.email, + origin: "https://widget.wert.io", + signature, + }; + openWertWidget({ options }); + console.log(isWidgetOpen); + } + + return ( +
+ + {error && {error}} +
+ ); +} + +export default WertFundButton; diff --git a/lib/apollo-server-client.ts b/lib/apollo-server-client.ts index e7ad9d2..1404ef7 100644 --- a/lib/apollo-server-client.ts +++ b/lib/apollo-server-client.ts @@ -1,13 +1,13 @@ import { ApolloClient, InMemoryCache, HttpLink } from "@apollo/client"; export function makeServerClient() { - if (!process.env.NEXT_PUBLIC_API_URL) - throw new Error("NEXT_PUBLIC_API_URL is not defined"); + if (!process.env.NEXT_PUBLIC_SNAPSHOT_API_URL) + throw new Error("Snapshot URL is not defined"); return new ApolloClient({ ssrMode: true, link: new HttpLink({ - uri: `${process.env.NEXT_PUBLIC_API_URL}/graphql`, + uri: `${process.env.NEXT_PUBLIC_SNAPSHOT_API_URL}/graphql`, fetch, }), cache: new InMemoryCache(), diff --git a/lib/contracts/Unlock.json b/lib/contracts/Unlock.json index 2486f83..3acd7ec 100644 --- a/lib/contracts/Unlock.json +++ b/lib/contracts/Unlock.json @@ -1,5 +1,4 @@ { - "address": "0xC9bdfA5f177961D96F137C42241e8EcBCa605781", "abi": [ { "inputs": [], diff --git a/lib/sdk/stack/stackClient.ts b/lib/sdk/stack/stackClient.ts index 34e9d29..230b369 100644 --- a/lib/sdk/stack/stackClient.ts +++ b/lib/sdk/stack/stackClient.ts @@ -1,5 +1,4 @@ import { StackClient } from "@stackso/js-core"; -import crypto from "crypto"; // Initialize the client with custom event ID generation export const stack = new StackClient({ diff --git a/mini-app b/mini-app deleted file mode 160000 index cf9ff7c..0000000 --- a/mini-app +++ /dev/null @@ -1 +0,0 @@ -Subproject commit cf9ff7c4369cd352180e5f3e92763ca16d9e15eb diff --git a/package.json b/package.json index d49b873..9ff1bd6 100644 --- a/package.json +++ b/package.json @@ -11,15 +11,16 @@ "knip": "knip" }, "dependencies": { - "@aa-sdk/core": "^4.14.0", - "@aa-sdk/ethers": "^4.27.0", - "@account-kit/core": "^4.9.0", - "@account-kit/infra": "^4.34.0", - "@account-kit/react": "^4.34.0", - "@account-kit/signer": "^4.14.0", - "@account-kit/smart-contracts": "^4.34.0", + "@aa-sdk/core": "^4.35.0", + "@aa-sdk/ethers": "^4.35.0", + "@account-kit/core": "^4.35.0", + "@account-kit/infra": "^4.35.0", + "@account-kit/react": "^4.35.0", + "@account-kit/signer": "^4.35.0", + "@account-kit/smart-contracts": "^4.35.0", "@apollo/client": "^3.13.8", "@apollo/client-integration-nextjs": "^0.12.2", + "@coinbase/onchainkit": "^0.38.13", "@hookform/resolvers": "^5.0.1", "@kreisler/js-google-translate-free": "^4.0.2", "@livepeer/ai": "^0.6.2", diff --git a/public/sw.js b/public/sw.js index 94b6da3..dd8dfb7 100644 --- a/public/sw.js +++ b/public/sw.js @@ -1 +1 @@ -if(!self.define){let e,s={};const a=(a,c)=>(a=new URL(a+".js",c).href,s[a]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=a,e.onload=s,document.head.appendChild(e)}else e=a,importScripts(a),s()})).then((()=>{let e=s[a];if(!e)throw new Error(`Module ${a} didn’t register its module`);return e})));self.define=(c,i)=>{const n=e||("document"in self?document.currentScript.src:"")||location.href;if(s[n])return;let t={};const d=e=>a(e,n),r={module:{uri:n},exports:t,require:d};s[n]=Promise.all(c.map((e=>r[e]||d(e)))).then((e=>(i(...e),t)))}}define(["./workbox-1bb06f5e"],(function(e){"use strict";importScripts(),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"/_next/app-build-manifest.json",revision:"bceb0bf3e9cf9a61158cbc6c474a5f83"},{url:"/_next/static/Oc7CFjT-NddJ6Hahxxk7P/_buildManifest.js",revision:"3e2d62a10f4d6bf0b92e14aecf7836f4"},{url:"/_next/static/Oc7CFjT-NddJ6Hahxxk7P/_ssgManifest.js",revision:"b6652df95db52feb4daf4eca35380933"},{url:"/_next/static/chunks/0e5ce63c-89bf21b6bb4817fa.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/140-3deb040394406004.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/1452-adab6f2c9f637731.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/1487-0b949ef26142c6bb.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/1621-72fba0a46fe92096.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/1712-6a88fcfeca2bec3f.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/1888-3f8023bf401b254a.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/2107-8eb50e5a294d1464.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/2186.90107d68554810f9.js",revision:"90107d68554810f9"},{url:"/_next/static/chunks/2484.aebe5fb3bdd24122.js",revision:"aebe5fb3bdd24122"},{url:"/_next/static/chunks/2675-fab211fa6462da9e.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/2810-f88093e83e218024.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/2975-efbb333baf0a5af4.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/3047-5ed7604e6cb814b3.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/3910-d64501bfcafac963.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/3a91511d-3cc8f95538cc21c7.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/3d436824-15210b0281bf4670.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/410-a8b0b71c6076eae4.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/4116-317ee3d0cd5c5bd8.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/4334-f61a371dc89dac96.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/4791.6b1661f9a840f5b2.js",revision:"6b1661f9a840f5b2"},{url:"/_next/static/chunks/4854.73fcfadba8caabeb.js",revision:"73fcfadba8caabeb"},{url:"/_next/static/chunks/4861-540b368ba895a446.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/5026.ed0a3890fd0b8030.js",revision:"ed0a3890fd0b8030"},{url:"/_next/static/chunks/5192-33af298c335e6e65.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/5193-0738ee030eaf6928.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/5306-49fdb9fee3cb13af.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/5414-ee8498965c9b5eb1.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/5459-37282f994bbf6749.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/5979-c7644bb499394c7e.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/6135-0dd487fcf711bd31.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/6226-9d4fad1fc1cacd91.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/6261-74904edf61874c80.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/6648-d2e0ad2627c29d75.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/6768-ff0d0925aa400ceb.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/6951-c6173da58a93efb4.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/6993-8b9dee7f1c61fc9d.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/7023-a067368a9e4a307d.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/7078-af8c8d0ee6654447.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/7138-a7292227b3a56441.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/7320-9eb2f8266fc83021.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/7550.4ba51e3d0190ed65.js",revision:"4ba51e3d0190ed65"},{url:"/_next/static/chunks/7627-8574abfd14523d70.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/775ca1a0.09645cdbd722e1d6.js",revision:"09645cdbd722e1d6"},{url:"/_next/static/chunks/7776-6cd57728c4e7d6fe.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/7852-f41e162bbb7e6e8d.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/8434.8a06709d93119b8f.js",revision:"8a06709d93119b8f"},{url:"/_next/static/chunks/8772.f3ae0c14b00e84cf.js",revision:"f3ae0c14b00e84cf"},{url:"/_next/static/chunks/8877-786b00b170490245.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/8e1d74a4-68a3cbefe0c23d64.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/9149-8e9f36e22372eaf2.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/947-d1641a048c8d2b88.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/9728-c39d19faa4799a7e.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/a4634e51-4a76e72501d55b52.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/aaea2bcf-45c601d73a123aa1.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/ajs-destination.216a4f121de6d6a9.js",revision:"216a4f121de6d6a9"},{url:"/_next/static/chunks/app/_not-found/page-a3ff1ee78f350a07.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/app/clips/page-196f1a1526947b25.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/app/discover/%5Bid%5D/page-bf86a9fd0db204e6.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/app/discover/loading-cde03269a637e787.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/app/discover/page-b0cfd2c2155a9456.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/app/layout-21d4c9da3b650ecf.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/app/leaderboard/page-a98de3cfe26a3caf.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/app/live/%5Baddress%5D/page-1f456021c20fda4c.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/app/live/page-e73990ef3eb98005.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/app/page-b162b687e9708b4b.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/app/profile/%5Baddress%5D/%5Bid%5D/page-4f41f2057e9082aa.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/app/profile/%5Baddress%5D/page-ef91c0d0851b04c4.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/app/profile/page-dc0237cf9266f807.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/app/send/page-1995b0e133887491.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/app/upload/page-b75ca92480e8ddd7.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/app/vote/%5Bid%5D/page-4aa37157d65723fc.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/app/vote/create/page-e22b7fa1ef4e9dfd.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/app/vote/page-b4fbb8bc2387408f.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/auto-track.542968b9d0ae13c6.js",revision:"542968b9d0ae13c6"},{url:"/_next/static/chunks/d09ec4ee-135459f10d7ffa46.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/fd9d1056-c18f18d28f8dea9d.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/framework-8e0e0f4a6b83a956.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/legacyVideos.ada78047db966e3b.js",revision:"ada78047db966e3b"},{url:"/_next/static/chunks/main-app-ae5105ac8c595dbb.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/main-e8082d739c0c36ae.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/pages/_app-f870474a17b7f2fd.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js",revision:"79330112775102f91e1010318bae2bd3"},{url:"/_next/static/chunks/queryString.724e57bfa30441fc.js",revision:"724e57bfa30441fc"},{url:"/_next/static/chunks/remoteMiddleware.e3d85592b7492036.js",revision:"e3d85592b7492036"},{url:"/_next/static/chunks/schemaFilter.1dfbabdfa27e2066.js",revision:"1dfbabdfa27e2066"},{url:"/_next/static/chunks/tsub-middleware.c6740e2ee49e18a7.js",revision:"c6740e2ee49e18a7"},{url:"/_next/static/chunks/webpack-e120c2728e3b8f07.js",revision:"Oc7CFjT-NddJ6Hahxxk7P"},{url:"/_next/static/css/07aa7b9cfb326cf7.css",revision:"07aa7b9cfb326cf7"},{url:"/_next/static/css/8522623149c9bfb4.css",revision:"8522623149c9bfb4"},{url:"/_next/static/media/26a46d62cd723877-s.woff2",revision:"befd9c0fdfa3d8a645d5f95717ed6420"},{url:"/_next/static/media/55c55f0601d81cf3-s.woff2",revision:"43828e14271c77b87e3ed582dbff9f74"},{url:"/_next/static/media/581909926a08bbc8-s.woff2",revision:"f0b86e7c24f455280b8df606b89af891"},{url:"/_next/static/media/6d93bde91c0c2823-s.woff2",revision:"621a07228c8ccbfd647918f1021b4868"},{url:"/_next/static/media/97e0cb1ae144a2a9-s.woff2",revision:"e360c61c5bd8d90639fd4503c829c2dc"},{url:"/_next/static/media/a34f9d1faa5f3315-s.p.woff2",revision:"d4fe31e6a2aebc06b8d6e558c9141119"},{url:"/_next/static/media/df0a9ae256c0569c-s.woff2",revision:"d54db44de5ccb18886ece2fda72bdfe0"},{url:"/creative.svg",revision:"6201706f33410589d6fd3c0e58c449a3"},{url:"/fonts/ConthraxSb-Regular.otf",revision:"a2293644ad4af500ed5c675788cc4754"},{url:"/icons/CreativeTV_blur-192x192.png",revision:"a1ed3bd73b35206c1f2a56d6bcc54f0c"},{url:"/icons/CreativeTV_blur-512x512.png",revision:"818e91b75ac709ffdf7138034679870b"},{url:"/images/Creative_TV_Logo.png",revision:"8e1ffd092c25d1758ee3947385a83bd0"},{url:"/images/chains/base-sepolia.svg",revision:"67d4b0ea99bc06806dfc1cde1c61a187"},{url:"/images/chains/base.svg",revision:"92548ad75c2f998e4664b732126c9a96"},{url:"/images/chains/default-chain.svg",revision:"352f3d9f5d5403defbcee72a8f1fb0c6"},{url:"/images/chains/optimism.svg",revision:"7977e5ca5ef72b05333db751ae1289a9"},{url:"/images/chains/polygon.svg",revision:"3ef4ef741bdabcb75ec71cf121603844"},{url:"/images/creative-banner.png",revision:"08281b93c0aac1929dcc795d3e7f0385"},{url:"/images/logo-tv.gif",revision:"38eace9fa91a7923cd64352a77569427"},{url:"/manifest.json",revision:"d5c63343b2a4595e345eb31a4c20d2bb"}],{ignoreURLParametersMatching:[]}),e.cleanupOutdatedCaches(),e.registerRoute("/",new e.NetworkFirst({cacheName:"start-url",plugins:[{cacheWillUpdate:async({request:e,response:s,event:a,state:c})=>s&&"opaqueredirect"===s.type?new Response(s.body,{status:200,statusText:"OK",headers:s.headers}):s}]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:gstatic)\.com\/.*/i,new e.CacheFirst({cacheName:"google-fonts-webfonts",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:31536e3})]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:googleapis)\.com\/.*/i,new e.StaleWhileRevalidate({cacheName:"google-fonts-stylesheets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800})]}),"GET"),e.registerRoute(/\.(?:eot|otf|ttc|ttf|woff|woff2|font.css)$/i,new e.StaleWhileRevalidate({cacheName:"static-font-assets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800})]}),"GET"),e.registerRoute(/\.(?:jpg|jpeg|gif|png|svg|ico|webp)$/i,new e.StaleWhileRevalidate({cacheName:"static-image-assets",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\/_next\/image\?url=.+$/i,new e.StaleWhileRevalidate({cacheName:"next-image",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:mp3|wav|ogg)$/i,new e.CacheFirst({cacheName:"static-audio-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:mp4)$/i,new e.CacheFirst({cacheName:"static-video-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:js)$/i,new e.StaleWhileRevalidate({cacheName:"static-js-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:css|less)$/i,new e.StaleWhileRevalidate({cacheName:"static-style-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\/_next\/data\/.+\/.+\.json$/i,new e.StaleWhileRevalidate({cacheName:"next-data",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:json|xml|csv)$/i,new e.NetworkFirst({cacheName:"static-data-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute((({url:e})=>{if(!(self.origin===e.origin))return!1;const s=e.pathname;return!s.startsWith("/api/auth/")&&!!s.startsWith("/api/")}),new e.NetworkFirst({cacheName:"apis",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:16,maxAgeSeconds:86400})]}),"GET"),e.registerRoute((({url:e})=>{if(!(self.origin===e.origin))return!1;return!e.pathname.startsWith("/api/")}),new e.NetworkFirst({cacheName:"others",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute((({url:e})=>!(self.origin===e.origin)),new e.NetworkFirst({cacheName:"cross-origin",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:3600})]}),"GET")})); +if(!self.define){let s,e={};const t=(t,a)=>(t=new URL(t+".js",a).href,e[t]||new Promise((e=>{if("document"in self){const s=document.createElement("script");s.src=t,s.onload=e,document.head.appendChild(s)}else s=t,importScripts(t),e()})).then((()=>{let s=e[t];if(!s)throw new Error(`Module ${t} didn’t register its module`);return s})));self.define=(a,i)=>{const c=s||("document"in self?document.currentScript.src:"")||location.href;if(e[c])return;let n={};const r=s=>t(s,c),o={module:{uri:c},exports:n,require:r};e[c]=Promise.all(a.map((s=>o[s]||r(s)))).then((s=>(i(...s),n)))}}define(["./workbox-1bb06f5e"],(function(s){"use strict";importScripts(),self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"/_next/app-build-manifest.json",revision:"c88721d9489f0525ca9640945f2b8461"},{url:"/_next/static/5BgBwpBt9msJCBobqmzSG/_buildManifest.js",revision:"3e2d62a10f4d6bf0b92e14aecf7836f4"},{url:"/_next/static/5BgBwpBt9msJCBobqmzSG/_ssgManifest.js",revision:"b6652df95db52feb4daf4eca35380933"},{url:"/_next/static/chunks/0e5ce63c-89bf21b6bb4817fa.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/1146-2774e3b25c055744.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/140-96bdf6f6ba916a66.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/1487-0b949ef26142c6bb.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/1501.dc01428625ed80c8.js",revision:"dc01428625ed80c8"},{url:"/_next/static/chunks/1621-72fba0a46fe92096.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/1918-ae3e0ba1b44fbee7.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/2186.90107d68554810f9.js",revision:"90107d68554810f9"},{url:"/_next/static/chunks/2334-0d359bbbee1a140d.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/2484.aebe5fb3bdd24122.js",revision:"aebe5fb3bdd24122"},{url:"/_next/static/chunks/2549-342fe41be6579c66.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/2675-63deb80cfcd04487.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/2975-efbb333baf0a5af4.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/3047-a206a2dbcd067855.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/314-deb274c692fda00a.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/3910-f86af41fa30657df.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/3a91511d-c13e2c716c4bd8f5.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/3d436824-65a9b29e8b7219d3.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/4035-9df0b1105090d86f.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/410-a8b0b71c6076eae4.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/4116-19c499f803c2a374.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/4791.a28a0c95ffdc54ee.js",revision:"a28a0c95ffdc54ee"},{url:"/_next/static/chunks/4854.73fcfadba8caabeb.js",revision:"73fcfadba8caabeb"},{url:"/_next/static/chunks/4861-540b368ba895a446.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/5025-d1535cd1d17af2d6.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/5026.ed0a3890fd0b8030.js",revision:"ed0a3890fd0b8030"},{url:"/_next/static/chunks/5093-c86c7f9cace3adb7.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/5192-6884b0510797a12d.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/5306-7820e8897d7590e2.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/5414-a702bca3175abc05.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/6226-e01131901a419f5e.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/6261-643779867972544d.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/6648-86b2ed8821cac141.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/6968-1c66b8b1cac914f0.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/6993-320e568e75cc5a92.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/7023-a067368a9e4a307d.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/7060-b5d1bf9c1517a038.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/7078-af8c8d0ee6654447.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/7138-a7292227b3a56441.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/722-3bc8a94a2924c1b1.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/7420.4cfa584cf9dfc438.js",revision:"4cfa584cf9dfc438"},{url:"/_next/static/chunks/7509-04119de616598660.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/775ca1a0.a3bc4bfce43a4afb.js",revision:"a3bc4bfce43a4afb"},{url:"/_next/static/chunks/7776-efd044fc3fec5ca3.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/7852-3fe8e92d60dd63c1.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/7966-f3bc8fba449775b1.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/8877-340dfbed5cdf499d.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/8e1d74a4-68a3cbefe0c23d64.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/9050.5622bf4bc74f0efc.js",revision:"5622bf4bc74f0efc"},{url:"/_next/static/chunks/9432-5fc1fc39129adfd6.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/947-f56f077b70b3b128.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/a4634e51-23f7f8d0e1db7368.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/aaea2bcf-45c601d73a123aa1.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/ajs-destination.216a4f121de6d6a9.js",revision:"216a4f121de6d6a9"},{url:"/_next/static/chunks/app/_not-found/page-a3ff1ee78f350a07.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/app/clips/page-ad0251473095d72c.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/app/discover/%5Bid%5D/page-d95b3b3c44bb318c.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/app/discover/loading-cde03269a637e787.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/app/discover/page-7dfd58daf35f3ff6.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/app/layout-d16b46a2c337c6e9.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/app/leaderboard/page-bb7f0a8697a6585d.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/app/live/%5Baddress%5D/page-806cd25376db3ee7.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/app/live/page-f5b7529c9cf01a39.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/app/page-3bde6803e3a4de66.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/app/profile/%5Baddress%5D/%5Bid%5D/page-4f41f2057e9082aa.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/app/profile/%5Baddress%5D/page-947328721d321816.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/app/profile/page-545348a1cc46b99e.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/app/send/page-ee2477bbdfcd1262.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/app/upload/%5Baddress%5D/page-573bd3126c8789dc.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/app/upload/page-150445f443fbc53e.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/app/vote/%5Bid%5D/page-9a24cc97bee63abc.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/app/vote/create/%5Baddress%5D/page-8cc544751e5afd0a.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/app/vote/create/page-3b6fe1d30007089c.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/app/vote/page-8d8fc9467c1ec856.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/auto-track.542968b9d0ae13c6.js",revision:"542968b9d0ae13c6"},{url:"/_next/static/chunks/b7c8da3e-3ec705574f771987.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/fd9d1056-c18f18d28f8dea9d.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/framework-8e0e0f4a6b83a956.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/legacyVideos.ada78047db966e3b.js",revision:"ada78047db966e3b"},{url:"/_next/static/chunks/main-02c65e3778d398a0.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/main-app-ae5105ac8c595dbb.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/pages/_app-f870474a17b7f2fd.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js",revision:"79330112775102f91e1010318bae2bd3"},{url:"/_next/static/chunks/queryString.724e57bfa30441fc.js",revision:"724e57bfa30441fc"},{url:"/_next/static/chunks/remoteMiddleware.e3d85592b7492036.js",revision:"e3d85592b7492036"},{url:"/_next/static/chunks/schemaFilter.1dfbabdfa27e2066.js",revision:"1dfbabdfa27e2066"},{url:"/_next/static/chunks/tsub-middleware.c6740e2ee49e18a7.js",revision:"c6740e2ee49e18a7"},{url:"/_next/static/chunks/webpack-7aa5cdae35b4be66.js",revision:"5BgBwpBt9msJCBobqmzSG"},{url:"/_next/static/css/181a3455c236ff8b.css",revision:"181a3455c236ff8b"},{url:"/_next/static/css/8522623149c9bfb4.css",revision:"8522623149c9bfb4"},{url:"/_next/static/media/26a46d62cd723877-s.woff2",revision:"befd9c0fdfa3d8a645d5f95717ed6420"},{url:"/_next/static/media/55c55f0601d81cf3-s.woff2",revision:"43828e14271c77b87e3ed582dbff9f74"},{url:"/_next/static/media/581909926a08bbc8-s.woff2",revision:"f0b86e7c24f455280b8df606b89af891"},{url:"/_next/static/media/8e9860b6e62d6359-s.woff2",revision:"01ba6c2a184b8cba08b0d57167664d75"},{url:"/_next/static/media/97e0cb1ae144a2a9-s.woff2",revision:"e360c61c5bd8d90639fd4503c829c2dc"},{url:"/_next/static/media/df0a9ae256c0569c-s.woff2",revision:"d54db44de5ccb18886ece2fda72bdfe0"},{url:"/_next/static/media/e4af272ccee01ff0-s.p.woff2",revision:"65850a373e258f1c897a2b3d75eb74de"},{url:"/creative.svg",revision:"6201706f33410589d6fd3c0e58c449a3"},{url:"/fonts/ConthraxSb-Regular.otf",revision:"a2293644ad4af500ed5c675788cc4754"},{url:"/icons/CreativeTV_blur-192x192.png",revision:"a1ed3bd73b35206c1f2a56d6bcc54f0c"},{url:"/icons/CreativeTV_blur-512x512.png",revision:"818e91b75ac709ffdf7138034679870b"},{url:"/images/Creative_TV_Logo.png",revision:"8e1ffd092c25d1758ee3947385a83bd0"},{url:"/images/chains/base-sepolia.svg",revision:"67d4b0ea99bc06806dfc1cde1c61a187"},{url:"/images/chains/base.svg",revision:"92548ad75c2f998e4664b732126c9a96"},{url:"/images/chains/default-chain.svg",revision:"352f3d9f5d5403defbcee72a8f1fb0c6"},{url:"/images/chains/optimism.svg",revision:"7977e5ca5ef72b05333db751ae1289a9"},{url:"/images/chains/polygon.svg",revision:"3ef4ef741bdabcb75ec71cf121603844"},{url:"/images/creative-banner.png",revision:"08281b93c0aac1929dcc795d3e7f0385"},{url:"/images/logo-tv.gif",revision:"38eace9fa91a7923cd64352a77569427"},{url:"/manifest.json",revision:"d5c63343b2a4595e345eb31a4c20d2bb"}],{ignoreURLParametersMatching:[]}),s.cleanupOutdatedCaches(),s.registerRoute("/",new s.NetworkFirst({cacheName:"start-url",plugins:[{cacheWillUpdate:async({request:s,response:e,event:t,state:a})=>e&&"opaqueredirect"===e.type?new Response(e.body,{status:200,statusText:"OK",headers:e.headers}):e}]}),"GET"),s.registerRoute(/^https:\/\/fonts\.(?:gstatic)\.com\/.*/i,new s.CacheFirst({cacheName:"google-fonts-webfonts",plugins:[new s.ExpirationPlugin({maxEntries:4,maxAgeSeconds:31536e3})]}),"GET"),s.registerRoute(/^https:\/\/fonts\.(?:googleapis)\.com\/.*/i,new s.StaleWhileRevalidate({cacheName:"google-fonts-stylesheets",plugins:[new s.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800})]}),"GET"),s.registerRoute(/\.(?:eot|otf|ttc|ttf|woff|woff2|font.css)$/i,new s.StaleWhileRevalidate({cacheName:"static-font-assets",plugins:[new s.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800})]}),"GET"),s.registerRoute(/\.(?:jpg|jpeg|gif|png|svg|ico|webp)$/i,new s.StaleWhileRevalidate({cacheName:"static-image-assets",plugins:[new s.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400})]}),"GET"),s.registerRoute(/\/_next\/image\?url=.+$/i,new s.StaleWhileRevalidate({cacheName:"next-image",plugins:[new s.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400})]}),"GET"),s.registerRoute(/\.(?:mp3|wav|ogg)$/i,new s.CacheFirst({cacheName:"static-audio-assets",plugins:[new s.RangeRequestsPlugin,new s.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),s.registerRoute(/\.(?:mp4)$/i,new s.CacheFirst({cacheName:"static-video-assets",plugins:[new s.RangeRequestsPlugin,new s.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),s.registerRoute(/\.(?:js)$/i,new s.StaleWhileRevalidate({cacheName:"static-js-assets",plugins:[new s.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),s.registerRoute(/\.(?:css|less)$/i,new s.StaleWhileRevalidate({cacheName:"static-style-assets",plugins:[new s.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),s.registerRoute(/\/_next\/data\/.+\/.+\.json$/i,new s.StaleWhileRevalidate({cacheName:"next-data",plugins:[new s.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),s.registerRoute(/\.(?:json|xml|csv)$/i,new s.NetworkFirst({cacheName:"static-data-assets",plugins:[new s.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),s.registerRoute((({url:s})=>{if(!(self.origin===s.origin))return!1;const e=s.pathname;return!e.startsWith("/api/auth/")&&!!e.startsWith("/api/")}),new s.NetworkFirst({cacheName:"apis",networkTimeoutSeconds:10,plugins:[new s.ExpirationPlugin({maxEntries:16,maxAgeSeconds:86400})]}),"GET"),s.registerRoute((({url:s})=>{if(!(self.origin===s.origin))return!1;return!s.pathname.startsWith("/api/")}),new s.NetworkFirst({cacheName:"others",networkTimeoutSeconds:10,plugins:[new s.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),s.registerRoute((({url:s})=>!(self.origin===s.origin)),new s.NetworkFirst({cacheName:"cross-origin",networkTimeoutSeconds:10,plugins:[new s.ExpirationPlugin({maxEntries:32,maxAgeSeconds:3600})]}),"GET")})); diff --git a/services/video-assets.ts b/services/video-assets.ts index 3f9d8b7..9afa118 100644 --- a/services/video-assets.ts +++ b/services/video-assets.ts @@ -61,6 +61,7 @@ export async function updateVideoAsset( max_supply: number | null; price: number | null; royalty_percentage: number | null; + metadata_uri?: string | null; } ) { const result = await sql` @@ -70,7 +71,8 @@ export async function updateVideoAsset( status = ${data.status}, max_supply = ${data.max_supply}, price = ${data.price}, - royalty_percentage = ${data.royalty_percentage} + royalty_percentage = ${data.royalty_percentage}, + metadata_uri = ${data.metadata_uri} WHERE id = ${id} RETURNING * `; diff --git a/yarn.lock b/yarn.lock index 2c7fe83..3ed9a7e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,21 +2,21 @@ # yarn lockfile v1 -"@aa-sdk/core@^4.14.0", "@aa-sdk/core@^4.34.0": - version "4.34.0" - resolved "https://registry.npmjs.org/@aa-sdk/core/-/core-4.34.0.tgz#d908d43f09d06c5a19f7022d4c8c14da906ee079" - integrity sha512-rR2Ufg6zC0Weoe6mafRtWKOniPzEcgwRJTn9IO/VPcBuCkIYk+q8DOxGEX0iE+bWTnpv5DPwRDAMLWvEN5+FDw== +"@aa-sdk/core@^4.35.0": + version "4.35.0" + resolved "https://registry.npmjs.org/@aa-sdk/core/-/core-4.35.0.tgz#ab32b0fee722b338eff7ad2d3ad1675b2711ff38" + integrity sha512-qqVJ9vWa1sVvbkFy2nsFJdwprPjgYm9UeDV6IloM/l6e6aI1PHcgdHhFgbu0WzM3hAb1tWDbzC6f2jQT3RU7ew== dependencies: abitype "^0.8.3" eventemitter3 "^5.0.1" zod "^3.22.4" -"@aa-sdk/ethers@^4.27.0": - version "4.34.0" - resolved "https://registry.npmjs.org/@aa-sdk/ethers/-/ethers-4.34.0.tgz#939fe0449ff2e3941ff5f402dc42869b6d7266b9" - integrity sha512-9NDI7Ewh9++r2CQsQ3z4+enkPclRqzj7djQOwwDuLtTTV4rebeq800Oc/97kzjpbRclg/ZqbyNYk3YzxcHxJRg== +"@aa-sdk/ethers@^4.35.0": + version "4.35.0" + resolved "https://registry.npmjs.org/@aa-sdk/ethers/-/ethers-4.35.0.tgz#63b144d4974bdb5bc8c29902ee02594011843057" + integrity sha512-FwqV6qjBQFKU8XZueDdu5iAtMA+VpvdhJqFtUkmwfpm5yWARzepD0nPs2i+/b29Ux+0bFkzIOJL3WTZILyzV5Q== dependencies: - "@aa-sdk/core" "^4.34.0" + "@aa-sdk/core" "^4.35.0" "@ethersproject/abi" "^5.7.0" "@ethersproject/abstract-signer" "^5.7.0" "@ethersproject/bytes" "^5.7.0" @@ -26,16 +26,16 @@ "@ethersproject/providers" "^5.7.2" "@ethersproject/wallet" "^5.7.0" -"@account-kit/core@^4.34.0", "@account-kit/core@^4.9.0": - version "4.34.0" - resolved "https://registry.npmjs.org/@account-kit/core/-/core-4.34.0.tgz#c9f14b13b72d1ff77097a5ba55f223abbfbcda0e" - integrity sha512-npBS28FzLrc3ky9jHBL8Kw6ZrvrK0yqIJa85xIPSwTHTDGehLCznKTLtjcKlJlcikSGylkazEjq1NFCRA9U7Dw== +"@account-kit/core@^4.35.0": + version "4.35.0" + resolved "https://registry.npmjs.org/@account-kit/core/-/core-4.35.0.tgz#0bdabf1688e61dc268e4ab1a46e2ccdd00e4397e" + integrity sha512-Ohys+iAlnxJgGhC3RBENaF2pMwAv6FxFsiaJx3Fc7jaASCXQ+/KR/Ei5sQjhqp+Ed1xKVXBzS27E46ECSAvkhA== dependencies: - "@account-kit/infra" "^4.34.0" - "@account-kit/logging" "^4.34.0" - "@account-kit/react-native-signer" "^4.34.0" - "@account-kit/signer" "^4.34.0" - "@account-kit/smart-contracts" "^4.34.0" + "@account-kit/infra" "^4.35.0" + "@account-kit/logging" "^4.35.0" + "@account-kit/react-native-signer" "^4.35.0" + "@account-kit/signer" "^4.35.0" + "@account-kit/smart-contracts" "^4.35.0" "@solana/web3.js" "^1.98.0" js-cookie "^3.0.5" zod "^3.22.4" @@ -43,44 +43,44 @@ optionalDependencies: alchemy-sdk "^3.0.0" -"@account-kit/infra@^4.34.0": - version "4.34.0" - resolved "https://registry.npmjs.org/@account-kit/infra/-/infra-4.34.0.tgz#fc136a50c085473b579f7a40c16770189816672f" - integrity sha512-+zztS7ANg4qa0MYl9EuF3tto4U1zVyyWGHXIdY8QXlKobSAHQEhlUMo6jo3RZnz72FiGOoFfyI8j3PUErpjTpA== +"@account-kit/infra@^4.35.0": + version "4.35.0" + resolved "https://registry.npmjs.org/@account-kit/infra/-/infra-4.35.0.tgz#f92ce6625702009e5f0eeb433bb7a47e53443222" + integrity sha512-kK2qWEi9077dnZwpNfXmWj+eJz4D44Mf4ijgwrcXjG7C1/tP/OM1kcllBPm2gh3fC3h+v49U6fCjHHj9LJ4SCw== dependencies: - "@aa-sdk/core" "^4.34.0" - "@account-kit/logging" "^4.34.0" + "@aa-sdk/core" "^4.35.0" + "@account-kit/logging" "^4.35.0" eventemitter3 "^5.0.1" zod "^3.22.4" optionalDependencies: alchemy-sdk "^3.0.0" -"@account-kit/logging@^4.34.0": - version "4.34.0" - resolved "https://registry.npmjs.org/@account-kit/logging/-/logging-4.34.0.tgz#6fd2c1ea16f6ea462d9969e1425d5904420b2c12" - integrity sha512-7ZZXdBOMMZdbjrYPsDDu91lo4z+YMdqHXMp58wbiBXmgZonI5OnbmWzfmdgC5RdxneZwRp6i4Rii7FGJF9jxwg== +"@account-kit/logging@^4.35.0": + version "4.35.0" + resolved "https://registry.npmjs.org/@account-kit/logging/-/logging-4.35.0.tgz#d17f3676d431dc68008bad0f4776bc22bf33190f" + integrity sha512-D8VGw3y5W0dVxdo0BBzjZtHAGEVXImWKklrhcNcqppGd/12ENn00t5BI8vjRdzZFiUqor7E2176mA17B2QIZvg== dependencies: "@segment/analytics-next" "^1.74.0" uuid "^11.0.2" -"@account-kit/react-native-signer@^4.34.0": - version "4.34.0" - resolved "https://registry.npmjs.org/@account-kit/react-native-signer/-/react-native-signer-4.34.0.tgz#f58ae711d6767dd21d5ed48407ff226f98f3ab79" - integrity sha512-VchDAtyY3USyqU17ncVTcAHJJWZUp/7JqIWWPNts1NedxEmjfIvVVhn1JHeKEotyOjS0gAMLRZWQckORTLKJ/A== +"@account-kit/react-native-signer@^4.35.0": + version "4.35.0" + resolved "https://registry.npmjs.org/@account-kit/react-native-signer/-/react-native-signer-4.35.0.tgz#f6c771a8177838045d8c23db5f4305ff79646495" + integrity sha512-aMQfWqTuSVaZtS7WDUTsFezNWrZFX1OEdqVS9hkXrdYHXZu6ienOzl885NjswXlZTsgnchB0v6BxbCUAFVfFoQ== dependencies: - "@aa-sdk/core" "^4.34.0" - "@account-kit/signer" "^4.34.0" + "@aa-sdk/core" "^4.35.0" + "@account-kit/signer" "^4.35.0" viem "^2.21.40" -"@account-kit/react@^4.34.0": - version "4.34.0" - resolved "https://registry.npmjs.org/@account-kit/react/-/react-4.34.0.tgz#5565f1404f0b1db6f44fbeee4b18b7eae7fa6c9d" - integrity sha512-Bib6HAgSEJaoYTNc+WDpkfGE7XAS6YWH+/9XXpwm4g/2NiUoapnkOd1/pOL7BvLEEky7yT4bWohyJBeNMG1kRg== +"@account-kit/react@^4.35.0": + version "4.35.0" + resolved "https://registry.npmjs.org/@account-kit/react/-/react-4.35.0.tgz#53769a64ea5ef21b11b972200699e9d01d710267" + integrity sha512-jxSenbHlpJ/PKWjtVFDIdCZhs2i30ShfjzY6MPF0o/D45MW9mYtwLbyVtG5RmArfxpNJGU/0UI4Axoj5kphJBQ== dependencies: - "@account-kit/core" "^4.34.0" - "@account-kit/infra" "^4.34.0" - "@account-kit/logging" "^4.34.0" - "@account-kit/signer" "^4.34.0" + "@account-kit/core" "^4.35.0" + "@account-kit/infra" "^4.35.0" + "@account-kit/logging" "^4.35.0" + "@account-kit/signer" "^4.35.0" "@solana/web3.js" "^1.98.0" "@tanstack/react-form" "^0.33.0" "@tanstack/zod-form-adapter" "^0.33.0" @@ -93,13 +93,13 @@ optionalDependencies: alchemy-sdk "^3.0.0" -"@account-kit/signer@^4.14.0", "@account-kit/signer@^4.34.0": - version "4.34.0" - resolved "https://registry.npmjs.org/@account-kit/signer/-/signer-4.34.0.tgz#730082466716d0513d71eb7379c2f16c8fdb0da7" - integrity sha512-/6ABcw5AMjG7QzwCyJ5djoer+YGWCgIW4BVnKpVfbf2QcEO+7D5zMvZttlV1HSOCkuuS1fo+zl6ZdxSFjPVv1A== +"@account-kit/signer@^4.35.0": + version "4.35.0" + resolved "https://registry.npmjs.org/@account-kit/signer/-/signer-4.35.0.tgz#4ffe9d52fe3983ac9204e7b0013cf98ee61bbcbd" + integrity sha512-tFvlrdDx/Vp6tltwJFZ4niAyVip9IlEoae2IUi56slo4bSJfvpxlGYC1PJJJ2jFsBYtZzWDCSR9NrbaF8TXcnw== dependencies: - "@aa-sdk/core" "^4.34.0" - "@account-kit/logging" "^4.34.0" + "@aa-sdk/core" "^4.35.0" + "@account-kit/logging" "^4.35.0" "@solana/web3.js" "^1.98.0" "@turnkey/http" "^2.22.0" "@turnkey/iframe-stamper" "^1.0.0" @@ -110,13 +110,13 @@ zod "^3.22.4" zustand "^5.0.0-rc.2" -"@account-kit/smart-contracts@^4.34.0": - version "4.34.0" - resolved "https://registry.npmjs.org/@account-kit/smart-contracts/-/smart-contracts-4.34.0.tgz#e52eb4ce89b6f90eb13a8caa969d98eb4b8c79df" - integrity sha512-Qu8zYv1BcWIMJHT0BevDDRlzlIwIFBfsn32n0HS1cg0gccGZHs8Qah2uBOswnjoYPmec8VUtoLHyuKf77wrWJQ== +"@account-kit/smart-contracts@^4.35.0": + version "4.35.0" + resolved "https://registry.npmjs.org/@account-kit/smart-contracts/-/smart-contracts-4.35.0.tgz#c8e9737dca56d6db1a9bd43ebb707edd0eaff48a" + integrity sha512-+G8wwGJSVJuXNOJX9kMALTwFM/dOc0QqlXp8W5EB8Ou26TxDUmqE42lMh54OYIE1aW2ltKR8OH0Y7riCMrt2wQ== dependencies: - "@aa-sdk/core" "^4.34.0" - "@account-kit/infra" "^4.34.0" + "@aa-sdk/core" "^4.35.0" + "@account-kit/infra" "^4.35.0" "@adraffy/ens-normalize@1.10.0": version "1.10.0"