Skip to content

Commit 486553b

Browse files
committed
Merge branch 'main' into 5-dot-ox
2 parents fc96522 + 0aa2416 commit 486553b

File tree

98 files changed

+5945
-2678
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

98 files changed

+5945
-2678
lines changed

.changeset/blue-bees-ring.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"thirdweb": patch
3+
---
4+
5+
default account components to not retry on failure

.changeset/ninety-foxes-refuse.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"thirdweb": patch
3+
---
4+
5+
accept `react 19` as peer explicitly

.changeset/odd-coats-cheer.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
"thirdweb": patch
3+
---
4+
5+
BETA support for 7579 modular smart accounts
6+
7+
You can now create modular smart wallets using the 7579 preset.
8+
9+
Keep in mind that this is in BETA, and there might be breaking API changes.
10+
11+
```typescript
12+
import { sepolia } from "thirdweb/chains";
13+
import { smartWallet, Config } from "thirdweb/wallets/smart";
14+
const modularSmartWallet = smartWallet(
15+
Config.erc7579({
16+
chain: sepolia,
17+
sponsorGas: true,
18+
factoryAddress: "0x...", // the 7579 factory address
19+
validatorAddress: "0x...", // the default validator module address
20+
}),
21+
});
22+
```

.changeset/silent-hats-melt.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"thirdweb": patch
3+
---
4+
5+
Add erc20Value to buyFromListing transaction

.changeset/strong-beans-pump.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"thirdweb": patch
3+
---
4+
5+
Support ERC6492 for smart account signatures

apps/dashboard/package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
"ioredis": "^5.4.1",
6868
"ipaddr.js": "^2.2.0",
6969
"lucide-react": "0.468.0",
70-
"next": "15.0.3",
70+
"next": "15.0.4",
7171
"next-plausible": "^3.12.4",
7272
"next-seo": "^6.5.0",
7373
"next-themes": "^0.4.4",
@@ -76,10 +76,10 @@
7676
"pluralize": "^8.0.0",
7777
"posthog-js": "1.67.1",
7878
"qrcode": "^1.5.3",
79-
"react": "19.0.0-rc-69d4b800-20241021",
79+
"react": "19.0.0",
8080
"react-children-utilities": "^2.10.0",
8181
"react-day-picker": "^8.10.1",
82-
"react-dom": "19.0.0-rc-69d4b800-20241021",
82+
"react-dom": "19.0.0",
8383
"react-dropzone": "^14.3.5",
8484
"react-error-boundary": "^4.1.2",
8585
"react-hook-form": "7.53.2",
@@ -88,7 +88,7 @@
8888
"recharts": "^2.13.3",
8989
"remark-gfm": "^4.0.0",
9090
"server-only": "^0.0.1",
91-
"shiki": "1.22.2",
91+
"shiki": "1.24.0",
9292
"sonner": "^1.7.0",
9393
"spdx-correct": "^3.2.0",
9494
"swagger-ui-react": "^5.18.2",
@@ -102,8 +102,8 @@
102102
"devDependencies": {
103103
"@chakra-ui/cli": "^2.4.1",
104104
"@chromatic-com/storybook": "3.2.2",
105-
"@next/bundle-analyzer": "15.0.3",
106-
"@next/eslint-plugin-next": "15.0.3",
105+
"@next/bundle-analyzer": "15.0.4",
106+
"@next/eslint-plugin-next": "15.0.4",
107107
"@playwright/test": "1.49.0",
108108
"@storybook/addon-essentials": "8.4.7",
109109
"@storybook/addon-interactions": "8.4.7",
@@ -119,8 +119,8 @@
119119
"@types/papaparse": "^5.3.15",
120120
"@types/pluralize": "^0.0.33",
121121
"@types/qrcode": "^1.5.5",
122-
"@types/react": "npm:types-react@19.0.0-rc.1",
123-
"@types/react-dom": "npm:types-react-dom@19.0.0-rc.1",
122+
"@types/react": "19.0.0",
123+
"@types/react-dom": "19.0.0",
124124
"@types/react-table": "^7.7.20",
125125
"@types/spdx-correct": "^3.1.3",
126126
"@types/swagger-ui-react": "^4.18.3",

apps/dashboard/src/@/components/ui/code/getCodeHtml.tsx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,6 @@ export async function getCodeHtml(code: string, lang: BundledLanguage) {
2525
}).catch((e) => {
2626
console.error(e);
2727
console.error("Failed to format code");
28-
console.log({
29-
code,
30-
lang,
31-
});
3228
return code;
3329
})
3430
: code;

apps/dashboard/src/app/(dashboard)/profile/[addressOrEns]/ProfileUI.tsx

