Skip to content

Commit b30a814

Browse files
committed
[Portal] Feature: Modified overview and added components (#5547)
## Problem solved Short description of the bug fixed or feature added. PROT-926 <!-- start pr-codex --> --- ## PR-Codex overview This PR focuses on enhancing documentation for various smart contracts by adding new components and updating existing content. It introduces new `ContractDeployCard` elements to highlight modular contract options and expands the description of certain contracts. ### Detailed summary - Updated `VALID_ISSUE_PREFIXES` in `.github/workflows/issue.yml` to include `PROT`. - Added `ContractDeployCard` components in multiple `.mdx` files for: - `Modular Token` - `Modular Edition Drop` - `Modular Open Edition` - `Modular Token Drop` - `Modular NFT Collection` - `Modular NFT Drop` - `Modular Edition` - Revised introduction and features sections in `apps/portal/src/app/contracts/page.mdx`. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->
1 parent 0aa2416 commit b30a814

File tree

9 files changed

+47
-17
lines changed

9 files changed

+47
-17
lines changed

.github/workflows/issue.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55
types: [opened, edited]
66

77
env:
8-
VALID_ISSUE_PREFIXES: "CNCT|DASH"
8+
VALID_ISSUE_PREFIXES: "CNCT|DASH|PROT"
99

1010
jobs:
1111
linear:

apps/portal/src/app/contracts/explore/pre-built-modular/edition-drop/page.mdx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { createMetadata, DocImage, Steps, Step, Callout, ContractDeployCard } from "@doc";
1+
import { createMetadata, DocImage, Steps, Step, Callout } from "@doc";
2+
import { ContractDeployCard } from "@/components/Document/ContractDeployCard";
23
import editionDropStep1 from './assets/edition_drop_step1.png'
34
import editionDropStep2 from './assets/edition_drop_step2.png'
45
import editionDropStep3 from './assets/edition_drop_step3.png'
@@ -10,6 +11,9 @@ The Edition Drop contract also known as “semi-fungible” or “multi” token
1011

1112
Edition Drop includes settings called claim conditions which allow deployers to set a prices for tokens per claim phase and limits on how many tokens to be released.
1213

14+
<ContractDeployCard contractName="Modular Edition Drop" href="https://thirdweb.com/thirdweb.eth/ERC1155CoreInitializable?module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IkNsYWltYWJsZUVSQzExNTUifQ%3D%3D&module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IkJhdGNoTWV0YWRhdGFFUkMxMTU1In0%3D&module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IlJveWFsdHlFUkMxMTU1In0%3D&module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IlNlcXVlbnRpYWxUb2tlbklkRVJDMTE1NSJ9&displayName=Modular+Edition+Drop" />
15+
16+
1317
### Edition Drop vs Edition
1418

1519
The Edition Drop contract allows users to claim tokens based on specific settings set using Claim Conditions. If you do not need to set limits or special settings on how to claim, refer to the Edition contract.

apps/portal/src/app/contracts/explore/pre-built-modular/edition/page.mdx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { createMetadata, DocImage, Steps, Step, Callout, ContractDeployCard } from "@doc";
1+
import { createMetadata, DocImage, Steps, Step, Callout} from "@doc";
2+
import { ContractDeployCard } from "@/components/Document/ContractDeployCard";
23
import editionStep1 from './assets/edition_step1.png'
34
import editionStep2 from './assets/edition_step2.png'
45
import editionStep3 from './assets/edition_step3.png'
@@ -11,6 +12,8 @@ The Edition contract also known as “semi-fungible” or “multi” tokens cre
1112

1213
For advanced use cases, Edition enables signature-minting capabilities.
1314

15+
<ContractDeployCard contractName="Modular Edition" href="https://thirdweb.com/thirdweb.eth/ERC1155CoreInitializable?module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6Ik1pbnRhYmxlRVJDMTE1NSJ9&module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IkJhdGNoTWV0YWRhdGFFUkMxMTU1In0%3D&module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IlRyYW5zZmVyYWJsZUVSQzExNTUifQ%3D%3D&module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IlNlcXVlbnRpYWxUb2tlbklkRVJDMTE1NSJ9&displayName=Modular+Edition" />
16+
1417
### Edition vs Edition Drop
1518

1619
Edition does not have lazy minting capabilities or claim conditions. If you’d prefer to define specific settings such as claim limits, start and end times to claim, and more, please refer to the [Edition Drop contract](https://thirdweb.com/thirdweb.eth/ERC1155CoreInitializable?module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IkNsYWltYWJsZUVSQzExNTUifQ%3D%3D&module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IkJhdGNoTWV0YWRhdGFFUkMxMTU1In0%3D&module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IlJveWFsdHlFUkMxMTU1In0%3D&module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IlNlcXVlbnRpYWxUb2tlbklkRVJDMTE1NSJ9&displayName=Modular+Edition+Drop).

apps/portal/src/app/contracts/explore/pre-built-modular/nft-collection/page.mdx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { createMetadata, DocImage, Steps, Step, Callout, ContractDeployCard } from "@doc";
1+
import { createMetadata, DocImage, Steps, Step, Callout } from "@doc";
2+
import { ContractDeployCard } from "@/components/Document/ContractDeployCard";
23
import collectionStep1 from './assets/nft_collection_step1.png'
34
import collectionStep2 from './assets/nft_collection_step2.png'
45
import collectionStep3 from './assets/nft_collection_step3.png'
@@ -12,6 +13,8 @@ The NFT Collection contract creates a unique collection of NFTs based on the ERC
1213

1314
For advanced use-cases requiring , NFT Collection includes signature-based minting capabilities.
1415

16+
<ContractDeployCard contractName="Modular NFT Collection" href="https://thirdweb.com/thirdweb.eth/ERC721CoreInitializable?module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6Ik1pbnRhYmxlRVJDNzIxIn0%3D&module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IkJhdGNoTWV0YWRhdGFFUkM3MjEifQ%3D%3D&module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IlRyYW5zZmVyYWJsZUVSQzcyMSJ9&displayName=Modular+NFT+Collection" />
17+
1518
### NFT Collection vs NFT Drop
1619

1720
NFT Collection contract does not have lazy minting capabilities or claim conditions. If you’d prefer to define specific settings such as claim limits, start and end times to claim, and more, please refer to the [NFT Drop contract](https://thirdweb.com/thirdweb.eth/ERC721CoreInitializable?module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IkNsYWltYWJsZUVSQzcyMSJ9&module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IkJhdGNoTWV0YWRhdGFFUkM3MjEifQ%3D%3D&module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IlJveWFsdHlFUkM3MjEifQ%3D%3D&displayName=Modular+NFT+Drop).

apps/portal/src/app/contracts/explore/pre-built-modular/nft-drop/page.mdx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
import { createMetadata, DocImage, Steps, Step, Callout, ContractDeployCard } from "@doc";
1+
import { createMetadata, DocImage, Steps, Step, Callout } from "@doc";
2+
import { ContractDeployCard } from "@/components/Document/ContractDeployCard";
3+
24
import nftDropStep1 from './assets/nft_drop_step1.png'
35
import nftDropStep2 from './assets/nft_drop_step2.png'
46
import nftDropStep3 from './assets/nft_drop_step3.png'
@@ -7,6 +9,8 @@ import nftDropStep3 from './assets/nft_drop_step3.png'
79

810
The NFT Drop contract creates a unique collection of NFTs based on the [ERC-721A](https://www.erc721a.org/) standard. NFT Drop allows you to define claim conditions or settings which define how a user can claim an NFT.
911

12+
<ContractDeployCard contractName="Modular NFT Drop" href="https://thirdweb.com/thirdweb.eth/ERC721CoreInitializable?module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IkNsYWltYWJsZUVSQzcyMSJ9&module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IkJhdGNoTWV0YWRhdGFFUkM3MjEifQ%3D%3D&module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IlJveWFsdHlFUkM3MjEifQ%3D%3D&displayName=Modular+NFT+Drop" />
13+
1014
### NFT Drop vs NFT Collection
1115

1216
NFT Drop has the Claimable module enabling claim conditions. If you’d prefer to not define specific settings such as claim limits, start and end times to claim, and more, please refer to the [NFT Collection contract](https://thirdweb.com/thirdweb.eth/ERC721CoreInitializable?module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6Ik1pbnRhYmxlRVJDNzIxIn0%3D&module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IkJhdGNoTWV0YWRhdGFFUkM3MjEifQ%3D%3D&module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IlRyYW5zZmVyYWJsZUVSQzcyMSJ9&displayName=Modular+NFT+Collection).

apps/portal/src/app/contracts/explore/pre-built-modular/open-edition/page.mdx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { createMetadata, DocImage, Steps, Step, Callout, ContractDeployCard } from "@doc";
1+
import { createMetadata, DocImage, Steps, Step, Callout } from "@doc";
2+
import { ContractDeployCard } from "@/components/Document/ContractDeployCard";
23
import openEditionStep1 from './assets/oe_step1.png'
34
import openEditionStep2 from './assets/oe_step2.png'
45
import openEditionStep3 from './assets/oe_step3.png'
@@ -11,6 +12,8 @@ import openEditionStep4 from './assets/oe_step4.png'
1112

1213
The Open Edition contract creates NFTs with shared metadata with unique token IDs appended to the NFTs name. Contrary to standard NFT contracts, Open Edition has an unlimited supply and users may continuously mint them increasing accessibility to a broader audience. The Open Edition contract is based on the ERC-721A contract.
1314

15+
<ContractDeployCard contractName="Modular Open Edition" href="https://thirdweb.com/thirdweb.eth/ERC721CoreInitializable?module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IkNsYWltYWJsZUVSQzcyMSJ9&module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6Ik9wZW5FZGl0aW9uTWV0YWRhdGFFUkM3MjEifQ%3D%3D&module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IlJveWFsdHlFUkM3MjEifQ%3D%3D&displayName=Modular+Open+Edition" />
16+
1417
### Claim Settings
1518

1619
This contract does not require limits to the total supply of NFTs. Any settings related to claim phases may still be applied such as price per NFT, allowlists, start and end times to the phases, and NFTs per wallet.

apps/portal/src/app/contracts/explore/pre-built-modular/token-drop/page.mdx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { createMetadata, DocImage, Steps, Step, Callout, ContractDeployCard } from "@doc";
1+
import { createMetadata, DocImage, Steps, Step, Callout} from "@doc";
2+
import { ContractDeployCard } from "@/components/Document/ContractDeployCard";
23
import tokenDropStep1 from './assets/token_drop_step1.png'
34
import tokenDropStep2 from './assets/token_drop_step2.png'
45
import tokenDropStep3 from './assets/token_drop_step3.png'
@@ -12,6 +13,8 @@ The Token Drop contract creates digital currencies that are released for a set p
1213

1314
Token Drop includes settings called claim conditions which allow deployers to set a prices for tokens per claim phase and limits on how many tokens to be released. These are enabled through the Claimable module.
1415

16+
<ContractDeployCard contractName="Modular Token Drop" href="https://thirdweb.com/thirdweb.eth/ERC20CoreInitializable?module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IkNsYWltYWJsZUVSQzIwIn0%3D&module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IlRyYW5zZmVyYWJsZUVSQzIwIn0%3D&displayName=Modular+Token+Drop" />
17+
1518
### Token vs Token Drop
1619

1720
The Token Drop contract allows users to claim tokens based on specific settings set using Claim Conditions. If you do not need to set limits or special settings on how to claim, refer to the simple [Token contract](https://thirdweb.com/thirdweb.eth/ERC20CoreInitializable?module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6Ik1pbnRhYmxlRVJDMjAifQ%3D%3D&module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IlRyYW5zZmVyYWJsZUVSQzIwIn0%3D&displayName=Modular+Token).

apps/portal/src/app/contracts/explore/pre-built-modular/token/page.mdx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
1-
import { createMetadata, DocImage, Steps, Step, Callout, ContractDeployCard } from "@doc";
1+
import { createMetadata, DocImage, Steps, Step, Callout } from "@doc";
2+
import { ContractDeployCard } from "@/components/Document/ContractDeployCard";
23
import tokenStep1 from './assets/token_step1.png'
34
import tokenStep2 from './assets/token_step2.png'
45
import tokenStep3 from './assets/token_step3.png'
56
import tokenTransferable from '../assets/erc20_transferable.png'
67

78

9+
10+
811
# Deploy a modular Token Contract
912

1013
The modular Token contract creates digital currencies and is compliant with the ERC-20 standard. This contract defines a common set of
1114
rules for tokens including how they can be transferred, how transactions are approved, and how data about token balances is accessed.
1215

16+
<ContractDeployCard contractName="Modular Token" href="https://thirdweb.com/thirdweb.eth/ERC20CoreInitializable?module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6Ik1pbnRhYmxlRVJDMjAifQ%3D%3D&module=eyJwdWJsaXNoZXIiOiJkZXBsb3llci50aGlyZHdlYi5ldGgiLCJtb2R1bGVJZCI6IlRyYW5zZmVyYWJsZUVSQzIwIn0%3D&displayName=Modular+Token" />
17+
18+
1319
### Token vs Token Drop
1420

1521
The Token contract does not allow users to claim tokens under the criteria of claim conditions. If you would prefer

apps/portal/src/app/contracts/page.mdx

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,25 @@ export const metadata = createMetadata({
66
"Tools to easily create, deploy, and manage smart contracts on any EVM compatible blockchain.",
77
});
88

9-
# Contracts
9+
# What are Contracts?
1010

11-
End-to-end tools for smart contract development.
11+
Contracts is an end-to-end development suite which provides tools to develop, deploy, and manage smart contracts
1212

13-
Trusted, modular smart contracts that can be deployed securely on any EVM chain.
13+
### Features
14+
15+
- [Explore (Contract Library)](/contracts/explore/overview): Audited and expansive library of contracts deployable with one-click
16+
- [Modular Contracts](/modular-contracts/overview): Framework to build highly customizable and secure smart contracts
17+
- [Deployment Tool](/contracts/deploy/overview): Client-side deploy tool to securely deploy any contract to any EVM compatible chain
1418

1519
<OpenSourceCard title="Contracts" href="https://github.com/thirdweb-dev/contracts" />
1620

17-
## Features
21+
### With Contracts, you can:
1822

19-
- [Explore:](/contracts/explore/overview) Ready to deploy contracts
20-
- [Build:](/contracts/build/overview) Write your own smart contracts
21-
- [Deploy:](/contracts/deploy/overview) Contract deployment built for any use-case
22-
- [Publish:](/contracts/publish/overview) Publish your contracts onchain
23-
- [Interact:](/contracts) Integrate smart contract interactions directly into your app
23+
- Easily deploy custom or pre-built contracts to over [2,000+ available EVM networks](https://thirdweb.com/chainlist)
24+
- Create and publish contracts for your team or community to utilize with an easy-to-deploy interface
25+
- Create reusable contract components or modules to add to modular contracts to upgrade functionality
26+
- Manage contract functionality, upload NFTs, set distribution mechanisms, and more directly from the dashboard
27+
- Reduce development time by using an existing library of contracts with accompanying SDK functions and dashboard integrations to interact with contracts
2428

2529
### Templates
2630

0 commit comments

Comments
 (0)