Skip to content

Commit 82fe728

Browse files
committed
Merge branch 'main' into greg/tool-5091-fix-broken-links-in-portal
2 parents d2691d9 + 66b9bf3 commit 82fe728

File tree

54 files changed

+6096
-392
lines changed

Some content is hidden

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

54 files changed

+6096
-392
lines changed

apps/dashboard/src/app/(app)/(dashboard)/explore/data.ts

Lines changed: 16 additions & 140 deletions
Original file line numberDiff line numberDiff line change
@@ -90,144 +90,6 @@ const MARKETS = {
9090
name: "Marketplace",
9191
} satisfies ExploreCategory;
9292

93-
const MODULAR_CONTRACTS = {
94-
contracts: [
95-
// erc721 drop
96-
[
97-
"thirdweb.eth/ERC721CoreInitializable",
98-
[
99-
"deployer.thirdweb.eth/ClaimableERC721",
100-
"deployer.thirdweb.eth/BatchMetadataERC721",
101-
"deployer.thirdweb.eth/RoyaltyERC721",
102-
],
103-
{
104-
description: "ERC721 NFTs that anyone can mint.",
105-
title: "Modular NFT Drop",
106-
},
107-
],
108-
// erc721 token
109-
[
110-
"thirdweb.eth/ERC721CoreInitializable",
111-
[
112-
"deployer.thirdweb.eth/MintableERC721",
113-
"deployer.thirdweb.eth/BatchMetadataERC721",
114-
"deployer.thirdweb.eth/TransferableERC721",
115-
],
116-
{
117-
description: "ERC721 NFTs that only owners can mint.",
118-
title: "Modular NFT Collection",
119-
},
120-
],
121-
// open edition 721
122-
[
123-
"thirdweb.eth/ERC721CoreInitializable",
124-
[
125-
"deployer.thirdweb.eth/ClaimableERC721",
126-
"deployer.thirdweb.eth/OpenEditionMetadataERC721",
127-
"deployer.thirdweb.eth/RoyaltyERC721",
128-
],
129-
{
130-
description: "ERC721 NFTs with identical metadata.",
131-
title: "Modular Open Edition",
132-
},
133-
],
134-
// erc1155 drop
135-
[
136-
"thirdweb.eth/ERC1155CoreInitializable",
137-
[
138-
"deployer.thirdweb.eth/ClaimableERC1155",
139-
"deployer.thirdweb.eth/BatchMetadataERC1155",
140-
"deployer.thirdweb.eth/RoyaltyERC1155",
141-
"deployer.thirdweb.eth/SequentialTokenIdERC1155",
142-
],
143-
{
144-
description: "ERC1155 NFTs that others can mint.",
145-
title: "Modular Edition Drop",
146-
},
147-
],
148-
// erc1155 token
149-
[
150-
"thirdweb.eth/ERC1155CoreInitializable",
151-
[
152-
"deployer.thirdweb.eth/MintableERC1155",
153-
"deployer.thirdweb.eth/BatchMetadataERC1155",
154-
"deployer.thirdweb.eth/TransferableERC1155",
155-
"deployer.thirdweb.eth/SequentialTokenIdERC1155",
156-
],
157-
{
158-
description: "ERC1155 NFTs that only owners can mint.",
159-
title: "Modular Edition",
160-
},
161-
],
162-
// erc20 drop
163-
[
164-
"thirdweb.eth/ERC20CoreInitializable",
165-
[
166-
"deployer.thirdweb.eth/ClaimableERC20",
167-
"deployer.thirdweb.eth/TransferableERC20",
168-
],
169-
{
170-
description: "ERC20 Tokens that others can mint.",
171-
title: "Modular Token Drop",
172-
},
173-
],
174-
// erc20 token
175-
[
176-
"thirdweb.eth/ERC20CoreInitializable",
177-
[
178-
"deployer.thirdweb.eth/MintableERC20",
179-
"deployer.thirdweb.eth/TransferableERC20",
180-
],
181-
{
182-
description: "ERC20 Tokens that only owners can mint.",
183-
title: "Modular Token",
184-
},
185-
],
186-
],
187-
description:
188-
"Collection of highly customizable and upgradeable smart contracts built with the modular contracts framework.",
189-
displayName: "Modular Contracts",
190-
id: "modular-contracts",
191-
name: "modular",
192-
} satisfies ExploreCategory;
193-
194-
const SUPERCHAIN = {
195-
contracts: [
196-
// erc20 token + superchain
197-
[
198-
"thirdweb.eth/ERC20CoreInitializable",
199-
[
200-
"deployer.thirdweb.eth/MintableERC20",
201-
"deployer.thirdweb.eth/TransferableERC20",
202-
"deployer.thirdweb.eth/SuperChainInterop",
203-
],
204-
{
205-
description: "ERC20 Tokens that only owners can mint.",
206-
title: "Modular Superchain Token",
207-
},
208-
],
209-
// erc20 drop + superchain
210-
[
211-
"thirdweb.eth/ERC20CoreInitializable",
212-
[
213-
"deployer.thirdweb.eth/ClaimableERC20",
214-
"deployer.thirdweb.eth/TransferableERC20",
215-
"deployer.thirdweb.eth/SuperChainInterop",
216-
],
217-
{
218-
description: "ERC20 Tokens that others can mint.",
219-
title: "Modular Superchain Token Drop",
220-
},
221-
],
222-
],
223-
description: "Modular contracts with OP Superchain support",
224-
displayName: "Modular Superchain Contracts",
225-
id: "modular-superchain-contracts",
226-
isBeta: true,
227-
name: "Modular Superchain Contracts",
228-
showInExplore: true,
229-
} satisfies ExploreCategory;
230-
23193
const AIRDROP = {
23294
contracts: ["thirdweb.eth/Airdrop"],
23395
description:
@@ -313,12 +175,26 @@ const SMART_WALLET = {
313175
showInExplore: true,
314176
} satisfies ExploreCategory;
315177

178+
const STYLUS = {
179+
contracts: [
180+
"0x6453a486d52e0EB6E79Ec4491038E2522a926936/StylusAirdropERC1155",
181+
"0x6453a486d52e0EB6E79Ec4491038E2522a926936/StylusAirdropERC721",
182+
"0x6453a486d52e0EB6E79Ec4491038E2522a926936/StylusAirdropERC20",
183+
],
184+
description:
185+
"Airdrop your NFTs or tokens to a large number of recipients. Built with Arbitrum Stylus.",
186+
displayName: "Arbitrum Stylus Contracts",
187+
id: "stylus",
188+
name: "Stylus",
189+
showInExplore: true,
190+
isBeta: true,
191+
} satisfies ExploreCategory;
192+
316193
const CATEGORIES: Record<string, ExploreCategory> = {
317194
[POPULAR.id]: POPULAR,
318-
[MODULAR_CONTRACTS.id]: MODULAR_CONTRACTS,
319-
[SUPERCHAIN.id]: SUPERCHAIN,
320195
[NFTS.id]: NFTS,
321196
[MARKETS.id]: MARKETS,
197+
[STYLUS.id]: STYLUS,
322198
[DROPS.id]: DROPS,
323199
[SMART_WALLET.id]: SMART_WALLET,
324200
[AIRDROP.id]: AIRDROP,

apps/portal/redirects.mjs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,11 @@ const solidityRedirects = {
337337
"/solidity/extensions/primarysale":
338338
"/contracts/build/extensions/general/PrimarySale",
339339
"/solidity/extensions/royalty": "/contracts/build/extensions/general/Royalty",
340+
341+
// contracts -> tokens
342+
"/contracts/deploy/:path*": "/contracts/deploy",
343+
"/contracts/build": "/tokens/build",
344+
"/contracts/build/:path*": "/tokens/build/:path*",
340345
};
341346

342347
const extensionsTable = "/typescript/v4/extensions#all-available-extensions";
@@ -701,6 +706,7 @@ const walletRedirects = {
701706

702707
const paymentRedirects = {
703708
"/pay": "/payments",
709+
"/pay/:path*": "/payments",
704710
"/checkouts": "/payments",
705711
"/checkouts/api-reference": "/payments/nft-checkout/api-reference",
706712
"/checkouts/checkout-link": "/payments/nft-checkout/checkout-link",
@@ -909,7 +915,6 @@ const otherRedirects = {
909915
"/connect/account-abstraction": "/connect/account-abstraction/overview",
910916
// connect
911917
"/connect/connect": "/connect/sign-in",
912-
"/connect/ecosystems/:path*": "/connect/wallet/overview",
913918
"/connect/embedded-wallet/how-to/get-embedded-wallet-details-on-server":
914919
"/connect/in-app-wallet/how-to/get-in-app-wallet-details-on-server",
915920
"/connect/in-app-wallet/how-to/get-in-app-wallet-details-on-server":
@@ -1012,6 +1017,9 @@ const otherRedirects = {
10121017
"/connect/wallet/server": "/wallets/server",
10131018
"/connect/account-abstraction/get-started": "/wallets/sponsor-gas",
10141019
"/connect/account-abstraction/:path*": "/wallets/sponsor-gas",
1020+
"/connect/pay/:path*": "/payments",
1021+
"/connect/ecosystems/:path*": "/wallets/ecosystem/set-up",
1022+
"/connect/:path*": "/wallets",
10151023
"/wallets/in-app-wallet/custom-auth/configuration": "/wallets/custom-auth",
10161024
"/connect/wallets/user-management/link-multiple-identity":
10171025
"/wallets/link-profiles",

apps/portal/src/app/account/api-keys/page.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export const metadata = createMetadata({
1212

1313
# API Keys
1414

15-
Each thirdweb project is equipped with an API key to use thirdweb's infrastructure services including [Storage](/infrastructure/storage/overview), [RPC Edge](/infrastructure/rpc-edge/overview), [Account Abstraction infrastructure](/wallest/sponsor-gas), and [In-App Wallets](/wallets).
15+
Each thirdweb project is equipped with an API key to use thirdweb's infrastructure services including [Storage](/infrastructure/storage/overview), [RPC Edge](/infrastructure/rpc-edge/overview), [Account Abstraction infrastructure](/bundler), and [In-App Wallets](/wallets).
1616

1717
## Services
1818

apps/portal/src/app/pay/faqs/page.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ Payments will automatically kick off the token route discovery process. Please c
4444
Yes, Payments is designed to be agnostic to wallet infrastructure. You can use it with any wallet service.
4545
</Details>
4646

47-
<Details summary="Does Payments support Apple Pay or Google Pay?">
48-
Apple Pay and Google Pay are supported through the onramp providers depending on region. Coinbase, Stripe, and Transak currently support Apple Pay. Transak supports Google Pay. [Learn more about the supported onramp providers.](/pay/onramp-providers).
47+
<Details summary="Does Payments support Apple Pay or Google Pay?">
48+
Apple Pay and Google Pay are supported through the onramp providers depending on region. Coinbase, Stripe, and Transak currently support Apple Pay. Transak supports Google Pay.
4949
</Details>
5050

5151
<Details summary="What are the KYC requirements?">

apps/portal/src/app/react/v5/migrate/installation/page.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ const client = createThirdwebClient({
9999
<ConnectButton client={client} />
100100
```
101101

102-
To learn more about the new `ConnectButton`, head over to the [Playground](https://playground.thirdweb.com/connect/sign-in/button).
102+
To learn more about the new `ConnectButton`, head over to the [Playground](/connect/sign-in/button).
103103

104104
Notice how you are passing the thirdweb client to the component itself and not to the `ThirdwebProvider` like in v4?
105105
By not putting every config inside the context wrapper, we were able to make the SDK v5 much more lightweight since you only load what you need!

apps/portal/src/app/wallets/auth/page.mdx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,3 +150,24 @@ Quickly get started with one of our templates:
150150
description="A working example of a React + Express app using Auth"
151151
/>
152152

153+
## Frameworks
154+
155+
Auth integrates with a variety of server-side and client-side development frameworks. We&apos;re always adding support for more frameworks, so if you don&apos;t see yours, [let us know](https://thirdweb.com/contact-us).
156+
157+
<Stack>
158+
159+
<ArticleIconCard
160+
title="Next.js"
161+
href="/wallets/auth/frameworks/next"
162+
description="Integrate Auth in Next.js applications."
163+
image={next}
164+
/>
165+
166+
<ArticleIconCard
167+
title="React + Express"
168+
href="/wallets/auth/frameworks/react-express"
169+
description="Integrate Auth in React applications using Vite and Express."
170+
image={react}
171+
/>
172+
173+
</Stack>

apps/portal/src/app/wallets/pregenerate-wallets/page.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ When the user logs in with any method associated with that email (including goog
6767
```
6868

6969
{/* TODO: update link when custom auth documentation has been updated */}
70-
Use this when [bringing your own authentication method](/wallets/users). When the user logs in, if the user ids you provide from the auth endpoint match, they will get access to the same pregenerated wallet.
70+
Use this when [bringing your own authentication method](/wallets/custom-auth). When the user logs in, if the user ids you provide from the auth endpoint match, they will get access to the same pregenerated wallet.
7171

7272
## Headers
7373

@@ -126,4 +126,4 @@ Pre-generating is independent and doesn't change the user's experience.
126126

127127
Your users can continue to login as per usual. When they do, they will be assigned the pregenerated wallet.
128128

129-
For more information on signing in, see the [Connect Wallets](/wallets) section.
129+
For more information on signing in, see the [User Wallets](/wallets/users) section.

apps/portal/src/app/wallets/sidebar.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ export const sidebar: SideBar = {
2828
href: `${walletSlug}/external-wallets`,
2929
name: "External Wallets",
3030
},
31+
{
32+
href: `${walletSlug}/ecosystem/set-up`,
33+
name: "Ecosystem Wallets",
34+
},
3135
{
3236
href: `${walletSlug}/sponsor-gas`,
3337
name: "Sponsor Gas",
@@ -111,10 +115,6 @@ export const sidebar: SideBar = {
111115
icon: <ExternalLinkIcon />,
112116
name: "Templates",
113117
},
114-
{
115-
href: `${walletSlug}/ecosystem/set-up`,
116-
name: "Ecosystem Wallets",
117-
},
118118
{
119119
href: `${walletSlug}/security`,
120120
name: "Security",

apps/portal/src/app/wallets/users/page.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ If you already have an auth system, you can use thirdweb to attach wallets to yo
2525

2626
<Stack>
2727
<ArticleIconCard
28-
href="/wallets/ecosystem/set-up"
28+
href="/wallets/custom-auth"
2929
icon={EcosystemWalletsIcon}
3030
title="Custom Authentication"
3131
description="Learn more about custom authentication with your own auth system"

apps/portal/src/components/others/DocSearch.tsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ const suggestedLinks: { title: string; href: string }[] = [
3131
title: "Contracts",
3232
},
3333
{
34-
href: "/engine/v3",
34+
href: "/transactions",
3535
title: "Transactions",
3636
},
3737
{
@@ -45,6 +45,7 @@ type Tag =
4545
| "React Native"
4646
| "Unity"
4747
| "TypeScript"
48+
| "Wallet SDK"
4849
| "Wallets"
4950
| "Reference"
5051
| "Python"
@@ -55,7 +56,8 @@ type Tag =
5556
| "Solidity"
5657
| "Payments"
5758
| "Glossary"
58-
| "Engine";
59+
| "Engine"
60+
| "Transactions";
5961

6062
function SearchModalContent(props: { closeModal: () => void }) {
6163
const [input, setInput] = useState("");
@@ -417,6 +419,9 @@ function getTagsFromHref(href: string): Tag[] | undefined {
417419
if (href.includes("/engine")) {
418420
return ["Engine"];
419421
}
422+
if (href.includes("/transactions")) {
423+
return ["Transactions"];
424+
}
420425
if (href.includes("/infrastructure")) {
421426
return ["Infra"];
422427
}

0 commit comments

Comments
 (0)