Lines changed: 3 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,20 @@
11
import { Spinner } from "@/components/ui/Spinner/Spinner";
22
import { fetchPublishedContracts } from "components/contract-components/fetchPublishedContracts";
3-
import { PublisherSocials } from "components/contract-components/publisher/PublisherSocials";
4-
import { EditProfile } from "components/contract-components/publisher/edit-profile";
5-
import { PublisherAvatar } from "components/contract-components/publisher/masked-avatar";
63
import { DeployedContracts } from "components/contract-components/tables/deployed-contracts";
7-
import type { ProfileMetadata } from "constants/schemas";
84
import { Suspense } from "react";
9-
import { shortenIfAddress } from "utils/usedapp-external";
105
import { getSortedDeployedContracts } from "../../../account/contracts/_components/getSortedDeployedContracts";
6+
import { ProfileHeader } from "./components/profile-header";
117
import { PublishedContracts } from "./components/published-contracts";
128

139
export function ProfileUI(props: {
1410
profileAddress: string;
1511
ensName: string | undefined;
16-
publisherProfile: ProfileMetadata | null;
17-
showEditProfile: boolean;
1812
}) {
19-
const { profileAddress, ensName, publisherProfile, showEditProfile } = props;
20-
21-
const displayName = shortenIfAddress(ensName || profileAddress).replace(
22-
"deployer.thirdweb.eth",
23-
"thirdweb.eth",
24-
);
13+
const { profileAddress, ensName } = props;
2514

2615
return (
2716
<div className="container pt-8 pb-20">
28-
{/* Header */}
29-
<div className="flex w-full flex-col items-center justify-between gap-4 border-border border-b pb-6 md:flex-row">
30-
<div className="flex w-full items-center gap-4">
31-
<PublisherAvatar address={profileAddress} className="size-20" />
32-
<div>
33-
<h1 className="font-semibold text-4xl tracking-tight">
34-
{displayName}
35-
</h1>
36-
37-
{publisherProfile?.bio && (
38-
<p className="line-clamp-2 text-muted-foreground">
39-
{publisherProfile.bio}
40-
</p>
41-
)}
42-
43-
<div className="-translate-x-2 mt-1">
44-
{publisherProfile && (
45-
<PublisherSocials publisherProfile={publisherProfile} />
46-
)}
47-
</div>
48-
</div>
49-
</div>
50-
51-
{showEditProfile && (
52-
<div className="shrink-0">
53-
{publisherProfile && (
54-
<EditProfile publisherProfile={publisherProfile} />
55-
)}
56-
</div>
57-
)}
58-
</div>
59-
17+
<ProfileHeader profileAddress={profileAddress} />
6018
<div className="h-8" />
6119

6220
<div>

apps/dashboard/src/app/(dashboard)/profile/[addressOrEns]/components/PublishedContractTable.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ import {
1111
} from "@/components/ui/table";
1212
import { ToolTipLabel } from "@/components/ui/tooltip";
1313
import { TrackedLinkTW } from "@/components/ui/tracked-link";
14-
import { replaceDeployerAddress } from "components/explore/publisher";
1514
import { useTrack } from "hooks/analytics/useTrack";
15+
import { replaceDeployerAddress } from "lib/publisher-utils";
1616
import { replaceIpfsUrl } from "lib/sdk";
1717
import { ShieldCheckIcon } from "lucide-react";
1818
import Link from "next/link";
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
"use client";
2+
3+
import { Skeleton } from "@/components/ui/skeleton";
4+
import { useThirdwebClient } from "@/constants/thirdweb.client";
5+
import { replaceDeployerAddress } from "lib/publisher-utils";
6+
import {
7+
AccountAddress,
8+
AccountAvatar,
9+
AccountBlobbie,
10+
AccountName,
11+
AccountProvider,
12+
} from "thirdweb/react";
13+
import { shortenIfAddress } from "utils/usedapp-external";
14+
15+
export function ProfileHeader(props: { profileAddress: string }) {
16+
const client = useThirdwebClient();
17+
return (
18+
<AccountProvider address={props.profileAddress} client={client}>
19+
<div className="flex w-full flex-col items-center justify-between gap-4 border-border border-b pb-6 md:flex-row">
20+
<div className="flex w-full items-center gap-4">
21+
<AccountAvatar
22+
className="size-20 rounded-full"
23+
loadingComponent={<Skeleton className="size-20 rounded-full" />}
24+
fallbackComponent={
25+
<AccountBlobbie className="size-20 rounded-full" />
26+
}
27+
/>
28+
<div>
29+
<h1 className="font-semibold text-4xl tracking-tight">
30+
<AccountName
31+
fallbackComponent={
32+
<AccountAddress
33+
formatFn={(addr) =>
34+
shortenIfAddress(replaceDeployerAddress(addr))
35+
}
36+
/>
37+
}
38+
loadingComponent={<Skeleton className="h-8 w-40" />}
39+
formatFn={(name) => replaceDeployerAddress(name)}
40+
/>
41+
</h1>
42+
</div>
43+
</div>
44+
</div>
45+
</AccountProvider>
46+
);
47+
}

0 commit comments

Comments
 (0)