From 96d5ff2bf44888dac88726b58a43698da28abf06 Mon Sep 17 00:00:00 2001 From: samina Date: Tue, 5 Nov 2024 15:51:48 -0800 Subject: [PATCH 1/2] added features and deprecated interact --- .../public/icons/feature-cards/dashboard.svg | 5 ++ .../icons/feature-cards/default-library.svg | 5 ++ .../public/icons/feature-cards/deployable.svg | 6 ++ .../portal/public/icons/feature-cards/evm.svg | 12 +++ .../public/icons/feature-cards/framworks.svg | 6 ++ .../icons/feature-cards/manage-contracts.svg | 8 ++ .../public/icons/feature-cards/ownership.svg | 7 ++ .../public/icons/feature-cards/protocols.svg | 5 ++ .../public/icons/feature-cards/security.svg | 4 +- .../feature-cards/streamlined-deployment.svg | 3 + .../public/icons/feature-cards/verified.svg | 3 + .../public/icons/feature-cards/versioning.svg | 6 ++ .../public/icons/feature-cards/wallet.svg | 6 +- apps/portal/redirects.mjs | 1 + .../app/contracts/deploy/overview/page.mdx | 57 +++++++++++++-- .../app/contracts/explore/overview/page.mdx | 73 +++++++++++-------- .../app/contracts/interact/overview/page.mdx | 26 ------- apps/portal/src/app/contracts/sidebar.tsx | 26 ------- 18 files changed, 162 insertions(+), 97 deletions(-) create mode 100644 apps/portal/public/icons/feature-cards/dashboard.svg create mode 100644 apps/portal/public/icons/feature-cards/default-library.svg create mode 100644 apps/portal/public/icons/feature-cards/deployable.svg create mode 100644 apps/portal/public/icons/feature-cards/evm.svg create mode 100644 apps/portal/public/icons/feature-cards/framworks.svg create mode 100644 apps/portal/public/icons/feature-cards/manage-contracts.svg create mode 100644 apps/portal/public/icons/feature-cards/ownership.svg create mode 100644 apps/portal/public/icons/feature-cards/protocols.svg create mode 100644 apps/portal/public/icons/feature-cards/streamlined-deployment.svg create mode 100644 apps/portal/public/icons/feature-cards/verified.svg create mode 100644 apps/portal/public/icons/feature-cards/versioning.svg delete mode 100644 apps/portal/src/app/contracts/interact/overview/page.mdx diff --git a/apps/portal/public/icons/feature-cards/dashboard.svg b/apps/portal/public/icons/feature-cards/dashboard.svg new file mode 100644 index 00000000000..8552033d53a --- /dev/null +++ b/apps/portal/public/icons/feature-cards/dashboard.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/apps/portal/public/icons/feature-cards/default-library.svg b/apps/portal/public/icons/feature-cards/default-library.svg new file mode 100644 index 00000000000..8a6849640ec --- /dev/null +++ b/apps/portal/public/icons/feature-cards/default-library.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/apps/portal/public/icons/feature-cards/deployable.svg b/apps/portal/public/icons/feature-cards/deployable.svg new file mode 100644 index 00000000000..66f1efc1da8 --- /dev/null +++ b/apps/portal/public/icons/feature-cards/deployable.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/portal/public/icons/feature-cards/evm.svg b/apps/portal/public/icons/feature-cards/evm.svg new file mode 100644 index 00000000000..117d88000d9 --- /dev/null +++ b/apps/portal/public/icons/feature-cards/evm.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/apps/portal/public/icons/feature-cards/framworks.svg b/apps/portal/public/icons/feature-cards/framworks.svg new file mode 100644 index 00000000000..106d0a2119c --- /dev/null +++ b/apps/portal/public/icons/feature-cards/framworks.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/portal/public/icons/feature-cards/manage-contracts.svg b/apps/portal/public/icons/feature-cards/manage-contracts.svg new file mode 100644 index 00000000000..81ea9c98ce4 --- /dev/null +++ b/apps/portal/public/icons/feature-cards/manage-contracts.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/apps/portal/public/icons/feature-cards/ownership.svg b/apps/portal/public/icons/feature-cards/ownership.svg new file mode 100644 index 00000000000..c0fc805b0a3 --- /dev/null +++ b/apps/portal/public/icons/feature-cards/ownership.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/apps/portal/public/icons/feature-cards/protocols.svg b/apps/portal/public/icons/feature-cards/protocols.svg new file mode 100644 index 00000000000..0419e371a97 --- /dev/null +++ b/apps/portal/public/icons/feature-cards/protocols.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/apps/portal/public/icons/feature-cards/security.svg b/apps/portal/public/icons/feature-cards/security.svg index 7e719c9bec8..108de806ec4 100644 --- a/apps/portal/public/icons/feature-cards/security.svg +++ b/apps/portal/public/icons/feature-cards/security.svg @@ -1,4 +1,4 @@ - - + + diff --git a/apps/portal/public/icons/feature-cards/streamlined-deployment.svg b/apps/portal/public/icons/feature-cards/streamlined-deployment.svg new file mode 100644 index 00000000000..c1615b9a77b --- /dev/null +++ b/apps/portal/public/icons/feature-cards/streamlined-deployment.svg @@ -0,0 +1,3 @@ + + + diff --git a/apps/portal/public/icons/feature-cards/verified.svg b/apps/portal/public/icons/feature-cards/verified.svg new file mode 100644 index 00000000000..88be837833b --- /dev/null +++ b/apps/portal/public/icons/feature-cards/verified.svg @@ -0,0 +1,3 @@ + + + diff --git a/apps/portal/public/icons/feature-cards/versioning.svg b/apps/portal/public/icons/feature-cards/versioning.svg new file mode 100644 index 00000000000..092f89db0b5 --- /dev/null +++ b/apps/portal/public/icons/feature-cards/versioning.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/portal/public/icons/feature-cards/wallet.svg b/apps/portal/public/icons/feature-cards/wallet.svg index 2384971241f..196912a24b3 100644 --- a/apps/portal/public/icons/feature-cards/wallet.svg +++ b/apps/portal/public/icons/feature-cards/wallet.svg @@ -1,4 +1,4 @@ - - - + + + diff --git a/apps/portal/redirects.mjs b/apps/portal/redirects.mjs index a4802b2e8d1..72e1e9841cd 100644 --- a/apps/portal/redirects.mjs +++ b/apps/portal/redirects.mjs @@ -333,6 +333,7 @@ const solidityRedirects = { "/contracts/build/base-contracts/erc-721/delayed-reveal", "/solidity/base-contracts/smart-accounts": "/contracts/build/base-contracts/erc-4337", + "/interact/overview":"/connect/blockchain-api" }; const extensionsTable = "/typescript/v4/extensions#all-available-extensions"; diff --git a/apps/portal/src/app/contracts/deploy/overview/page.mdx b/apps/portal/src/app/contracts/deploy/overview/page.mdx index d55de3a8d06..da5e93e6a2e 100644 --- a/apps/portal/src/app/contracts/deploy/overview/page.mdx +++ b/apps/portal/src/app/contracts/deploy/overview/page.mdx @@ -1,4 +1,4 @@ -import { createMetadata } from "@doc"; +import { createMetadata, FeatureCard } from "@doc"; export const metadata = createMetadata({ image: { @@ -20,11 +20,52 @@ Simply run the following command at the root of your contract directory: npx thirdweb deploy ``` -#### Features +### Features -- **Automatically verified contracts:** Contracts deployed using Deploy are automatically verified on [Sourcify](https://sourcify.dev/). -- **Client-side deployment (increased security):** Deploy simplifies contract deployment with an intuitive dashboard. Users can avoid exporting / storing private keys, setting up RPC URLs, copying ABIs, or running scripts. -- **No additional setup:** There is no need to modify your contract or do any additional setup. Deploy works with any contract, including those created with popular frameworks such as Hardhat and Foundry. -- **Deploy to any EVM network:** Deploy supports the deployment of a contract to any EVM network. -- **Dashboard management:** Automatically add your contracts to dashboard to setup constructors, manage and interact with your contract. -- **Support for browser based wallets:** Deploy a contract using browser-based wallets like MetaMask, Coinbase Wallet, and others. Alternatively, deploy safely with a team using options such as Safe. +
+ + + + + + + + + + + +
\ No newline at end of file diff --git a/apps/portal/src/app/contracts/explore/overview/page.mdx b/apps/portal/src/app/contracts/explore/overview/page.mdx index 7a8e59a6395..788c01b9d56 100644 --- a/apps/portal/src/app/contracts/explore/overview/page.mdx +++ b/apps/portal/src/app/contracts/explore/overview/page.mdx @@ -1,4 +1,4 @@ -import { ArticleCard, createMetadata, Grid } from "@doc"; +import { ArticleCard, createMetadata, Grid, FeatureCard } from "@doc"; export const metadata = createMetadata({ image: { @@ -14,34 +14,43 @@ export const metadata = createMetadata({ Pre-built contracts are proxy contracts created by the thirdweb team to cover most common use cases and patterns for smart contracts. Contracts cover various use cases across NFTs, airdrops, staking, marketplaces, memberships, and more. All pre-built contracts are available to deploy on [Explore](https://thirdweb.com/explore). -## Features - -- **Easily deployable:** Deploy pre-built contracts through a user interface (dashboard), CLI, or even programmatically through SDKs. -- **Customized dashboard to manage contract:** Pre-built contracts provide a custom interface to easily manage your contract. -- **Retained ownership:** All contracts deployed are fully owned by the contract deployer (you). -- **Audited:** All pre-built contracts are audited by 3rd party auditors with audit reports attached and ongoing bug programs to ensure security for both deployers and users. -- **Cheaper Deployment:** Utilizing the proxy pattern, pre-built contracts are 10x cheaper to deploy vs non-proxy versions. - -## Guides - - - - - - - - - - +### Features + +
+ + + + + + + + + + +
\ No newline at end of file diff --git a/apps/portal/src/app/contracts/interact/overview/page.mdx b/apps/portal/src/app/contracts/interact/overview/page.mdx deleted file mode 100644 index 2985ef5d838..00000000000 --- a/apps/portal/src/app/contracts/interact/overview/page.mdx +++ /dev/null @@ -1,26 +0,0 @@ -import { createMetadata } from "@doc"; - -export const metadata = createMetadata({ - image: { - title: "thirdweb Interact", - icon: "contract", - }, - title: "Contract SDK | thirdweb", - description: - "The Contract SDK functions as a comprehensive interface for interacting with contracts across all EVM-compatible blockchain networks", -}); - -# Interact (Contract SDK) - -The Contract SDK functions as a comprehensive interface for interacting with contracts across all EVM-compatible blockchain networks. Created to be versatile, this SDK offers intuitive tools for constructing web and mobile applications, games, and scripts with blockchain connectivity. - -The Contract SDK removes the need to manage complex, repetitive logic, allowing developers to focus on the unique features and functionalities of their applications. - -#### Features - -- **Extension-Driven Framework:** The SDK uses an extension-driven approach, automatically recognizing and enabling functionality based on common standards that your contract implements like ERC20, ERC721, and ERC1155. The full list of extensions can be found in the Solidity documentation. -- **Multiple Languages:** SDKs for Unity, TypeScript, and React. -- **Any EVM Compatibility:** Designed to operate with any EVM-compatible network. -- **Cross-Platform Integration:** Suitable for web, mobile, gaming applications and scripting. -- **High-Level Abstractions:** Simplifies complex contract interactions into easy-to-use APIs. -- **Flexibility and No Vendor Lock-in:** The SDK is modular and composable enabling customizations and replacements of the default settings and tools. diff --git a/apps/portal/src/app/contracts/sidebar.tsx b/apps/portal/src/app/contracts/sidebar.tsx index dbf5da8c6ad..e032114b575 100644 --- a/apps/portal/src/app/contracts/sidebar.tsx +++ b/apps/portal/src/app/contracts/sidebar.tsx @@ -748,32 +748,6 @@ export const sidebar: SideBar = { ], }, { separator: true }, - // interact - { - name: "Interact", - icon: , - isCollapsible: false, - links: [ - { - name: "Overview", - href: `${interactSlug}/overview`, - }, - { - name: "References", - links: [ - { - name: "TypeScript", - href: "/typescript/v5", - }, - { - name: "Unity", - href: "/unity", - }, - ], - }, - ], - }, - { separator: true }, // publish { name: "Publish", From 647302b64754404bdaa802b3630fceaadfa8bfaa Mon Sep 17 00:00:00 2001 From: samina Date: Tue, 5 Nov 2024 15:56:16 -0800 Subject: [PATCH 2/2] fixed lint issues I think --- apps/portal/src/app/contracts/sidebar.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/apps/portal/src/app/contracts/sidebar.tsx b/apps/portal/src/app/contracts/sidebar.tsx index e032114b575..f7d4a392f88 100644 --- a/apps/portal/src/app/contracts/sidebar.tsx +++ b/apps/portal/src/app/contracts/sidebar.tsx @@ -2,7 +2,6 @@ import type { SideBar } from "@/components/Layouts/DocLayout"; import { ContractDeployIcon, ContractExploreIcon, - ContractInteractIcon, ContractModularContractIcon, ContractPublishIcon, } from "@/icons"; @@ -17,7 +16,6 @@ const coreContractsSlug = "/contracts/modular-contracts/core-contracts"; // TODO: Deprecate links that start with the following slugs const buildSlug = "/contracts/build"; -const interactSlug = "/contracts/interact"; const extensionsSlug = "/contracts/build/extensions"; const baseContractsSlug = "/contracts/build/base-contracts";