├── .eslintignore ├── .eslintrc.json ├── .gitignore ├── .prettierrc ├── .vscode └── settings.json ├── README.md ├── bun.lockb ├── components.json ├── mdx-components.tsx ├── next-sitemap.config.js ├── next.config.mjs ├── package.json ├── pnpm-lock.yaml ├── postcss.config.js ├── public ├── favicon.ico ├── icons │ ├── connect │ │ └── intros │ │ │ ├── demo.svg │ │ │ ├── quickstart.svg │ │ │ ├── video-tutorial.svg │ │ │ └── why-connect.svg │ ├── extensions-graphic.png │ ├── feature-cards │ │ ├── account-abstraction.svg │ │ ├── account-factory.svg │ │ ├── authentication.svg │ │ ├── bundler.svg │ │ ├── chain-coverage.svg │ │ ├── compatibility.svg │ │ ├── composable-api.svg │ │ ├── customize.svg │ │ ├── earn-money.svg │ │ ├── fiat-ramp.svg │ │ ├── fingerprint.svg │ │ ├── gasless.svg │ │ ├── global-coverage.svg │ │ ├── in-app-purchase.svg │ │ ├── integration-options.svg │ │ ├── key.svg │ │ ├── liquidity-aggregation.svg │ │ ├── localization.svg │ │ ├── onboard-users.svg │ │ ├── permissions.svg │ │ ├── security.svg │ │ ├── session-keys.svg │ │ ├── transactions.svg │ │ ├── upgrade.svg │ │ └── wallet.svg │ ├── navbar │ │ ├── nav-icon-CLI.svg │ │ ├── nav-icon-dashboard.svg │ │ ├── nav-icon-docs.svg │ │ ├── nav-icon-dotnet.svg │ │ ├── nav-icon-guides.svg │ │ ├── nav-icon-opensource.svg │ │ ├── nav-icon-react-native.svg │ │ ├── nav-icon-react.svg │ │ ├── nav-icon-solidity.svg │ │ ├── nav-icon-templates.svg │ │ ├── nav-icon-typescript.svg │ │ ├── nav-icon-unity.svg │ │ └── nav-icon-unreal.svg │ ├── thirdweb-logo.svg │ └── wallets │ │ ├── aws-kms.png │ │ ├── aws-secrets-manager.png │ │ ├── blocto.svg │ │ ├── coin98.png │ │ ├── coinbase.svg │ │ ├── coreWallet.png │ │ ├── cryptoDefi.png │ │ ├── embeddedwallet.svg │ │ ├── ethers.png │ │ ├── frame.svg │ │ ├── localwallet.svg │ │ ├── magiclink.svg │ │ ├── metamask.svg │ │ ├── okx.svg │ │ ├── oneKey.png │ │ ├── phantom.svg │ │ ├── privateKey.svg │ │ ├── rabby.svg │ │ ├── rainbow.svg │ │ ├── safe.svg │ │ ├── smartwallet.svg │ │ ├── trust.svg │ │ ├── walletconnect.svg │ │ ├── xdefi.svg │ │ └── zerion.svg ├── next.svg ├── og │ ├── background-1.png │ └── icons │ │ ├── auth.svg │ │ ├── changelog.svg │ │ ├── contract.svg │ │ ├── dotnet.svg │ │ ├── infra.svg │ │ ├── payment.svg │ │ ├── react.svg │ │ ├── rpc.svg │ │ ├── solidity.svg │ │ ├── storage.svg │ │ ├── thirdweb.svg │ │ ├── typescript.svg │ │ ├── unity.svg │ │ ├── unreal.svg │ │ └── wallets.svg ├── pdfs │ └── thirdweb_code_security_audit.pdf ├── robots.txt └── vercel.svg ├── redirects.mjs ├── scripts ├── createEmptySearchIndex.ts └── extractSearchData.ts ├── src ├── app │ ├── Header.tsx │ ├── _images │ │ └── docs-hero.svg │ ├── account │ │ ├── api-keys │ │ │ ├── access │ │ │ │ └── page.mdx │ │ │ ├── assets │ │ │ │ ├── all-services.png │ │ │ │ ├── allowed-domains.png │ │ │ │ ├── choose-key.png │ │ │ │ ├── confirm-delete.png │ │ │ │ ├── create-key.png │ │ │ │ ├── credentials.png │ │ │ │ ├── descriptive-name.png │ │ │ │ ├── select-edit.png │ │ │ │ └── smart-wallet-api-key.png │ │ │ ├── create │ │ │ │ └── page.mdx │ │ │ ├── delete │ │ │ │ └── page.mdx │ │ │ ├── edit-services │ │ │ │ └── page.mdx │ │ │ ├── faq │ │ │ │ └── page.mdx │ │ │ ├── page.mdx │ │ │ └── use │ │ │ │ └── page.mdx │ │ ├── billing │ │ │ ├── account-info │ │ │ │ └── page.mdx │ │ │ ├── assets │ │ │ │ └── usage-settings.png │ │ │ ├── credits │ │ │ │ ├── opimg1.png │ │ │ │ ├── opimg2.png │ │ │ │ └── page.mdx │ │ │ ├── manage-billing │ │ │ │ └── page.mdx │ │ │ └── upgrade-plan │ │ │ │ ├── assets │ │ │ │ ├── confirm-downgrade.png │ │ │ │ └── growth-plan.png │ │ │ │ └── page.mdx │ │ ├── layout.tsx │ │ ├── page.mdx │ │ └── sidebar.tsx │ ├── api │ │ ├── email-signup │ │ │ └── route.ts │ │ ├── og │ │ │ ├── inter │ │ │ │ └── 700.ttf │ │ │ └── route.tsx │ │ └── search │ │ │ ├── extraction │ │ │ ├── getFilesRecursive.ts │ │ │ ├── index.ts │ │ │ ├── settings.ts │ │ │ └── trimExtraSpace.ts │ │ │ ├── indexing │ │ │ └── createIndex.ts │ │ │ ├── route.ts │ │ │ ├── searching │ │ │ └── search.ts │ │ │ └── types.ts │ ├── changelog │ │ ├── [slug] │ │ │ ├── layout.tsx │ │ │ ├── page.tsx │ │ │ └── styles.css │ │ ├── components │ │ │ ├── Author.tsx │ │ │ ├── ChangeLogIndexTOC.tsx │ │ │ └── RenderData.tsx │ │ ├── ghost.ts │ │ ├── layout.tsx │ │ ├── page.tsx │ │ └── utils │ │ │ └── transform.tsx │ ├── cli │ │ ├── build │ │ │ └── page.mdx │ │ ├── create │ │ │ └── page.mdx │ │ ├── generate │ │ │ └── page.mdx │ │ ├── install │ │ │ └── page.mdx │ │ ├── layout.tsx │ │ ├── login │ │ │ ├── link-device-cli-auth.png │ │ │ ├── page.mdx │ │ │ └── revoke-access-cli-auth.png │ │ ├── logout │ │ │ └── page.mdx │ │ ├── page.mdx │ │ ├── sidebar.tsx │ │ └── upload │ │ │ └── page.mdx │ ├── connect │ │ ├── account-abstraction │ │ │ ├── batching-transactions │ │ │ │ └── page.mdx │ │ │ ├── factories │ │ │ │ └── page.mdx │ │ │ ├── faq │ │ │ │ └── page.mdx │ │ │ ├── gasless │ │ │ │ ├── biconomy │ │ │ │ │ └── page.mdx │ │ │ │ ├── engine │ │ │ │ │ └── page.mdx │ │ │ │ └── openzeppelin │ │ │ │ │ └── page.mdx │ │ │ ├── get-started │ │ │ │ └── page.mdx │ │ │ ├── guides │ │ │ │ ├── react │ │ │ │ │ └── page.mdx │ │ │ │ └── typescript │ │ │ │ │ └── page.mdx │ │ │ ├── how-it-works │ │ │ │ └── page.mdx │ │ │ ├── images │ │ │ │ └── wallet.png │ │ │ ├── infrastructure │ │ │ │ └── page.mdx │ │ │ ├── overview │ │ │ │ └── page.mdx │ │ │ ├── permissions │ │ │ │ └── page.mdx │ │ │ └── sponsorship-rules │ │ │ │ ├── page.mdx │ │ │ │ └── sponsorship-rules.png │ │ ├── assets │ │ │ └── test.jpg │ │ ├── auth │ │ │ ├── assets │ │ │ │ ├── auth-api-0.svg │ │ │ │ ├── auth-api-1.svg │ │ │ │ ├── auth-api-2.svg │ │ │ │ ├── auth-api-3.svg │ │ │ │ ├── auth-api-4.svg │ │ │ │ ├── auth-diagram.svg │ │ │ │ ├── firebase-db.png │ │ │ │ ├── firebase-users.png │ │ │ │ ├── getting-started-1.png │ │ │ │ ├── getting-started-2.png │ │ │ │ ├── getting-started-3.png │ │ │ │ ├── json-web-tokens-1.png │ │ │ │ ├── web2auth-diagram.svg │ │ │ │ └── web3auth-diagram.svg │ │ │ ├── deploying-to-production │ │ │ │ └── page.mdx │ │ │ ├── frameworks │ │ │ │ ├── next │ │ │ │ │ └── page.mdx │ │ │ │ └── react-express │ │ │ │ │ └── page.mdx │ │ │ └── page.mdx │ │ ├── blockchain-api │ │ │ └── page.mdx │ │ ├── ecosystems │ │ │ ├── assets │ │ │ │ ├── add-partner.png │ │ │ │ ├── create-ecosystem-wallet.png │ │ │ │ ├── ecosystem-info.png │ │ │ │ ├── ecosystem-wallet-permissions.png │ │ │ │ ├── ecosystem-wallet.png │ │ │ │ ├── full-login-system.png │ │ │ │ ├── single-login-option.png │ │ │ │ ├── wallet-explorer.png │ │ │ │ └── xai-connect-wallet-explorer.png │ │ │ ├── ecosystem-permissions │ │ │ │ └── page.mdx │ │ │ ├── faq │ │ │ │ └── page.mdx │ │ │ ├── get-started │ │ │ │ └── page.mdx │ │ │ ├── integrating-partners │ │ │ │ └── page.mdx │ │ │ ├── overview │ │ │ │ └── page.mdx │ │ │ └── wallet-explorer │ │ │ │ └── page.mdx │ │ ├── in-app-wallet │ │ │ ├── custom-auth │ │ │ │ ├── configuration │ │ │ │ │ └── page.mdx │ │ │ │ ├── custom-auth-server │ │ │ │ │ └── page.mdx │ │ │ │ ├── custom-jwt-auth-server │ │ │ │ │ └── page.mdx │ │ │ │ ├── firebase-auth │ │ │ │ │ └── page.mdx │ │ │ │ ├── images │ │ │ │ │ ├── configuration-view.png │ │ │ │ │ ├── custom-json-firebase.png │ │ │ │ │ ├── customauth.png │ │ │ │ │ ├── customauthdb.png │ │ │ │ │ ├── customauthdb2.png │ │ │ │ │ ├── ew-configuration-opt.png │ │ │ │ │ ├── ew-configuration.png │ │ │ │ │ ├── ew-create-key.png │ │ │ │ │ ├── ew-custom-auth-config.png │ │ │ │ │ ├── ew-custom-auth-flow.png │ │ │ │ │ ├── jwk-creator-tool.png │ │ │ │ │ └── speedracer.png │ │ │ │ └── overview │ │ │ │ │ └── page.mdx │ │ │ ├── faqs │ │ │ │ └── page.mdx │ │ │ ├── get-started │ │ │ │ └── page.mdx │ │ │ ├── how-it-works │ │ │ │ ├── assets │ │ │ │ │ ├── app-scoped.svg │ │ │ │ │ └── embed-creation.svg │ │ │ │ └── page.mdx │ │ │ ├── how-to │ │ │ │ ├── build-your-own-ui │ │ │ │ │ └── page.mdx │ │ │ │ ├── connect-users │ │ │ │ │ ├── connect-wallet-hero.webp │ │ │ │ │ └── page.mdx │ │ │ │ ├── enable-gasless │ │ │ │ │ ├── connect-wallet-embedded-compact.png │ │ │ │ │ ├── connect-wallet-smart-dropdown.png │ │ │ │ │ ├── page.mdx │ │ │ │ │ └── smart-wallet.svg │ │ │ │ ├── export-private-key │ │ │ │ │ ├── confirm-reveal.png │ │ │ │ │ ├── export-key.png │ │ │ │ │ ├── exported-key.png │ │ │ │ │ ├── manage-wallet.png │ │ │ │ │ └── page.mdx │ │ │ │ ├── get-in-app-wallet-details-on-server │ │ │ │ │ └── page.mdx │ │ │ │ ├── interact-blockchain │ │ │ │ │ └── page.mdx │ │ │ │ └── interact-with-wallets │ │ │ │ │ └── page.mdx │ │ │ ├── images │ │ │ │ ├── embedded-wallet.svg │ │ │ │ ├── unity.webp │ │ │ │ └── wallet.png │ │ │ └── overview │ │ │ │ ├── embed-overview.svg │ │ │ │ └── page.mdx │ │ ├── layout.tsx │ │ ├── page.mdx │ │ ├── pay │ │ │ ├── assets │ │ │ │ ├── avax-to-usd.png │ │ │ │ ├── buy-with-crypto.png │ │ │ │ ├── bwc.png │ │ │ │ ├── bwf.png │ │ │ │ ├── get-started-embed.png │ │ │ │ ├── get-started-send.png │ │ │ │ ├── pay-api-key.png │ │ │ │ ├── pay-modal.png │ │ │ │ ├── pay-overview.png │ │ │ │ └── pay-settings.png │ │ │ ├── build-a-custom-experience │ │ │ │ └── page.mdx │ │ │ ├── buy-with-crypto │ │ │ │ ├── fee-sharing │ │ │ │ │ └── page.mdx │ │ │ │ ├── get-started │ │ │ │ │ ├── page.mdx │ │ │ │ │ ├── react-example.mdx │ │ │ │ │ └── typescript-example.mdx │ │ │ │ ├── overview │ │ │ │ │ └── page.mdx │ │ │ │ └── page.mdx │ │ │ ├── buy-with-fiat │ │ │ │ └── page.mdx │ │ │ ├── customization │ │ │ │ ├── connectbutton │ │ │ │ │ └── page.mdx │ │ │ │ ├── payembed │ │ │ │ │ └── page.mdx │ │ │ │ └── send-transaction │ │ │ │ │ └── page.mdx │ │ │ ├── faqs │ │ │ │ └── page.mdx │ │ │ ├── get-started │ │ │ │ └── page.mdx │ │ │ ├── overview │ │ │ │ └── page.mdx │ │ │ ├── supported-chains │ │ │ │ └── page.mdx │ │ │ └── test-mode │ │ │ │ └── page.mdx │ │ ├── quickstart │ │ │ └── page.mdx │ │ ├── sidebar.tsx │ │ ├── sign-in │ │ │ ├── ConnectButton │ │ │ │ └── page.mdx │ │ │ ├── ConnectEmbed │ │ │ │ └── page.mdx │ │ │ ├── Custom-UI │ │ │ │ └── page.mdx │ │ │ ├── assets │ │ │ │ ├── ConnectEmbed-embedded.png │ │ │ │ ├── Wide-dark.png │ │ │ │ ├── compact-dark-social.png │ │ │ │ ├── compact-dark.png │ │ │ │ ├── connect-image-new.svg │ │ │ │ ├── connect-playground.png │ │ │ │ ├── connect-wallet-modal.png │ │ │ │ ├── connect.png │ │ │ │ ├── custom-modals.png │ │ │ │ ├── custom-welcome.png │ │ │ │ └── narrow-wide.png │ │ │ ├── customization │ │ │ │ └── page.mdx │ │ │ ├── methods │ │ │ │ ├── email-and-phone │ │ │ │ │ └── page.mdx │ │ │ │ ├── external-wallets │ │ │ │ │ └── page.mdx │ │ │ │ └── social-logins │ │ │ │ │ └── page.mdx │ │ │ └── overview │ │ │ │ └── page.mdx │ │ ├── supported-chains │ │ │ └── page.mdx │ │ └── why-thirdweb │ │ │ ├── assets │ │ │ ├── bundlesize-transparent.png │ │ │ └── performance-transparent.png │ │ │ └── page.mdx │ ├── contracts │ │ ├── assets │ │ │ └── test.jpg │ │ ├── build │ │ │ ├── base-contracts │ │ │ │ ├── erc-1155 │ │ │ │ │ ├── base │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── delayed-reveal │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── drop │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── lazy-mint │ │ │ │ │ │ └── page.mdx │ │ │ │ │ └── signature-mint │ │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc-20 │ │ │ │ │ ├── base │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── drop-vote │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── drop │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── signature-mint-vote │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── signature-mint │ │ │ │ │ │ └── page.mdx │ │ │ │ │ └── vote │ │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc-4337 │ │ │ │ │ ├── account-factory │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── account │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── managed-account-factory │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── managed-account │ │ │ │ │ │ └── page.mdx │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc-721 │ │ │ │ │ ├── base │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── delayed-reveal │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── drop │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── lazy-mint │ │ │ │ │ │ └── page.mdx │ │ │ │ │ └── signature-mint │ │ │ │ │ │ └── page.mdx │ │ │ │ └── page.mdx │ │ │ ├── extensions │ │ │ │ ├── erc-1155 │ │ │ │ │ ├── ERC1155 │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155BatchMintable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155Burnable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155ClaimConditions │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155ClaimCustom │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155ClaimPhases │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155Claimable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155Drop │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155DropSinglePhase │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155Enumerable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155Mintable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155Revealable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155SignatureMint │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155Staking │ │ │ │ │ │ └── page.mdx │ │ │ │ │ └── ERC1155Supply │ │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc-20 │ │ │ │ │ ├── ERC20 │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC20BatchMintable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC20Burnable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC20ClaimConditions │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC20Mintable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC20Permit │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC20SignatureMint │ │ │ │ │ │ └── page.mdx │ │ │ │ │ └── ERC20Staking │ │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc-4337 │ │ │ │ │ ├── AccountExtension │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── SmartWallet │ │ │ │ │ │ └── page.mdx │ │ │ │ │ └── SmartWalletFactory │ │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc-721 │ │ │ │ │ ├── ERC721 │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721BatchMintable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721Burnable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721ClaimConditions │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721ClaimCustom │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721ClaimPhases │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721Claimable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721Enumerable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721Mintable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721Revealable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721SignatureMint │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721Staking │ │ │ │ │ │ └── page.mdx │ │ │ │ │ └── ERC721Supply │ │ │ │ │ │ └── page.mdx │ │ │ │ ├── general │ │ │ │ │ ├── BatchMintMetadata │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ContractMetadata │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── DelayedReveal │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── Drop │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── DropSinglePhase │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── LazyMint │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── Multicall │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── Ownable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── Permissions │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── PermissionsEnumerable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── PlatformFee │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── PrimarySale │ │ │ │ │ │ └── page.mdx │ │ │ │ │ └── Royalty │ │ │ │ │ │ └── page.mdx │ │ │ │ └── page.mdx │ │ │ ├── get-started │ │ │ │ └── page.mdx │ │ │ ├── modular-contracts │ │ │ │ ├── assets │ │ │ │ │ ├── modular-contracts-analogy.png │ │ │ │ │ └── modular-contracts-flow.png │ │ │ │ └── page.mdx │ │ │ └── overview │ │ │ │ ├── assets │ │ │ │ └── extension-model.svg │ │ │ │ └── page.mdx │ │ ├── deploy │ │ │ ├── deploy-contract │ │ │ │ ├── assets │ │ │ │ │ ├── deploy-cli.png │ │ │ │ │ ├── deploy-contract.png │ │ │ │ │ ├── detected-extensions.png │ │ │ │ │ └── link-device.png │ │ │ │ └── page.mdx │ │ │ ├── overview │ │ │ │ └── page.mdx │ │ │ └── reference │ │ │ │ └── page.mdx │ │ ├── design-docs │ │ │ ├── drop │ │ │ │ ├── assets │ │ │ │ │ └── claim-conditions.png │ │ │ │ └── page.mdx │ │ │ ├── marketplace │ │ │ │ └── page.mdx │ │ │ ├── modular-contracts │ │ │ │ ├── assets │ │ │ │ │ ├── modular-contracts-analogy.png │ │ │ │ │ └── modular-contracts-flow.png │ │ │ │ └── page.mdx │ │ │ ├── multiwrap │ │ │ │ ├── assets │ │ │ │ │ └── multiwrap-diagram.png │ │ │ │ └── page.mdx │ │ │ ├── pack │ │ │ │ ├── assets │ │ │ │ │ ├── pack-diagram-1.png │ │ │ │ │ ├── pack-diagram-2.png │ │ │ │ │ └── pack-diagram-3.png │ │ │ │ └── page.mdx │ │ │ └── signature-mint │ │ │ │ ├── assets │ │ │ │ └── signature-drop-diagram.png │ │ │ │ └── page.mdx │ │ ├── explore │ │ │ ├── overview │ │ │ │ ├── assets │ │ │ │ │ └── test.jpg │ │ │ │ └── page.mdx │ │ │ └── pre-built-contracts │ │ │ │ ├── account-factory │ │ │ │ └── page.mdx │ │ │ │ ├── airdrop-erc1155-claimable │ │ │ │ └── page.mdx │ │ │ │ ├── airdrop-erc1155 │ │ │ │ └── page.mdx │ │ │ │ ├── airdrop-erc20-claimable │ │ │ │ └── page.mdx │ │ │ │ ├── airdrop-erc20 │ │ │ │ └── page.mdx │ │ │ │ ├── airdrop-erc721-claimable │ │ │ │ └── page.mdx │ │ │ │ ├── airdrop-erc721 │ │ │ │ └── page.mdx │ │ │ │ ├── edition-drop │ │ │ │ └── page.mdx │ │ │ │ ├── edition │ │ │ │ └── page.mdx │ │ │ │ ├── loyalty-card │ │ │ │ └── page.mdx │ │ │ │ ├── managed-account-factory │ │ │ │ └── page.mdx │ │ │ │ ├── marketplace │ │ │ │ └── page.mdx │ │ │ │ ├── multiwrap │ │ │ │ └── page.mdx │ │ │ │ ├── nft-collection │ │ │ │ ├── assets │ │ │ │ │ ├── mint-nft-collection.png │ │ │ │ │ ├── more-settings.png │ │ │ │ │ └── nft-collection-settings.png │ │ │ │ └── page.mdx │ │ │ │ ├── nft-drop │ │ │ │ ├── assets │ │ │ │ │ ├── advanced-configuration.png │ │ │ │ │ ├── choose-network.png │ │ │ │ │ ├── contract-metadata.png │ │ │ │ │ ├── delayed-reveal.png │ │ │ │ │ ├── deploy-now.png │ │ │ │ │ ├── funds.png │ │ │ │ │ └── upload-types.png │ │ │ │ └── page.mdx │ │ │ │ ├── open-edition │ │ │ │ └── page.mdx │ │ │ │ ├── pack │ │ │ │ └── page.mdx │ │ │ │ ├── split │ │ │ │ └── page.mdx │ │ │ │ ├── stake-erc1155 │ │ │ │ └── page.mdx │ │ │ │ ├── stake-erc20 │ │ │ │ └── page.mdx │ │ │ │ ├── stake-erc721 │ │ │ │ └── page.mdx │ │ │ │ ├── token-drop │ │ │ │ └── page.mdx │ │ │ │ ├── token │ │ │ │ └── page.mdx │ │ │ │ └── vote │ │ │ │ └── page.mdx │ │ ├── interact │ │ │ └── overview │ │ │ │ └── page.mdx │ │ ├── layout.tsx │ │ ├── modular-contracts │ │ │ ├── core-contracts │ │ │ │ ├── erc-1155 │ │ │ │ │ ├── base │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── delayed-reveal │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── drop │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── lazy-mint │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── page.mdx │ │ │ │ │ └── signature-mint │ │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc-20 │ │ │ │ │ ├── base │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── drop-vote │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── drop │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── page.mdx │ │ │ │ │ ├── signature-mint-vote │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── signature-mint │ │ │ │ │ │ └── page.mdx │ │ │ │ │ └── vote │ │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc-4337 │ │ │ │ │ ├── account-factory │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── account │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── managed-account-factory │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── managed-account │ │ │ │ │ │ └── page.mdx │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc-721 │ │ │ │ │ ├── base │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── delayed-reveal │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── drop │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── lazy-mint │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── page.mdx │ │ │ │ │ └── signature-mint │ │ │ │ │ │ └── page.mdx │ │ │ │ └── page.mdx │ │ │ ├── extension-contracts │ │ │ │ ├── erc-1155 │ │ │ │ │ ├── ERC1155 │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155BatchMintable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155Burnable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155ClaimConditions │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155ClaimCustom │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155ClaimPhases │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155Claimable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155Drop │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155DropSinglePhase │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155Enumerable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155Mintable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155Revealable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155SignatureMint │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155Staking │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC1155Supply │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── metadata │ │ │ │ │ │ ├── batchMetadataERC1155 │ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ │ ├── openEditionMetadataERC1155 │ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ │ └── simpleMetadataERC1155 │ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── minting │ │ │ │ │ │ ├── claimableERC1155 │ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ │ └── mintableERC1155 │ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ └── misc │ │ │ │ │ │ ├── royaltyERC1155 │ │ │ │ │ │ └── page.mdx │ │ │ │ │ │ └── transferableERC1155 │ │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc-20 │ │ │ │ │ ├── ERC20 │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC20BatchMintable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC20Burnable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC20ClaimConditions │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC20Mintable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC20Permit │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC20SignatureMint │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC20Staking │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── minting │ │ │ │ │ │ ├── claimableERC20 │ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ │ └── mintableERC20 │ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ └── misc │ │ │ │ │ │ └── transferableERC20 │ │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc-4337 │ │ │ │ │ ├── AccountExtension │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── SmartWallet │ │ │ │ │ │ └── page.mdx │ │ │ │ │ └── SmartWalletFactory │ │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc-721 │ │ │ │ │ ├── ERC721 │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721BatchMintable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721Burnable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721ClaimConditions │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721ClaimCustom │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721ClaimPhases │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721Claimable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721Enumerable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721Mintable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721Revealable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721SignatureMint │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721Staking │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ERC721Supply │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── metadata │ │ │ │ │ │ ├── batchMetadataERC721 │ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ │ ├── delayedRevealBatchMetadataERC721 │ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ │ ├── openEditionMetadataERC721 │ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ │ └── simpleMetadataERC721 │ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── minting │ │ │ │ │ │ ├── claimableERC721 │ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ │ └── mintableERC721 │ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ └── misc │ │ │ │ │ │ ├── royaltyERC721 │ │ │ │ │ │ └── page.mdx │ │ │ │ │ │ └── transferableERC721 │ │ │ │ │ │ └── page.mdx │ │ │ │ ├── general │ │ │ │ │ ├── BatchMintMetadata │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── ContractMetadata │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── DelayedReveal │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── Drop │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── DropSinglePhase │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── LazyMint │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── Multicall │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── Ownable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── Permissions │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── PermissionsEnumerable │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── PlatformFee │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── PrimarySale │ │ │ │ │ │ └── page.mdx │ │ │ │ │ └── Royalty │ │ │ │ │ │ └── page.mdx │ │ │ │ └── page.mdx │ │ │ ├── get-started │ │ │ │ ├── assets │ │ │ │ │ ├── deploy-core-contract.png │ │ │ │ │ ├── deployed-core-contract.png │ │ │ │ │ ├── deploying.png │ │ │ │ │ ├── install-extension.png │ │ │ │ │ ├── installed-extension.png │ │ │ │ │ ├── manage-tab-highlight.png │ │ │ │ │ ├── publish-extension-contract.png │ │ │ │ │ └── select-network.png │ │ │ │ └── page.mdx │ │ │ ├── how-it-works │ │ │ │ ├── assets │ │ │ │ │ └── transformer.png │ │ │ │ └── page.mdx │ │ │ ├── modular-contracts │ │ │ │ ├── assets │ │ │ │ │ ├── modular-contracts-analogy.png │ │ │ │ │ └── modular-contracts-flow.png │ │ │ │ └── page.mdx │ │ │ └── overview │ │ │ │ ├── assets │ │ │ │ ├── NFT-drop-overview.png │ │ │ │ ├── blocks.svg │ │ │ │ ├── circle-plus.svg │ │ │ │ ├── extension-model.svg │ │ │ │ ├── hand-coins.svg │ │ │ │ ├── pencil-ruler.svg │ │ │ │ ├── shield-check.svg │ │ │ │ └── workflow.svg │ │ │ │ └── page.mdx │ │ ├── page.mdx │ │ ├── publish │ │ │ ├── overview │ │ │ │ └── page.mdx │ │ │ ├── publish-contract │ │ │ │ └── page.mdx │ │ │ ├── publish-options │ │ │ │ └── page.mdx │ │ │ └── reference │ │ │ │ └── page.mdx │ │ └── sidebar.tsx │ ├── dotnet │ │ ├── client │ │ │ └── page.mdx │ │ ├── contracts │ │ │ ├── create │ │ │ │ └── page.mdx │ │ │ ├── extensions │ │ │ │ └── page.mdx │ │ │ ├── prepare │ │ │ │ └── page.mdx │ │ │ ├── read │ │ │ │ └── page.mdx │ │ │ └── write │ │ │ │ └── page.mdx │ │ ├── getting-started │ │ │ └── page.mdx │ │ ├── godot │ │ │ └── page.mdx │ │ ├── layout.tsx │ │ ├── page.mdx │ │ ├── pay │ │ │ ├── buywithcrypto │ │ │ │ └── page.mdx │ │ │ ├── buywithfiat │ │ │ │ └── page.mdx │ │ │ ├── getbuyhistory │ │ │ │ └── page.mdx │ │ │ ├── getbuywithcryptoquote │ │ │ │ └── page.mdx │ │ │ ├── getbuywithcryptostatus │ │ │ │ └── page.mdx │ │ │ ├── getbuywithfiatcurrencies │ │ │ │ └── page.mdx │ │ │ ├── getbuywithfiatquote │ │ │ │ └── page.mdx │ │ │ ├── getbuywithfiatstatus │ │ │ │ └── page.mdx │ │ │ └── quickstart │ │ │ │ └── page.mdx │ │ ├── sidebar.tsx │ │ ├── storage │ │ │ └── page.mdx │ │ ├── transactions │ │ │ ├── create │ │ │ │ └── page.mdx │ │ │ ├── instance │ │ │ │ └── page.mdx │ │ │ └── static │ │ │ │ └── page.mdx │ │ ├── unity │ │ │ └── page.mdx │ │ └── wallets │ │ │ ├── actions │ │ │ ├── addadmin │ │ │ │ └── page.mdx │ │ │ ├── authenticate │ │ │ │ └── page.mdx │ │ │ ├── createsessionkey │ │ │ │ └── page.mdx │ │ │ ├── disconnect │ │ │ │ └── page.mdx │ │ │ ├── getaddress │ │ │ │ └── page.mdx │ │ │ ├── getbalance │ │ │ │ └── page.mdx │ │ │ ├── getemail │ │ │ │ └── page.mdx │ │ │ ├── getphonenumber │ │ │ │ └── page.mdx │ │ │ ├── getsigneraddress │ │ │ │ └── page.mdx │ │ │ ├── isconnected │ │ │ │ └── page.mdx │ │ │ ├── isdeployed │ │ │ │ └── page.mdx │ │ │ ├── removeadmin │ │ │ │ └── page.mdx │ │ │ ├── sendtransaction │ │ │ │ └── page.mdx │ │ │ ├── sign │ │ │ │ └── page.mdx │ │ │ └── signtypeddatav4 │ │ │ │ └── page.mdx │ │ │ └── providers │ │ │ ├── account-abstraction │ │ │ └── page.mdx │ │ │ ├── in-app-wallet │ │ │ └── page.mdx │ │ │ └── private-key │ │ │ └── page.mdx │ ├── engine │ │ ├── assets │ │ │ ├── airdrop-nfts-1.png │ │ │ ├── airdrop-nfts-2.png │ │ │ ├── airdrop-nfts-3.png │ │ │ ├── airdrop-nfts-4.png │ │ │ ├── airdrop-overview.png │ │ │ ├── authorize-api.png │ │ │ ├── authorize-bearer.png │ │ │ ├── cancel-transaction-button.png │ │ │ ├── engine-docs-diagram-updated.svg │ │ │ ├── engine-overview.png │ │ │ ├── engine-webhooks.webp │ │ │ ├── nft-checkout-1.png │ │ │ ├── nft-checkout-2.png │ │ │ ├── nft-checkout-3.png │ │ │ ├── nft-checkout-overview.png │ │ │ ├── relayer-1.png │ │ │ └── tx-lifecycle.webp │ │ ├── faq │ │ │ └── page.mdx │ │ ├── features │ │ │ ├── access-tokens │ │ │ │ └── page.mdx │ │ │ ├── account-abstraction │ │ │ │ └── page.mdx │ │ │ ├── admins │ │ │ │ └── page.mdx │ │ │ ├── backend-wallets │ │ │ │ └── page.mdx │ │ │ ├── cancelling-transactions │ │ │ │ └── page.mdx │ │ │ ├── contract-subscriptions │ │ │ │ └── page.mdx │ │ │ ├── contracts │ │ │ │ └── page.mdx │ │ │ ├── gasless-transactions │ │ │ │ └── page.mdx │ │ │ ├── keypair-authentication │ │ │ │ └── page.mdx │ │ │ ├── preventing-duplicate-transactions │ │ │ │ └── page.mdx │ │ │ ├── relayers │ │ │ │ └── page.mdx │ │ │ ├── security │ │ │ │ └── page.mdx │ │ │ └── webhooks │ │ │ │ └── page.mdx │ │ ├── get-started │ │ │ └── page.mdx │ │ ├── guides │ │ │ ├── airdrop-nfts │ │ │ │ └── page.mdx │ │ │ └── nft-checkout │ │ │ │ └── page.mdx │ │ ├── layout.tsx │ │ ├── page.mdx │ │ ├── production-checklist │ │ │ └── page.mdx │ │ ├── references │ │ │ ├── api-reference │ │ │ │ └── page.mdx │ │ │ └── typescript │ │ │ │ └── page.mdx │ │ ├── security │ │ │ └── page.mdx │ │ ├── self-host │ │ │ └── page.mdx │ │ └── sidebar.tsx │ ├── globals.css │ ├── glossary │ │ ├── _components │ │ │ └── GlossaryBreadcrumb.tsx │ │ ├── bundler │ │ │ └── page.mdx │ │ ├── claim-phases │ │ │ └── page.mdx │ │ ├── claiming │ │ │ └── page.mdx │ │ ├── composability │ │ │ └── page.mdx │ │ ├── delayed-reveal │ │ │ └── page.mdx │ │ ├── drop │ │ │ └── page.mdx │ │ ├── entry-point │ │ │ └── page.mdx │ │ ├── externally-owned-account │ │ │ └── page.mdx │ │ ├── factory-contract │ │ │ └── page.mdx │ │ ├── gas │ │ │ └── page.mdx │ │ ├── gasless-transactions │ │ │ └── page.mdx │ │ ├── interoperability │ │ │ └── page.mdx │ │ ├── ipfs │ │ │ └── page.mdx │ │ ├── layout.tsx │ │ ├── lazy-minting │ │ │ └── page.mdx │ │ ├── local-wallet │ │ │ └── page.mdx │ │ ├── minting │ │ │ └── page.mdx │ │ ├── nft │ │ │ └── page.mdx │ │ ├── non-custodial-wallet │ │ │ └── page.mdx │ │ ├── page.mdx │ │ ├── paymaster │ │ │ └── page.mdx │ │ ├── permissionless │ │ │ └── page.mdx │ │ ├── proxy-contracts │ │ │ └── page.mdx │ │ ├── rpc │ │ │ └── page.mdx │ │ ├── sidebar.tsx │ │ ├── signature-based-minting │ │ │ └── page.mdx │ │ ├── smart-contract │ │ │ └── page.mdx │ │ ├── smart-wallet │ │ │ └── page.mdx │ │ ├── soulbound │ │ │ └── page.mdx │ │ ├── staking │ │ │ └── page.mdx │ │ ├── token │ │ │ └── page.mdx │ │ └── wallet │ │ │ └── page.mdx │ ├── infrastructure │ │ ├── assets │ │ │ └── test.jpg │ │ ├── layout.tsx │ │ ├── page.mdx │ │ ├── rpc-edge │ │ │ ├── get-started │ │ │ │ ├── assets │ │ │ │ │ ├── api-key.png │ │ │ │ │ ├── public-rpcs.png │ │ │ │ │ └── usage-dashboard.png │ │ │ │ └── page.mdx │ │ │ └── overview │ │ │ │ ├── assets │ │ │ │ └── rpc-diagram.svg │ │ │ │ └── page.mdx │ │ ├── sidebar.tsx │ │ └── storage │ │ │ ├── how-storage-works │ │ │ ├── assets │ │ │ │ └── storage-diagram.svg │ │ │ └── page.mdx │ │ │ ├── how-to-use-storage │ │ │ ├── host-web-app │ │ │ │ └── page.mdx │ │ │ └── upload-files-to-ipfs │ │ │ │ ├── assets │ │ │ │ ├── storage-dashboard.png │ │ │ │ ├── storage-upload.png │ │ │ │ └── storage-urls.png │ │ │ │ └── page.mdx │ │ │ └── overview │ │ │ └── page.mdx │ ├── landing-page │ │ └── CTAs.tsx │ ├── layout.tsx │ ├── not-found.tsx │ ├── page.tsx │ ├── payments │ │ ├── assets │ │ │ └── checkouts-overview.png │ │ ├── layout.tsx │ │ ├── nft-checkout │ │ │ ├── api-reference │ │ │ │ └── page.mdx │ │ │ ├── assets │ │ │ │ ├── checkout-with-card-customization-demo.png │ │ │ │ ├── checkout-with-card-demo.png │ │ │ │ ├── checkout-with-eth-demo-2.png │ │ │ │ ├── checkout-with-eth-demo.png │ │ │ │ └── enable-payments.jpeg │ │ │ ├── checkout-link │ │ │ │ └── page.mdx │ │ │ ├── checkout-with-card │ │ │ │ ├── assets │ │ │ │ │ ├── checkout-with-card-customization-demo.png │ │ │ │ │ └── checkout-with-card-demo.png │ │ │ │ └── page.mdx │ │ │ ├── checkout-with-eth │ │ │ │ ├── assets │ │ │ │ │ ├── checkout-with-eth-demo-2.png │ │ │ │ │ └── checkout-with-eth-demo.png │ │ │ │ └── page.mdx │ │ │ ├── custom-contracts │ │ │ │ └── page.mdx │ │ │ ├── elements │ │ │ │ └── page.mdx │ │ │ ├── enable-contract │ │ │ │ ├── assets │ │ │ │ │ └── enable-payments.jpeg │ │ │ │ └── page.mdx │ │ │ ├── erc20-pricing │ │ │ │ └── page.mdx │ │ │ ├── faq │ │ │ │ └── page.mdx │ │ │ ├── getting-started │ │ │ │ └── page.mdx │ │ │ ├── go-live-checklist │ │ │ │ └── page.mdx │ │ │ ├── marketplaces │ │ │ │ └── page.mdx │ │ │ ├── one-time-checkout-link │ │ │ │ └── page.mdx │ │ │ ├── pre-built-contracts │ │ │ │ └── page.mdx │ │ │ ├── translations │ │ │ │ └── page.mdx │ │ │ └── webhooks │ │ │ │ └── page.mdx │ │ ├── page.mdx │ │ └── sidebar.tsx │ ├── react-native │ │ ├── v0 │ │ │ ├── ThirdwebProvider │ │ │ │ ├── page.mdx │ │ │ │ └── props │ │ │ │ │ ├── activeChain.mdx │ │ │ │ │ ├── authConfig.mdx │ │ │ │ │ ├── autoConnect.mdx │ │ │ │ │ ├── clientId.mdx │ │ │ │ │ ├── dAppMeta.mdx │ │ │ │ │ ├── locale.mdx │ │ │ │ │ ├── queryClient.mdx │ │ │ │ │ ├── sdkOptions.mdx │ │ │ │ │ ├── storageInterface.mdx │ │ │ │ │ ├── supportedChains.mdx │ │ │ │ │ ├── supportedWallets.mdx │ │ │ │ │ └── theme.mdx │ │ │ ├── ThirdwebSDKProvider │ │ │ │ ├── page.mdx │ │ │ │ └── props │ │ │ │ │ ├── activeChain.mdx │ │ │ │ │ ├── authConfig.mdx │ │ │ │ │ ├── clientId.mdx │ │ │ │ │ ├── queryClient.mdx │ │ │ │ │ ├── sdkOptions.mdx │ │ │ │ │ ├── signer.mdx │ │ │ │ │ └── storageInterface.mdx │ │ │ ├── common │ │ │ │ └── defaultChains.mdx │ │ │ ├── components │ │ │ │ ├── ConnectEmbed │ │ │ │ │ ├── _assets │ │ │ │ │ │ ├── ConnectEmbedDefaultImg.png │ │ │ │ │ │ └── ConnectEmbedLight.png │ │ │ │ │ └── page.mdx │ │ │ │ ├── ConnectWallet │ │ │ │ │ ├── images │ │ │ │ │ │ ├── balance-btc-dark.png │ │ │ │ │ │ ├── connect-wallet-dark-compact.png │ │ │ │ │ │ ├── connect-wallet-dark-wide.png │ │ │ │ │ │ ├── connect-wallet-hero.webp │ │ │ │ │ │ ├── custom-token-list-dark.png │ │ │ │ │ │ ├── details-open-faucet-dark.png │ │ │ │ │ │ └── select-token-dark.png │ │ │ │ │ ├── page.mdx │ │ │ │ │ └── props │ │ │ │ │ │ ├── auth.mdx │ │ │ │ │ │ ├── btnTitle.mdx │ │ │ │ │ │ ├── detailsBtn.mdx │ │ │ │ │ │ ├── displayBalanceToken.mdx │ │ │ │ │ │ ├── hideTestnetFaucet.mdx │ │ │ │ │ │ ├── modalTitle.mdx │ │ │ │ │ │ ├── supportedTokens.mdx │ │ │ │ │ │ ├── switchToActiveChain.mdx │ │ │ │ │ │ ├── theme.mdx │ │ │ │ │ │ └── tos.mdx │ │ │ │ └── Web3Button │ │ │ │ │ ├── page.mdx │ │ │ │ │ └── props │ │ │ │ │ ├── ContractAbiMDX.mdx │ │ │ │ │ ├── action.mdx │ │ │ │ │ ├── connectWallet.mdx │ │ │ │ │ ├── contractAbi.mdx │ │ │ │ │ ├── contractAddress.mdx │ │ │ │ │ ├── onError.mdx │ │ │ │ │ ├── onSubmit.mdx │ │ │ │ │ ├── onSuccess.mdx │ │ │ │ │ └── theme.mdx │ │ │ ├── connecting-wallets │ │ │ │ ├── custom-ui │ │ │ │ │ └── page.mdx │ │ │ │ └── page.mdx │ │ │ ├── faq │ │ │ │ └── page.mdx │ │ │ ├── getting-started │ │ │ │ └── page.mdx │ │ │ ├── installation │ │ │ │ └── page.mdx │ │ │ ├── layout.tsx │ │ │ ├── page.mdx │ │ │ └── wallets │ │ │ │ ├── _components │ │ │ │ ├── CustomizeWalletConfigurator.tsx │ │ │ │ ├── WalletsBreadcrumb.tsx │ │ │ │ └── index.tsx │ │ │ │ ├── coinbase │ │ │ │ └── page.mdx │ │ │ │ ├── in-app-wallet │ │ │ │ └── page.mdx │ │ │ │ ├── local-wallet │ │ │ │ └── page.mdx │ │ │ │ ├── magiclink │ │ │ │ └── page.mdx │ │ │ │ ├── metamask │ │ │ │ └── page.mdx │ │ │ │ ├── page.mdx │ │ │ │ ├── rainbow │ │ │ │ └── page.mdx │ │ │ │ ├── smartwallet │ │ │ │ └── page.mdx │ │ │ │ ├── trust │ │ │ │ └── page.mdx │ │ │ │ └── walletconnect │ │ │ │ └── page.mdx │ │ └── v5 │ │ │ ├── [...slug] │ │ │ └── page.tsx │ │ │ ├── differences │ │ │ └── page.mdx │ │ │ ├── getting-started │ │ │ └── page.mdx │ │ │ ├── layout.tsx │ │ │ ├── page.mdx │ │ │ └── sidebar.tsx │ ├── react │ │ ├── v4 │ │ │ ├── ThirdwebProvider │ │ │ │ ├── page.mdx │ │ │ │ └── props │ │ │ │ │ ├── activeChain.mdx │ │ │ │ │ ├── authConfig.mdx │ │ │ │ │ ├── autoConnect.mdx │ │ │ │ │ ├── clientId.mdx │ │ │ │ │ ├── dAppMeta.mdx │ │ │ │ │ ├── locale.mdx │ │ │ │ │ ├── queryClient.mdx │ │ │ │ │ ├── sdkOptions.mdx │ │ │ │ │ ├── storageInterface.mdx │ │ │ │ │ ├── supportedChains.mdx │ │ │ │ │ ├── supportedWallets.mdx │ │ │ │ │ └── theme.mdx │ │ │ ├── ThirdwebSDKProvider │ │ │ │ ├── page.mdx │ │ │ │ └── props │ │ │ │ │ ├── activeChain.mdx │ │ │ │ │ ├── authConfig.mdx │ │ │ │ │ ├── clientId.mdx │ │ │ │ │ ├── queryClient.mdx │ │ │ │ │ ├── sdkOptions.mdx │ │ │ │ │ ├── signer.mdx │ │ │ │ │ └── storageInterface.mdx │ │ │ ├── common │ │ │ │ └── defaultChains.mdx │ │ │ ├── components │ │ │ │ ├── ConnectEmbed │ │ │ │ │ ├── _assets │ │ │ │ │ │ ├── ConnectEmbed-default.png │ │ │ │ │ │ ├── ConnectEmbed-embedded.png │ │ │ │ │ │ ├── ConnectEmbed-light.png │ │ │ │ │ │ ├── ConnectEmbed-privacy.png │ │ │ │ │ │ ├── ConnectEmbed-signin.png │ │ │ │ │ │ └── ConnectEmbed-tos.png │ │ │ │ │ └── page.mdx │ │ │ │ ├── ConnectWallet │ │ │ │ │ ├── images │ │ │ │ │ │ ├── balance-btc-dark.png │ │ │ │ │ │ ├── connect-wallet-dark-compact.png │ │ │ │ │ │ ├── connect-wallet-dark-wide.png │ │ │ │ │ │ ├── connect-wallet-hero.webp │ │ │ │ │ │ ├── custom-token-list-dark.png │ │ │ │ │ │ ├── details-open-faucet-dark.png │ │ │ │ │ │ ├── details-open-switch-to-personal.png │ │ │ │ │ │ └── select-token-dark.png │ │ │ │ │ ├── page.mdx │ │ │ │ │ └── props │ │ │ │ │ │ ├── auth.mdx │ │ │ │ │ │ ├── btnTitle.mdx │ │ │ │ │ │ ├── className.mdx │ │ │ │ │ │ ├── detailsBtn.mdx │ │ │ │ │ │ ├── displayBalanceToken.mdx │ │ │ │ │ │ ├── hideSwitchToPersonalWallet.mdx │ │ │ │ │ │ ├── hideTestnetFaucet.mdx │ │ │ │ │ │ ├── modalSize.mdx │ │ │ │ │ │ ├── modalTitle.mdx │ │ │ │ │ │ ├── supportedTokens.mdx │ │ │ │ │ │ ├── switchToActiveChain.mdx │ │ │ │ │ │ ├── theme.mdx │ │ │ │ │ │ ├── tos.mdx │ │ │ │ │ │ └── welcomeScreen.mdx │ │ │ │ ├── MediaRenderer │ │ │ │ │ └── page.mdx │ │ │ │ ├── ThirdwebNftMedia │ │ │ │ │ └── page.mdx │ │ │ │ └── Web3Button │ │ │ │ │ ├── page.mdx │ │ │ │ │ └── props │ │ │ │ │ ├── ContractAbiMDX.mdx │ │ │ │ │ ├── action.mdx │ │ │ │ │ ├── className.mdx │ │ │ │ │ ├── connectWallet.mdx │ │ │ │ │ ├── contractAbi.mdx │ │ │ │ │ ├── contractAddress.mdx │ │ │ │ │ ├── isDisabled.mdx │ │ │ │ │ ├── onError.mdx │ │ │ │ │ ├── onSubmit.mdx │ │ │ │ │ ├── onSuccess.mdx │ │ │ │ │ ├── style.mdx │ │ │ │ │ └── theme.mdx │ │ │ ├── connecting-wallets │ │ │ │ ├── custom-ui │ │ │ │ │ └── page.mdx │ │ │ │ └── page.mdx │ │ │ ├── getting-started │ │ │ │ └── page.mdx │ │ │ ├── layout.tsx │ │ │ ├── page.mdx │ │ │ └── wallets │ │ │ │ └── page.mdx │ │ └── v5 │ │ │ ├── [...slug] │ │ │ └── page.tsx │ │ │ ├── account-abstraction │ │ │ ├── batching-transactions │ │ │ │ └── page.mdx │ │ │ ├── build-your-own-ui │ │ │ │ └── page.mdx │ │ │ ├── get-started │ │ │ │ └── page.mdx │ │ │ └── permissions │ │ │ │ └── page.mdx │ │ │ ├── components │ │ │ ├── AutoConnect │ │ │ │ └── page.mdx │ │ │ ├── ConnectButton │ │ │ │ ├── images │ │ │ │ │ └── connect-wallet-hero.webp │ │ │ │ └── page.mdx │ │ │ ├── ConnectEmbed │ │ │ │ ├── _assets │ │ │ │ │ ├── ConnectEmbed-default.png │ │ │ │ │ └── ConnectEmbed-signin.png │ │ │ │ └── page.mdx │ │ │ ├── MediaRenderer │ │ │ │ └── page.mdx │ │ │ ├── TransactionButton │ │ │ │ ├── page.mdx │ │ │ │ └── tx-button.png │ │ │ └── page.mdx │ │ │ ├── connecting-wallets │ │ │ ├── hooks │ │ │ │ └── page.mdx │ │ │ ├── page.mdx │ │ │ └── ui-components │ │ │ │ └── page.mdx │ │ │ ├── extensions │ │ │ └── page.mdx │ │ │ ├── getting-started │ │ │ └── page.mdx │ │ │ ├── in-app-wallet │ │ │ ├── build-your-own-ui │ │ │ │ └── page.mdx │ │ │ ├── enable-gasless │ │ │ │ └── page.mdx │ │ │ ├── export-private-key │ │ │ │ ├── confirm-reveal.png │ │ │ │ ├── export-key.png │ │ │ │ ├── exported-key.png │ │ │ │ ├── manage-wallet.png │ │ │ │ └── page.mdx │ │ │ ├── get-started │ │ │ │ ├── connect-wallet-hero.webp │ │ │ │ └── page.mdx │ │ │ ├── how-to │ │ │ │ ├── get-in-app-wallet-details-on-server │ │ │ │ │ └── page.mdx │ │ │ │ ├── interact-blockchain │ │ │ │ │ └── page.mdx │ │ │ │ └── interact-with-wallets │ │ │ │ │ └── page.mdx │ │ │ └── images │ │ │ │ ├── embedded-wallet.svg │ │ │ │ ├── unity.webp │ │ │ │ └── wallet.png │ │ │ ├── layout.tsx │ │ │ ├── migrate │ │ │ ├── cheatsheet │ │ │ │ └── page.mdx │ │ │ ├── contracts │ │ │ │ └── page.mdx │ │ │ ├── installation │ │ │ │ └── page.mdx │ │ │ ├── page.mdx │ │ │ └── use-v5-with-ethers │ │ │ │ └── page.mdx │ │ │ ├── page.mdx │ │ │ ├── rainbow-kit-migrate │ │ │ └── page.mdx │ │ │ ├── reading-state │ │ │ └── page.mdx │ │ │ ├── sidebar.tsx │ │ │ └── transactions │ │ │ └── page.mdx │ ├── references │ │ ├── components │ │ │ └── TDoc │ │ │ │ ├── Accessor.tsx │ │ │ │ ├── Class.tsx │ │ │ │ ├── Deprecated.tsx │ │ │ │ ├── Enum.tsx │ │ │ │ ├── Function.tsx │ │ │ │ ├── PageLayout.tsx │ │ │ │ ├── Root.tsx │ │ │ │ ├── SourceLink.tsx │ │ │ │ ├── Summary.tsx │ │ │ │ ├── Type.tsx │ │ │ │ ├── TypeDeclaration.tsx │ │ │ │ ├── Variable.tsx │ │ │ │ ├── fetchDocs │ │ │ │ ├── fetchReactCoreDoc.ts │ │ │ │ ├── fetchReactDoc.ts │ │ │ │ ├── fetchReactNativeDoc.ts │ │ │ │ ├── fetchStorageDoc.ts │ │ │ │ ├── fetchTypeScriptDoc.ts │ │ │ │ ├── fetchWalletsDoc.ts │ │ │ │ └── mergeDocs.ts │ │ │ │ ├── types.ts │ │ │ │ └── utils │ │ │ │ ├── getAllTSReferencesLinkMap.ts │ │ │ │ ├── getSidebarLinkgroups.ts │ │ │ │ ├── getTags.ts │ │ │ │ ├── getTokenLinks.ts │ │ │ │ ├── slugs.ts │ │ │ │ ├── subgroups.ts │ │ │ │ └── uniqueSlugger.ts │ │ ├── react-native │ │ │ └── [version] │ │ │ │ ├── [[...slug]] │ │ │ │ └── page.tsx │ │ │ │ └── layout.tsx │ │ ├── react │ │ │ └── [version] │ │ │ │ ├── [[...slug]] │ │ │ │ └── page.tsx │ │ │ │ └── layout.tsx │ │ ├── storage │ │ │ └── [version] │ │ │ │ ├── [[...slug]] │ │ │ │ └── page.tsx │ │ │ │ └── layout.tsx │ │ ├── typescript │ │ │ └── [version] │ │ │ │ ├── [[...slug]] │ │ │ │ └── page.tsx │ │ │ │ └── layout.tsx │ │ └── wallets │ │ │ └── [version] │ │ │ ├── [[...slug]] │ │ │ └── page.tsx │ │ │ └── layout.tsx │ ├── solutions │ │ ├── gaming │ │ │ ├── assets │ │ │ │ ├── preview.png │ │ │ │ └── unreal.png │ │ │ ├── overview │ │ │ │ └── page.mdx │ │ │ └── unreal-engine │ │ │ │ └── quickstart │ │ │ │ └── page.mdx │ │ ├── layout.tsx │ │ ├── page.mdx │ │ └── sidebar.tsx │ ├── storage-sdk │ │ └── v2 │ │ │ ├── layout.tsx │ │ │ └── page.mdx │ ├── styleguide │ │ ├── callouts │ │ │ └── page.mdx │ │ ├── cards │ │ │ └── page.mdx │ │ ├── code │ │ │ └── page.mdx │ │ ├── layout.tsx │ │ ├── page.mdx │ │ ├── sidebar.tsx │ │ ├── steps │ │ │ └── page.mdx │ │ ├── tabs │ │ │ └── page.mdx │ │ ├── test.jpg │ │ └── test2.jpg │ ├── typescript │ │ ├── v4 │ │ │ ├── deploy │ │ │ │ └── page.mdx │ │ │ ├── extensions │ │ │ │ └── page.mdx │ │ │ ├── getting-started │ │ │ │ └── page.mdx │ │ │ ├── interact │ │ │ │ └── page.mdx │ │ │ ├── layout.tsx │ │ │ ├── page.mdx │ │ │ ├── sidebar.tsx │ │ │ └── utilities │ │ │ │ └── page.mdx │ │ └── v5 │ │ │ ├── [...slug] │ │ │ └── page.tsx │ │ │ ├── account-abstraction │ │ │ ├── batching-transactions │ │ │ │ └── page.mdx │ │ │ ├── get-started │ │ │ │ └── page.mdx │ │ │ └── permissions │ │ │ │ └── page.mdx │ │ │ ├── adapters │ │ │ └── page.mdx │ │ │ ├── auth │ │ │ └── page.mdx │ │ │ ├── chain │ │ │ └── page.mdx │ │ │ ├── client │ │ │ └── page.mdx │ │ │ ├── connecting-wallets │ │ │ └── page.mdx │ │ │ ├── contract │ │ │ └── page.mdx │ │ │ ├── extensions │ │ │ ├── built-in │ │ │ │ └── page.tsx │ │ │ ├── create │ │ │ │ └── page.mdx │ │ │ ├── generate │ │ │ │ └── page.mdx │ │ │ ├── page.mdx │ │ │ └── use │ │ │ │ └── page.mdx │ │ │ ├── getting-started │ │ │ └── page.mdx │ │ │ ├── layout.tsx │ │ │ ├── migrate │ │ │ └── page.mdx │ │ │ ├── page.mdx │ │ │ ├── sidebar.tsx │ │ │ ├── storage │ │ │ └── page.mdx │ │ │ ├── supported-wallets │ │ │ ├── [walletId] │ │ │ │ ├── assets │ │ │ │ │ ├── appstore.svg │ │ │ │ │ ├── chromestore.svg │ │ │ │ │ └── playstore.svg │ │ │ │ └── page.tsx │ │ │ └── page.mdx │ │ │ ├── transactions │ │ │ ├── page.mdx │ │ │ ├── prepare │ │ │ │ └── page.mdx │ │ │ ├── read │ │ │ │ └── page.mdx │ │ │ └── send │ │ │ │ └── page.mdx │ │ │ └── wallets │ │ │ └── page.mdx │ ├── unity │ │ ├── assets │ │ │ ├── import.png │ │ │ ├── import2.png │ │ │ ├── import3.png │ │ │ ├── nft-gallery.png │ │ │ ├── nft.png │ │ │ ├── project.png │ │ │ ├── sceneprefab.png │ │ │ ├── thirdwebmanagerconfig.png │ │ │ └── unitypackage.png │ │ ├── blocks │ │ │ ├── getblock │ │ │ │ └── page.mdx │ │ │ ├── getblockwithtransactions │ │ │ │ └── page.mdx │ │ │ ├── getlatestblocknumber │ │ │ │ └── page.mdx │ │ │ └── getlatestblocktimestamp │ │ │ │ └── page.mdx │ │ ├── contracts │ │ │ ├── erc1155 │ │ │ │ ├── erc1155 │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc1155burnable │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc1155claimconditions │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc1155enumerable │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc1155mintable │ │ │ │ │ └── page.mdx │ │ │ │ └── erc1155signaturemintable │ │ │ │ │ └── page.mdx │ │ │ ├── erc20 │ │ │ │ ├── erc20 │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc20burnable │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc20claimconditions │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc20mintable │ │ │ │ │ └── page.mdx │ │ │ │ └── erc20signaturemintable │ │ │ │ │ └── page.mdx │ │ │ ├── erc721 │ │ │ │ ├── erc721 │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc721burnable │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc721claimconditions │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc721enumerable │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc721mintable │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc721signaturemint │ │ │ │ │ └── page.mdx │ │ │ │ ├── erc721signaturemintable │ │ │ │ │ └── page.mdx │ │ │ │ └── erc721supply │ │ │ │ │ └── page.mdx │ │ │ ├── events │ │ │ │ ├── get │ │ │ │ │ └── page.mdx │ │ │ │ ├── getall │ │ │ │ │ └── page.mdx │ │ │ │ ├── listentoall │ │ │ │ │ └── page.mdx │ │ │ │ └── removealllisteners │ │ │ │ │ └── page.mdx │ │ │ ├── get │ │ │ │ └── page.mdx │ │ │ ├── marketplace │ │ │ │ └── page.mdx │ │ │ ├── pack │ │ │ │ └── page.mdx │ │ │ ├── page.mdx │ │ │ ├── prepare │ │ │ │ └── page.mdx │ │ │ ├── read │ │ │ │ └── page.mdx │ │ │ └── write │ │ │ │ └── page.mdx │ │ ├── getting-started │ │ │ ├── page.mdx │ │ │ ├── scene-prefabs.png │ │ │ └── thirdweb-unity-sdk-setup.png │ │ ├── layout.tsx │ │ ├── page.mdx │ │ ├── pay │ │ │ ├── buywithcrypto │ │ │ │ └── page.mdx │ │ │ ├── buywithfiat │ │ │ │ └── page.mdx │ │ │ ├── getbuyhistory │ │ │ │ └── page.mdx │ │ │ ├── getbuywithcryptoquote │ │ │ │ └── page.mdx │ │ │ ├── getbuywithcryptostatus │ │ │ │ └── page.mdx │ │ │ ├── getbuywithfiatcurrencies │ │ │ │ └── page.mdx │ │ │ ├── getbuywithfiatquote │ │ │ │ └── page.mdx │ │ │ └── getbuywithfiatstatus │ │ │ │ └── page.mdx │ │ ├── sidebar.tsx │ │ ├── storage │ │ │ └── page.mdx │ │ ├── thirdwebmanager │ │ │ ├── page.mdx │ │ │ └── thirdwebmanager.png │ │ └── wallets │ │ │ ├── actions │ │ │ ├── addadmin │ │ │ │ └── page.mdx │ │ │ ├── authenticate │ │ │ │ └── page.mdx │ │ │ ├── connect │ │ │ │ └── page.mdx │ │ │ ├── createsessionkey │ │ │ │ └── page.mdx │ │ │ ├── disconnect │ │ │ │ └── page.mdx │ │ │ ├── executerawtransaction │ │ │ │ └── page.mdx │ │ │ ├── getaddress │ │ │ │ └── page.mdx │ │ │ ├── getallactivesigners │ │ │ │ └── page.mdx │ │ │ ├── getbalance │ │ │ │ └── page.mdx │ │ │ ├── getchainid │ │ │ │ └── page.mdx │ │ │ ├── getemail │ │ │ │ └── page.mdx │ │ │ ├── getnonce │ │ │ │ └── page.mdx │ │ │ ├── getsigneraddress │ │ │ │ └── page.mdx │ │ │ ├── isconnected │ │ │ │ └── page.mdx │ │ │ ├── recoveraddress │ │ │ │ └── page.mdx │ │ │ ├── removeadmin │ │ │ │ └── page.mdx │ │ │ ├── revokesessionkey │ │ │ │ └── page.mdx │ │ │ ├── sendrawtransaction │ │ │ │ └── page.mdx │ │ │ ├── sign │ │ │ │ └── page.mdx │ │ │ ├── signtypeddatav4 │ │ │ │ └── page.mdx │ │ │ ├── switchnetwork │ │ │ │ └── page.mdx │ │ │ └── transfer │ │ │ │ └── page.mdx │ │ │ ├── prefab │ │ │ ├── connectwallet.png │ │ │ ├── connectwalletinspector.png │ │ │ └── page.mdx │ │ │ ├── providers │ │ │ ├── account-abstraction │ │ │ │ └── page.mdx │ │ │ ├── coinbase │ │ │ │ └── page.mdx │ │ │ ├── hyperplay │ │ │ │ └── page.mdx │ │ │ ├── in-app-wallet │ │ │ │ ├── ews-settings.png │ │ │ │ └── page.mdx │ │ │ ├── injected │ │ │ │ └── page.mdx │ │ │ ├── local-wallet │ │ │ │ └── page.mdx │ │ │ ├── metamask │ │ │ │ └── page.mdx │ │ │ ├── rabby │ │ │ │ └── page.mdx │ │ │ └── walletconnect │ │ │ │ └── page.mdx │ │ │ └── submission │ │ │ └── page.mdx │ ├── unreal │ │ ├── layout.tsx │ │ ├── page.mdx │ │ └── sidebar.tsx │ └── wallet-sdk │ │ └── v2 │ │ ├── build │ │ ├── connect-wallet-integration │ │ │ ├── _assets │ │ │ │ ├── connect-wallet-dark-compact.png │ │ │ │ └── connect-wallet-embedded-compact.png │ │ │ └── page.mdx │ │ ├── connector │ │ │ └── page.mdx │ │ └── page.mdx │ │ ├── layout.tsx │ │ ├── page.mdx │ │ ├── usage │ │ └── page.mdx │ │ └── wallets │ │ └── page.mdx ├── components │ ├── Document │ │ ├── AutoEditPageButton.tsx │ │ ├── Breadcrumb.tsx │ │ ├── Callout.tsx │ │ ├── Cards │ │ │ ├── ArticleCard.tsx │ │ │ ├── ConnectCard.tsx │ │ │ └── GithubTemplateCard.tsx │ │ ├── Code.tsx │ │ ├── Details.tsx │ │ ├── DocImage.tsx │ │ ├── DocLink.tsx │ │ ├── EditPage.tsx │ │ ├── ExpandableGrid.tsx │ │ ├── FeatureCard.tsx │ │ ├── GithubButtonLink.tsx │ │ ├── Grid.tsx │ │ ├── Heading.tsx │ │ ├── InstallTabs.tsx │ │ ├── List.module.css │ │ ├── List.tsx │ │ ├── OpenSourceCard.tsx │ │ ├── PageFooter.tsx │ │ ├── Paragraph.tsx │ │ ├── SDKCard.tsx │ │ ├── Separator.tsx │ │ ├── Stack.tsx │ │ ├── Steps │ │ │ ├── Steps.module.css │ │ │ └── Steps.tsx │ │ ├── StickyTopContainer.tsx │ │ ├── Table.tsx │ │ ├── index.ts │ │ └── metadata.ts │ ├── Layouts │ │ └── DocLayout.tsx │ ├── others │ │ ├── AllSupportedWallets.tsx │ │ ├── Banner.tsx │ │ ├── CopyButton.tsx │ │ ├── CustomAccordion.tsx │ │ ├── DocSearch.tsx │ │ ├── DynamicHeight.tsx │ │ ├── Feedback.tsx │ │ ├── PlatformSelector.tsx │ │ ├── ScrollShadow │ │ │ ├── ScrollShadow.module.css │ │ │ └── ScrollShadow.tsx │ │ ├── Sidebar.tsx │ │ ├── SmoothScroll.tsx │ │ ├── Subscribe.tsx │ │ ├── TableOfContents.tsx │ │ ├── V4SDKBanner.tsx │ │ ├── VersionSelector.tsx │ │ ├── WalletCard.tsx │ │ └── theme │ │ │ ├── ThemeSwitcher.tsx │ │ │ └── theme.tsx │ └── ui │ │ ├── Anchor.tsx │ │ ├── Spinner │ │ ├── Spinner.module.css │ │ └── Spinner.tsx │ │ ├── button.tsx │ │ ├── dialog.tsx │ │ ├── dropdown-menu.tsx │ │ ├── input.tsx │ │ └── tabs.tsx ├── contexts │ └── slugger.ts ├── icons │ ├── ExternalLinkIcon.tsx │ ├── frameworks │ │ ├── firebase.png │ │ ├── forge.png │ │ ├── go.png │ │ ├── hardhat.png │ │ ├── hardhat.svg │ │ ├── javascript.png │ │ ├── nextauth.png │ │ ├── nextjs.png │ │ ├── python.png │ │ ├── react-native.png │ │ ├── react.png │ │ ├── solana.png │ │ ├── solidity.png │ │ ├── supabase.png │ │ ├── typescript.png │ │ ├── unity.webp │ │ └── vite.webp │ ├── index.ts │ ├── products │ │ ├── contracts │ │ │ ├── ContractBuildIcon.tsx │ │ │ ├── ContractDeployIcon.tsx │ │ │ ├── ContractExploreIcon.tsx │ │ │ ├── ContractInteractIcon.tsx │ │ │ ├── ContractModularContractIcon.tsx │ │ │ └── ContractPublishIcon.tsx │ │ ├── infra │ │ │ ├── InfraEngineIcon.tsx │ │ │ ├── InfraRPCIcon.tsx │ │ │ └── InfraStorageIcon.tsx │ │ ├── payments │ │ │ ├── PayIcon.tsx │ │ │ ├── PaymentsNFTCheckoutIcon.tsx │ │ │ └── PaymentsSponsoredIcon.tsx │ │ └── wallets │ │ │ ├── EcosystemWalletsIcon.tsx │ │ │ ├── WalletsAuthIcon.tsx │ │ │ ├── WalletsConnectIcon.tsx │ │ │ ├── WalletsInAppIcon.tsx │ │ │ ├── WalletsSmartIcon.tsx │ │ │ └── nav-icon-ecosystem-wallets2.svg │ ├── sdks │ │ ├── DotNetIcon.tsx │ │ ├── GoIcon.tsx │ │ ├── PythonIcon.tsx │ │ ├── ReactIcon.tsx │ │ ├── SolidityIcon.tsx │ │ ├── TypeScriptIcon.tsx │ │ ├── UnityIcon.tsx │ │ └── UnrealIcon.tsx │ ├── solutions │ │ └── GamingIcon.tsx │ ├── thirdweb.tsx │ └── wallet-providers │ │ ├── coinbase.png │ │ ├── email.png │ │ ├── magic.png │ │ ├── metamask.png │ │ ├── phantom.png │ │ ├── rainbow.png │ │ ├── safe.png │ │ ├── wallet-connect.png │ │ └── zerion.png └── lib │ ├── fetchJSON.ts │ ├── getBaseUrl.ts │ ├── highlight-matches.ts │ ├── posthog │ └── Posthog.tsx │ ├── serverContext.ts │ ├── utils.ts │ └── withCache.ts ├── tailwind.config.ts └── tsconfig.json /.eslintignore: -------------------------------------------------------------------------------- 1 | *.mdx 2 | node_modules -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "parser": "@typescript-eslint/parser", 3 | "plugins": ["@typescript-eslint", "svg-jsx"], 4 | "extends": [ 5 | "next/core-web-vitals", 6 | "plugin:tailwindcss/recommended", 7 | "plugin:mdx/recommended", 8 | "plugin:@typescript-eslint/recommended" 9 | ], 10 | "rules": { 11 | "no-unused-vars": "off", 12 | "@typescript-eslint/no-unused-vars": ["error"], 13 | "@typescript-eslint/no-explicit-any": "off", 14 | "svg-jsx/camel-case-dash": "error" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | 27 | # local env files 28 | .env*.local 29 | 30 | # vercel 31 | .vercel 32 | 33 | # typescript 34 | *.tsbuildinfo 35 | next-env.d.ts 36 | 37 | # editors 38 | .vscode 39 | 40 | # generated files 41 | searchIndex.json 42 | 43 | .env 44 | public/sitemap*.xml 45 | 46 | # prevent accidentally committing the yarn.lock file 47 | yarn.lock -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "tabWidth": 2, 3 | "useTabs": true, 4 | "tailwindFunctions": ["clsx", "cn"], 5 | "singleQuote": false, 6 | "trailingComma": "all", 7 | "printWidth": 80, 8 | "semi": true, 9 | "overrides": [ 10 | { 11 | "files": "redirects.mjs", 12 | "options": { 13 | "printWidth": 200 14 | } 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cSpell.words": ["clsx"], 3 | "grammarly.selectors": [ 4 | { 5 | "language": "mdx" 6 | } 7 | ], 8 | "grammarly.config.documentDialect": "american", 9 | "grammarly.config.documentDomain": "casual" 10 | } 11 | -------------------------------------------------------------------------------- /bun.lockb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/bun.lockb -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://ui.shadcn.com/schema.json", 3 | "style": "default", 4 | "rsc": true, 5 | "tsx": true, 6 | "tailwind": { 7 | "config": "tailwind.config.ts", 8 | "css": "src/app/globals.css", 9 | "baseColor": "gray", 10 | "cssVariables": true 11 | }, 12 | "aliases": { 13 | "components": "@/components", 14 | "utils": "@/lib/utils" 15 | } 16 | } -------------------------------------------------------------------------------- /next-sitemap.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next-sitemap').IConfig} */ 2 | module.exports = { 3 | siteUrl: process.env.SITE_URL || "https://portal.thirdweb.com", 4 | generateRobotsTxt: true, // (optional) 5 | robotsTxtOptions: { 6 | // disallow all crawlers on dev and preview 7 | policies: [ 8 | { 9 | userAgent: "*", 10 | [process.env.VERCEL_ENV !== "preview" && 11 | process.env.VERCEL_ENV !== "development" 12 | ? "allow" 13 | : "disallow"]: "/", 14 | }, 15 | ], 16 | }, 17 | exclude: [ 18 | // exclude v4 stuff 19 | "*/v4*", 20 | "*/react-native/v0*", 21 | "/wallet-sdk*", 22 | "/storage-sdk*", 23 | // exclude styleguide 24 | "/styleguide*", 25 | ], 26 | }; 27 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/public/favicon.ico -------------------------------------------------------------------------------- /public/icons/extensions-graphic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/public/icons/extensions-graphic.png -------------------------------------------------------------------------------- /public/icons/feature-cards/account-abstraction.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /public/icons/feature-cards/fiat-ramp.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /public/icons/feature-cards/in-app-purchase.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /public/icons/feature-cards/integration-options.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /public/icons/feature-cards/liquidity-aggregation.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /public/icons/feature-cards/security.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /public/icons/feature-cards/upgrade.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /public/icons/navbar/nav-icon-solidity.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /public/icons/wallets/aws-kms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/public/icons/wallets/aws-kms.png -------------------------------------------------------------------------------- /public/icons/wallets/aws-secrets-manager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/public/icons/wallets/aws-secrets-manager.png -------------------------------------------------------------------------------- /public/icons/wallets/coin98.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/public/icons/wallets/coin98.png -------------------------------------------------------------------------------- /public/icons/wallets/coreWallet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/public/icons/wallets/coreWallet.png -------------------------------------------------------------------------------- /public/icons/wallets/cryptoDefi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/public/icons/wallets/cryptoDefi.png -------------------------------------------------------------------------------- /public/icons/wallets/ethers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/public/icons/wallets/ethers.png -------------------------------------------------------------------------------- /public/icons/wallets/oneKey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/public/icons/wallets/oneKey.png -------------------------------------------------------------------------------- /public/icons/wallets/trust.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /public/icons/wallets/zerion.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /public/og/background-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/public/og/background-1.png -------------------------------------------------------------------------------- /public/og/icons/solidity.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/og/icons/typescript.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/og/icons/unity.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/pdfs/thirdweb_code_security_audit.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/public/pdfs/thirdweb_code_security_audit.pdf -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | # * 2 | User-agent: * 3 | Allow: / 4 | 5 | # Host 6 | Host: https://portal.thirdweb.com 7 | 8 | # Sitemaps 9 | Sitemap: https://portal.thirdweb.com/sitemap.xml 10 | -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scripts/createEmptySearchIndex.ts: -------------------------------------------------------------------------------- 1 | import { existsSync, writeFileSync } from "fs"; 2 | 3 | // This is required to load the searchIndex.json on vercel server 4 | // searchIndex.json needs to exist in file system before we run `next build` 5 | 6 | async function main() { 7 | if (!existsSync("./searchIndex.json")) { 8 | writeFileSync("./searchIndex.json", `[]`); 9 | } 10 | } 11 | 12 | main(); 13 | -------------------------------------------------------------------------------- /scripts/extractSearchData.ts: -------------------------------------------------------------------------------- 1 | import { writeFileSync } from "fs"; 2 | import { extractSearchData } from "../src/app/api/search/extraction"; 3 | 4 | async function main() { 5 | const rootDir = process.cwd(); 6 | const websiteData = await extractSearchData(rootDir); 7 | writeFileSync("./searchIndex.json", JSON.stringify(websiteData, null, 2)); 8 | } 9 | 10 | main(); 11 | -------------------------------------------------------------------------------- /src/app/account/api-keys/assets/all-services.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/account/api-keys/assets/all-services.png -------------------------------------------------------------------------------- /src/app/account/api-keys/assets/allowed-domains.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/account/api-keys/assets/allowed-domains.png -------------------------------------------------------------------------------- /src/app/account/api-keys/assets/choose-key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/account/api-keys/assets/choose-key.png -------------------------------------------------------------------------------- /src/app/account/api-keys/assets/confirm-delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/account/api-keys/assets/confirm-delete.png -------------------------------------------------------------------------------- /src/app/account/api-keys/assets/create-key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/account/api-keys/assets/create-key.png -------------------------------------------------------------------------------- /src/app/account/api-keys/assets/credentials.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/account/api-keys/assets/credentials.png -------------------------------------------------------------------------------- /src/app/account/api-keys/assets/descriptive-name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/account/api-keys/assets/descriptive-name.png -------------------------------------------------------------------------------- /src/app/account/api-keys/assets/select-edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/account/api-keys/assets/select-edit.png -------------------------------------------------------------------------------- /src/app/account/api-keys/assets/smart-wallet-api-key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/account/api-keys/assets/smart-wallet-api-key.png -------------------------------------------------------------------------------- /src/app/account/billing/assets/usage-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/account/billing/assets/usage-settings.png -------------------------------------------------------------------------------- /src/app/account/billing/credits/opimg1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/account/billing/credits/opimg1.png -------------------------------------------------------------------------------- /src/app/account/billing/credits/opimg2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/account/billing/credits/opimg2.png -------------------------------------------------------------------------------- /src/app/account/billing/upgrade-plan/assets/confirm-downgrade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/account/billing/upgrade-plan/assets/confirm-downgrade.png -------------------------------------------------------------------------------- /src/app/account/billing/upgrade-plan/assets/growth-plan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/account/billing/upgrade-plan/assets/growth-plan.png -------------------------------------------------------------------------------- /src/app/account/layout.tsx: -------------------------------------------------------------------------------- 1 | import { DocLayout } from "@/components/Layouts/DocLayout"; 2 | import { sidebar } from "./sidebar"; 3 | 4 | export default async function Layout(props: { children: React.ReactNode }) { 5 | return ( 6 | 7 | {props.children} 8 | 9 | ); 10 | } 11 | -------------------------------------------------------------------------------- /src/app/account/page.mdx: -------------------------------------------------------------------------------- 1 | # Account 2 | 3 | ### Billing 4 | - [Account Info](/account/billing/account-info) 5 | - [Upgrade Plan](/account/billing/upgrade-plan) 6 | - [Credits](/account/billing/credits) 7 | - [Manage Billing](/account/billing/manage-billing) 8 | 9 | ### API Keys 10 | - [Overview](/account/api-keys) 11 | - [Create API key](/account/api-keys/create) 12 | - [Use API key](/account/api-keys/use) 13 | - [Edit enabled services](/account/api-keys/edit-services) 14 | - [Delete API key](/account/api-keys/delete) 15 | - [Access Restrictions](/account/api-keys/access) 16 | - [FAQs](/account/api-keys/faq) 17 | -------------------------------------------------------------------------------- /src/app/api/og/inter/700.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/api/og/inter/700.ttf -------------------------------------------------------------------------------- /src/app/api/search/extraction/settings.ts: -------------------------------------------------------------------------------- 1 | export const ignoreHeadings = new Set( 2 | [ 3 | "components", 4 | "hooks", 5 | "functions", 6 | "variables", 7 | "types", 8 | "props", 9 | "type", 10 | "prop", 11 | "__namedParameters", 12 | "installation", 13 | "getting started", 14 | "enums", 15 | "classes", 16 | "parameters", 17 | "accessors", 18 | "returns", 19 | "example", 20 | ].map((t) => t.toLowerCase()), 21 | ); 22 | 23 | export const minimumParagraphlength = 20; 24 | -------------------------------------------------------------------------------- /src/app/api/search/extraction/trimExtraSpace.ts: -------------------------------------------------------------------------------- 1 | export function trimExtraSpace(text: string) { 2 | return text.replace(/\s+/g, " ").trim(); 3 | } 4 | -------------------------------------------------------------------------------- /src/app/api/search/route.ts: -------------------------------------------------------------------------------- 1 | import { search } from "@/app/api/search/searching/search"; 2 | import { NextRequest, NextResponse } from "next/server"; 3 | 4 | export async function GET(request: NextRequest) { 5 | const searchParams = request.nextUrl.searchParams; 6 | const query = searchParams.get("q"); 7 | 8 | if (!query) { 9 | return NextResponse.json({ 10 | results: [], 11 | }); 12 | } 13 | 14 | const results = await search(query); 15 | return NextResponse.json(results); 16 | } 17 | -------------------------------------------------------------------------------- /src/app/changelog/[slug]/layout.tsx: -------------------------------------------------------------------------------- 1 | export default function Layout(props: { children: React.ReactNode }) { 2 | return ( 3 |
4 | {props.children} 5 |
6 | ); 7 | } 8 | -------------------------------------------------------------------------------- /src/app/changelog/components/Author.tsx: -------------------------------------------------------------------------------- 1 | /* eslint-disable @next/next/no-img-element */ 2 | 3 | export function Author(props: { name: string; profileImage?: string | null }) { 4 | return ( 5 |
6 | {props.profileImage && ( 7 | 12 | )} 13 | {props.name} 14 |
15 | ); 16 | } 17 | -------------------------------------------------------------------------------- /src/app/changelog/components/ChangeLogIndexTOC.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { TableOfContentsSideBar } from "../../../components/others/TableOfContents"; 4 | 5 | const onlyShowPostTitle = (h: HTMLHeadingElement) => { 6 | return h.classList.contains("changelog-title"); 7 | }; 8 | 9 | export function ChangelogIndexTOC() { 10 | return ; 11 | } 12 | -------------------------------------------------------------------------------- /src/app/changelog/components/RenderData.tsx: -------------------------------------------------------------------------------- 1 | import { cn } from "../../../lib/utils"; 2 | import { formatDistance } from "date-fns"; 3 | 4 | export function RenderDate(props: { iso: string; className?: string }) { 5 | return ( 6 | 12 | ); 13 | } 14 | -------------------------------------------------------------------------------- /src/app/changelog/layout.tsx: -------------------------------------------------------------------------------- 1 | export default function Layout(props: { children: React.ReactNode }) { 2 | return props.children; 3 | } 4 | 5 | export const revalidate = 5 * 60; // 5 minutes 6 | -------------------------------------------------------------------------------- /src/app/cli/build/page.mdx: -------------------------------------------------------------------------------- 1 | # Build 2 | 3 | Compile your smart contracts and detect any [extensions](/contracts/build/extensions) you have implemented. 4 | 5 | ```bash 6 | npx thirdweb build 7 | ``` 8 | 9 | ## Usage 10 | 11 | This command: 12 | 13 | - Detects the framework you're using (Hardhat, Forge, etc.) 14 | - Compiles all of your smart contracts using the framework's compiler, or the default Solidity compiler 15 | - Displays the [extensions](/contracts/build/extensions) you have implemented for each contract 16 | 17 | ```bash 18 | npx thirdweb [options] 19 | ``` 20 | 21 | ## Options 22 | 23 | - `--clean`: Clear the cache before building 24 | - `--path` or `-p`: Path to project 25 | - `--debug` or `-d`: Show debug logs 26 | - `--all` or `-a`: Run detection on all contracts 27 | -------------------------------------------------------------------------------- /src/app/cli/layout.tsx: -------------------------------------------------------------------------------- 1 | import { DocLayout } from "@/components/Layouts/DocLayout"; 2 | import { sidebar } from "./sidebar"; 3 | 4 | export default async function Layout(props: { children: React.ReactNode }) { 5 | return ( 6 | 7 | {props.children} 8 | 9 | ); 10 | } 11 | -------------------------------------------------------------------------------- /src/app/cli/login/link-device-cli-auth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/cli/login/link-device-cli-auth.png -------------------------------------------------------------------------------- /src/app/cli/login/revoke-access-cli-auth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/cli/login/revoke-access-cli-auth.png -------------------------------------------------------------------------------- /src/app/cli/logout/page.mdx: -------------------------------------------------------------------------------- 1 | # Logout 2 | 3 | Logout of the thirdweb CLI and revoke access of this device from your thirdweb account. 4 | 5 | ## Usage 6 | 7 | ```bash 8 | npx thirdweb logout 9 | ``` 10 | -------------------------------------------------------------------------------- /src/app/cli/upload/page.mdx: -------------------------------------------------------------------------------- 1 | # Upload 2 | 3 | Upload any file or directory to decentralized storage ([IPFS](/glossary/ipfs)). 4 | 5 | [Learn more about Storage](/infrastructure/storage/overview). 6 | 7 | ```bash 8 | npx thirdweb upload 9 | ``` 10 | 11 | ## Usage 12 | 13 | ```bash 14 | npx thirdweb upload [options] [path] 15 | ``` 16 | -------------------------------------------------------------------------------- /src/app/connect/account-abstraction/images/wallet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/account-abstraction/images/wallet.png -------------------------------------------------------------------------------- /src/app/connect/account-abstraction/sponsorship-rules/sponsorship-rules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/account-abstraction/sponsorship-rules/sponsorship-rules.png -------------------------------------------------------------------------------- /src/app/connect/assets/test.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/assets/test.jpg -------------------------------------------------------------------------------- /src/app/connect/auth/assets/firebase-db.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/auth/assets/firebase-db.png -------------------------------------------------------------------------------- /src/app/connect/auth/assets/firebase-users.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/auth/assets/firebase-users.png -------------------------------------------------------------------------------- /src/app/connect/auth/assets/getting-started-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/auth/assets/getting-started-1.png -------------------------------------------------------------------------------- /src/app/connect/auth/assets/getting-started-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/auth/assets/getting-started-2.png -------------------------------------------------------------------------------- /src/app/connect/auth/assets/getting-started-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/auth/assets/getting-started-3.png -------------------------------------------------------------------------------- /src/app/connect/auth/assets/json-web-tokens-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/auth/assets/json-web-tokens-1.png -------------------------------------------------------------------------------- /src/app/connect/ecosystems/assets/add-partner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/ecosystems/assets/add-partner.png -------------------------------------------------------------------------------- /src/app/connect/ecosystems/assets/create-ecosystem-wallet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/ecosystems/assets/create-ecosystem-wallet.png -------------------------------------------------------------------------------- /src/app/connect/ecosystems/assets/ecosystem-info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/ecosystems/assets/ecosystem-info.png -------------------------------------------------------------------------------- /src/app/connect/ecosystems/assets/ecosystem-wallet-permissions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/ecosystems/assets/ecosystem-wallet-permissions.png -------------------------------------------------------------------------------- /src/app/connect/ecosystems/assets/ecosystem-wallet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/ecosystems/assets/ecosystem-wallet.png -------------------------------------------------------------------------------- /src/app/connect/ecosystems/assets/full-login-system.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/ecosystems/assets/full-login-system.png -------------------------------------------------------------------------------- /src/app/connect/ecosystems/assets/single-login-option.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/ecosystems/assets/single-login-option.png -------------------------------------------------------------------------------- /src/app/connect/ecosystems/assets/wallet-explorer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/ecosystems/assets/wallet-explorer.png -------------------------------------------------------------------------------- /src/app/connect/ecosystems/assets/xai-connect-wallet-explorer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/ecosystems/assets/xai-connect-wallet-explorer.png -------------------------------------------------------------------------------- /src/app/connect/in-app-wallet/custom-auth/images/configuration-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/in-app-wallet/custom-auth/images/configuration-view.png -------------------------------------------------------------------------------- /src/app/connect/in-app-wallet/custom-auth/images/custom-json-firebase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/in-app-wallet/custom-auth/images/custom-json-firebase.png -------------------------------------------------------------------------------- /src/app/connect/in-app-wallet/custom-auth/images/customauth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/in-app-wallet/custom-auth/images/customauth.png -------------------------------------------------------------------------------- /src/app/connect/in-app-wallet/custom-auth/images/customauthdb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/in-app-wallet/custom-auth/images/customauthdb.png -------------------------------------------------------------------------------- /src/app/connect/in-app-wallet/custom-auth/images/customauthdb2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/in-app-wallet/custom-auth/images/customauthdb2.png -------------------------------------------------------------------------------- /src/app/connect/in-app-wallet/custom-auth/images/ew-configuration-opt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/in-app-wallet/custom-auth/images/ew-configuration-opt.png -------------------------------------------------------------------------------- /src/app/connect/in-app-wallet/custom-auth/images/ew-configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/in-app-wallet/custom-auth/images/ew-configuration.png -------------------------------------------------------------------------------- /src/app/connect/in-app-wallet/custom-auth/images/ew-create-key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/in-app-wallet/custom-auth/images/ew-create-key.png -------------------------------------------------------------------------------- /src/app/connect/in-app-wallet/custom-auth/images/ew-custom-auth-config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/in-app-wallet/custom-auth/images/ew-custom-auth-config.png -------------------------------------------------------------------------------- /src/app/connect/in-app-wallet/custom-auth/images/ew-custom-auth-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/in-app-wallet/custom-auth/images/ew-custom-auth-flow.png -------------------------------------------------------------------------------- /src/app/connect/in-app-wallet/custom-auth/images/jwk-creator-tool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/in-app-wallet/custom-auth/images/jwk-creator-tool.png -------------------------------------------------------------------------------- /src/app/connect/in-app-wallet/custom-auth/images/speedracer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/in-app-wallet/custom-auth/images/speedracer.png -------------------------------------------------------------------------------- /src/app/connect/in-app-wallet/how-to/connect-users/connect-wallet-hero.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/in-app-wallet/how-to/connect-users/connect-wallet-hero.webp -------------------------------------------------------------------------------- /src/app/connect/in-app-wallet/how-to/enable-gasless/connect-wallet-embedded-compact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/in-app-wallet/how-to/enable-gasless/connect-wallet-embedded-compact.png -------------------------------------------------------------------------------- /src/app/connect/in-app-wallet/how-to/enable-gasless/connect-wallet-smart-dropdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/in-app-wallet/how-to/enable-gasless/connect-wallet-smart-dropdown.png -------------------------------------------------------------------------------- /src/app/connect/in-app-wallet/how-to/export-private-key/confirm-reveal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/in-app-wallet/how-to/export-private-key/confirm-reveal.png -------------------------------------------------------------------------------- /src/app/connect/in-app-wallet/how-to/export-private-key/export-key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/in-app-wallet/how-to/export-private-key/export-key.png -------------------------------------------------------------------------------- /src/app/connect/in-app-wallet/how-to/export-private-key/exported-key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/in-app-wallet/how-to/export-private-key/exported-key.png -------------------------------------------------------------------------------- /src/app/connect/in-app-wallet/how-to/export-private-key/manage-wallet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/in-app-wallet/how-to/export-private-key/manage-wallet.png -------------------------------------------------------------------------------- /src/app/connect/in-app-wallet/images/unity.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/in-app-wallet/images/unity.webp -------------------------------------------------------------------------------- /src/app/connect/in-app-wallet/images/wallet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/in-app-wallet/images/wallet.png -------------------------------------------------------------------------------- /src/app/connect/layout.tsx: -------------------------------------------------------------------------------- 1 | import { DocLayout } from "@/components/Layouts/DocLayout"; 2 | import { sidebar } from "./sidebar"; 3 | import { PlatformSelector } from "../../components/others/PlatformSelector"; 4 | 5 | export default async function Layout(props: { children: React.ReactNode }) { 6 | return ( 7 | 12 |

Connect

13 | 14 | 15 | } 16 | > 17 | {props.children} 18 |
19 | ); 20 | } 21 | -------------------------------------------------------------------------------- /src/app/connect/pay/assets/avax-to-usd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/pay/assets/avax-to-usd.png -------------------------------------------------------------------------------- /src/app/connect/pay/assets/buy-with-crypto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/pay/assets/buy-with-crypto.png -------------------------------------------------------------------------------- /src/app/connect/pay/assets/bwc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/pay/assets/bwc.png -------------------------------------------------------------------------------- /src/app/connect/pay/assets/bwf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/pay/assets/bwf.png -------------------------------------------------------------------------------- /src/app/connect/pay/assets/get-started-embed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/pay/assets/get-started-embed.png -------------------------------------------------------------------------------- /src/app/connect/pay/assets/get-started-send.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/pay/assets/get-started-send.png -------------------------------------------------------------------------------- /src/app/connect/pay/assets/pay-api-key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/pay/assets/pay-api-key.png -------------------------------------------------------------------------------- /src/app/connect/pay/assets/pay-modal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/pay/assets/pay-modal.png -------------------------------------------------------------------------------- /src/app/connect/pay/assets/pay-overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/pay/assets/pay-overview.png -------------------------------------------------------------------------------- /src/app/connect/pay/assets/pay-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/pay/assets/pay-settings.png -------------------------------------------------------------------------------- /src/app/connect/pay/supported-chains/page.mdx: -------------------------------------------------------------------------------- 1 | import { createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | image: { 5 | title: "thirdweb Pay - Supported Chains", 6 | icon: "thirdweb", 7 | }, 8 | title: "thirdweb Pay - Supported Chains | thirdweb", 9 | description: "List of chains supported by Pay.", 10 | }); 11 | 12 | # Supported Chains 13 | 14 | [View all supported chains with Pay](https://thirdweb.com/chainlist?service=pay). 15 | 16 | If you’d like to suggest a chain for us to support, [contact us](https://thirdweb.com/contact-us). 17 | -------------------------------------------------------------------------------- /src/app/connect/sign-in/assets/ConnectEmbed-embedded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/sign-in/assets/ConnectEmbed-embedded.png -------------------------------------------------------------------------------- /src/app/connect/sign-in/assets/Wide-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/sign-in/assets/Wide-dark.png -------------------------------------------------------------------------------- /src/app/connect/sign-in/assets/compact-dark-social.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/sign-in/assets/compact-dark-social.png -------------------------------------------------------------------------------- /src/app/connect/sign-in/assets/compact-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/sign-in/assets/compact-dark.png -------------------------------------------------------------------------------- /src/app/connect/sign-in/assets/connect-playground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/sign-in/assets/connect-playground.png -------------------------------------------------------------------------------- /src/app/connect/sign-in/assets/connect-wallet-modal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/sign-in/assets/connect-wallet-modal.png -------------------------------------------------------------------------------- /src/app/connect/sign-in/assets/connect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/sign-in/assets/connect.png -------------------------------------------------------------------------------- /src/app/connect/sign-in/assets/custom-modals.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/sign-in/assets/custom-modals.png -------------------------------------------------------------------------------- /src/app/connect/sign-in/assets/custom-welcome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/sign-in/assets/custom-welcome.png -------------------------------------------------------------------------------- /src/app/connect/sign-in/assets/narrow-wide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/sign-in/assets/narrow-wide.png -------------------------------------------------------------------------------- /src/app/connect/sign-in/methods/external-wallets/page.mdx: -------------------------------------------------------------------------------- 1 | # External wallets 2 | 3 | thirdweb supports a number of first-party web3 wallets such as Metamask and Phantom. 4 | 5 | ## Add externally owned wallets 6 | 7 | ```tsx 8 | import { ConnectButton } from "thirdweb/react"; 9 | import { createWallet } from "thirdweb/wallets"; 10 | 11 | const wallets = [ 12 | createWallet("io.metamask"), 13 | createWallet("com.coinbase.wallet"), 14 | createWallet("me.rainbow"), 15 | ]; 16 | 17 | function Example() { 18 | return ( 19 |
20 | 21 |
22 | ); 23 | } 24 | ``` 25 | 26 | [View full list of supported wallets.](/typescript/v5/supported-wallets) -------------------------------------------------------------------------------- /src/app/connect/supported-chains/page.mdx: -------------------------------------------------------------------------------- 1 | test -------------------------------------------------------------------------------- /src/app/connect/why-thirdweb/assets/bundlesize-transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/why-thirdweb/assets/bundlesize-transparent.png -------------------------------------------------------------------------------- /src/app/connect/why-thirdweb/assets/performance-transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/connect/why-thirdweb/assets/performance-transparent.png -------------------------------------------------------------------------------- /src/app/contracts/assets/test.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/assets/test.jpg -------------------------------------------------------------------------------- /src/app/contracts/build/modular-contracts/assets/modular-contracts-analogy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/build/modular-contracts/assets/modular-contracts-analogy.png -------------------------------------------------------------------------------- /src/app/contracts/build/modular-contracts/assets/modular-contracts-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/build/modular-contracts/assets/modular-contracts-flow.png -------------------------------------------------------------------------------- /src/app/contracts/deploy/deploy-contract/assets/deploy-cli.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/deploy/deploy-contract/assets/deploy-cli.png -------------------------------------------------------------------------------- /src/app/contracts/deploy/deploy-contract/assets/deploy-contract.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/deploy/deploy-contract/assets/deploy-contract.png -------------------------------------------------------------------------------- /src/app/contracts/deploy/deploy-contract/assets/detected-extensions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/deploy/deploy-contract/assets/detected-extensions.png -------------------------------------------------------------------------------- /src/app/contracts/deploy/deploy-contract/assets/link-device.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/deploy/deploy-contract/assets/link-device.png -------------------------------------------------------------------------------- /src/app/contracts/design-docs/drop/assets/claim-conditions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/design-docs/drop/assets/claim-conditions.png -------------------------------------------------------------------------------- /src/app/contracts/design-docs/modular-contracts/assets/modular-contracts-analogy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/design-docs/modular-contracts/assets/modular-contracts-analogy.png -------------------------------------------------------------------------------- /src/app/contracts/design-docs/modular-contracts/assets/modular-contracts-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/design-docs/modular-contracts/assets/modular-contracts-flow.png -------------------------------------------------------------------------------- /src/app/contracts/design-docs/multiwrap/assets/multiwrap-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/design-docs/multiwrap/assets/multiwrap-diagram.png -------------------------------------------------------------------------------- /src/app/contracts/design-docs/pack/assets/pack-diagram-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/design-docs/pack/assets/pack-diagram-1.png -------------------------------------------------------------------------------- /src/app/contracts/design-docs/pack/assets/pack-diagram-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/design-docs/pack/assets/pack-diagram-2.png -------------------------------------------------------------------------------- /src/app/contracts/design-docs/pack/assets/pack-diagram-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/design-docs/pack/assets/pack-diagram-3.png -------------------------------------------------------------------------------- /src/app/contracts/design-docs/signature-mint/assets/signature-drop-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/design-docs/signature-mint/assets/signature-drop-diagram.png -------------------------------------------------------------------------------- /src/app/contracts/explore/overview/assets/test.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/explore/overview/assets/test.jpg -------------------------------------------------------------------------------- /src/app/contracts/explore/pre-built-contracts/nft-collection/assets/mint-nft-collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/explore/pre-built-contracts/nft-collection/assets/mint-nft-collection.png -------------------------------------------------------------------------------- /src/app/contracts/explore/pre-built-contracts/nft-collection/assets/more-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/explore/pre-built-contracts/nft-collection/assets/more-settings.png -------------------------------------------------------------------------------- /src/app/contracts/explore/pre-built-contracts/nft-collection/assets/nft-collection-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/explore/pre-built-contracts/nft-collection/assets/nft-collection-settings.png -------------------------------------------------------------------------------- /src/app/contracts/explore/pre-built-contracts/nft-drop/assets/advanced-configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/explore/pre-built-contracts/nft-drop/assets/advanced-configuration.png -------------------------------------------------------------------------------- /src/app/contracts/explore/pre-built-contracts/nft-drop/assets/choose-network.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/explore/pre-built-contracts/nft-drop/assets/choose-network.png -------------------------------------------------------------------------------- /src/app/contracts/explore/pre-built-contracts/nft-drop/assets/contract-metadata.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/explore/pre-built-contracts/nft-drop/assets/contract-metadata.png -------------------------------------------------------------------------------- /src/app/contracts/explore/pre-built-contracts/nft-drop/assets/delayed-reveal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/explore/pre-built-contracts/nft-drop/assets/delayed-reveal.png -------------------------------------------------------------------------------- /src/app/contracts/explore/pre-built-contracts/nft-drop/assets/deploy-now.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/explore/pre-built-contracts/nft-drop/assets/deploy-now.png -------------------------------------------------------------------------------- /src/app/contracts/explore/pre-built-contracts/nft-drop/assets/funds.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/explore/pre-built-contracts/nft-drop/assets/funds.png -------------------------------------------------------------------------------- /src/app/contracts/explore/pre-built-contracts/nft-drop/assets/upload-types.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/explore/pre-built-contracts/nft-drop/assets/upload-types.png -------------------------------------------------------------------------------- /src/app/contracts/layout.tsx: -------------------------------------------------------------------------------- 1 | import { DocLayout } from "@/components/Layouts/DocLayout"; 2 | import { sidebar } from "./sidebar"; 3 | import { createMetadata } from "@/components/Document"; 4 | 5 | export default async function Layout(props: { children: React.ReactNode }) { 6 | return ( 7 | 8 | {props.children} 9 | 10 | ); 11 | } 12 | 13 | export const metadata = createMetadata({ 14 | title: "thirdweb Contracts", 15 | description: 16 | "Easily create, deploy, and manage smart contracts on any EVM compatible blockchain", 17 | image: { 18 | title: "thirdweb contracts", 19 | icon: "contract", 20 | }, 21 | }); 22 | -------------------------------------------------------------------------------- /src/app/contracts/modular-contracts/get-started/assets/deploy-core-contract.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/modular-contracts/get-started/assets/deploy-core-contract.png -------------------------------------------------------------------------------- /src/app/contracts/modular-contracts/get-started/assets/deployed-core-contract.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/modular-contracts/get-started/assets/deployed-core-contract.png -------------------------------------------------------------------------------- /src/app/contracts/modular-contracts/get-started/assets/deploying.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/modular-contracts/get-started/assets/deploying.png -------------------------------------------------------------------------------- /src/app/contracts/modular-contracts/get-started/assets/install-extension.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/modular-contracts/get-started/assets/install-extension.png -------------------------------------------------------------------------------- /src/app/contracts/modular-contracts/get-started/assets/installed-extension.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/modular-contracts/get-started/assets/installed-extension.png -------------------------------------------------------------------------------- /src/app/contracts/modular-contracts/get-started/assets/manage-tab-highlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/modular-contracts/get-started/assets/manage-tab-highlight.png -------------------------------------------------------------------------------- /src/app/contracts/modular-contracts/get-started/assets/publish-extension-contract.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/modular-contracts/get-started/assets/publish-extension-contract.png -------------------------------------------------------------------------------- /src/app/contracts/modular-contracts/get-started/assets/select-network.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/modular-contracts/get-started/assets/select-network.png -------------------------------------------------------------------------------- /src/app/contracts/modular-contracts/how-it-works/assets/transformer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/modular-contracts/how-it-works/assets/transformer.png -------------------------------------------------------------------------------- /src/app/contracts/modular-contracts/modular-contracts/assets/modular-contracts-analogy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/modular-contracts/modular-contracts/assets/modular-contracts-analogy.png -------------------------------------------------------------------------------- /src/app/contracts/modular-contracts/modular-contracts/assets/modular-contracts-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/modular-contracts/modular-contracts/assets/modular-contracts-flow.png -------------------------------------------------------------------------------- /src/app/contracts/modular-contracts/overview/assets/NFT-drop-overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/contracts/modular-contracts/overview/assets/NFT-drop-overview.png -------------------------------------------------------------------------------- /src/app/contracts/modular-contracts/overview/assets/blocks.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/app/contracts/modular-contracts/overview/assets/circle-plus.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/app/contracts/modular-contracts/overview/assets/hand-coins.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/app/contracts/modular-contracts/overview/assets/pencil-ruler.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/app/contracts/modular-contracts/overview/assets/shield-check.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/app/contracts/modular-contracts/overview/assets/workflow.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/app/dotnet/unity/page.mdx: -------------------------------------------------------------------------------- 1 | import { OpenSourceCard, DocImage, createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "Thirdweb .NET SDK in Unity", 5 | description: 6 | "A guide on how to integrate the Thirdweb .NET SDK into your Unity (tested with Unity 2022.3+) projects to add blockchain functionality.", 7 | }); 8 | 9 | # Integrating into Unity projects 10 | 11 | Coming soon! -------------------------------------------------------------------------------- /src/app/dotnet/wallets/actions/addadmin/page.mdx: -------------------------------------------------------------------------------- 1 | import { Details, createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "SmartWallet.AddAmin | Thirdweb .NET SDK", 5 | description: "Add a new admin to the connected Smart Wallet.", 6 | }); 7 | 8 | # SmartWallet.AddAmin 9 | 10 | Add a new admin to the connected Smart Wallet. 11 | 12 | ## Usage 13 | 14 | ```csharp 15 | var receipt = await SmartWallet.AddAdmin("0xNewAdminAddress"); 16 | ``` 17 | 18 |
19 | 20 | ### admin 21 | 22 | Hexadecimal `string` representing the signer to grant admin access to. 23 | 24 |
25 | 26 |
27 | 28 | ### receipt 29 | 30 | The transaction receipt as a `TransactionReceipt` object. 31 | 32 |
33 | -------------------------------------------------------------------------------- /src/app/dotnet/wallets/actions/getemail/page.mdx: -------------------------------------------------------------------------------- 1 | import { Details, createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "InAppWallet.GetEmail | Thirdweb .NET SDK", 5 | description: "Retrieve the email associated with a logged in InAppWallet.", 6 | }); 7 | 8 | # InAppWallet.GetEmail 9 | 10 | This method retrieves the email associated with a connected `InAppWallet`. 11 | 12 | ## Usage 13 | 14 | ```csharp 15 | string email = await inAppWallet.GetEmail(); 16 | ``` 17 | 18 |
19 | 20 | ### string 21 | 22 | The user's email as a `string`. 23 | 24 |
25 | -------------------------------------------------------------------------------- /src/app/dotnet/wallets/actions/getphonenumber/page.mdx: -------------------------------------------------------------------------------- 1 | import { Details, createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "InAppWallet.GetPhoneNumber | Thirdweb .NET SDK", 5 | description: "Retrieve the email associated with a logged in InAppWallet.", 6 | }); 7 | 8 | # InAppWallet.GetPhoneNumber 9 | 10 | This method retrieves the email associated with a connected `InAppWallet`. 11 | 12 | ## Usage 13 | 14 | ```csharp 15 | string phoneNumber = await inAppWallet.GetPhoneNumber(); 16 | ``` 17 | 18 |
19 | 20 | ### string 21 | 22 | The user's phone number as a `string`. 23 | 24 |
25 | -------------------------------------------------------------------------------- /src/app/dotnet/wallets/actions/getsigneraddress/page.mdx: -------------------------------------------------------------------------------- 1 | import { createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "wallet.GetSignerAddress | thirdweb .NET SDK", 5 | description: "Get the original signer address of the connected wallet.", 6 | }); 7 | 8 | # GetSignerAddress 9 | 10 | Gets the address of the signer associated with the connected wallet. 11 | In most cases, that is the wallet address. 12 | When it comes to Smart Wallets, it is the associated EOA's address. 13 | 14 | ## Usage 15 | 16 | ```csharp 17 | string signerAddress = await sdk.Wallet.GetSignerAddress(); 18 | ``` 19 | 20 | ## Return Value 21 | 22 | Returns the `string` address of the signer associated with the connected wallet. 23 | -------------------------------------------------------------------------------- /src/app/dotnet/wallets/actions/isdeployed/page.mdx: -------------------------------------------------------------------------------- 1 | import { Details, createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "SmartWallet.IsDeployed | Thirdweb .NET SDK", 5 | description: "Retrieve whether the connected Smart Wallet is deployed.", 6 | }); 7 | 8 | # SmartWallet.IsDeployed 9 | 10 | This method retrieves whether the connected Smart Wallet is deployed onchain. 11 | 12 | ## Usage 13 | 14 | ```csharp 15 | bool isDeployed = await SmartWallet.IsDeployed(); 16 | ``` 17 | 18 |
19 | 20 | ### bool 21 | 22 | Whether a Smart Wallet is deployed as a `bool`. 23 | 24 |
25 | -------------------------------------------------------------------------------- /src/app/engine/assets/airdrop-nfts-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/engine/assets/airdrop-nfts-1.png -------------------------------------------------------------------------------- /src/app/engine/assets/airdrop-nfts-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/engine/assets/airdrop-nfts-2.png -------------------------------------------------------------------------------- /src/app/engine/assets/airdrop-nfts-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/engine/assets/airdrop-nfts-3.png -------------------------------------------------------------------------------- /src/app/engine/assets/airdrop-nfts-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/engine/assets/airdrop-nfts-4.png -------------------------------------------------------------------------------- /src/app/engine/assets/airdrop-overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/engine/assets/airdrop-overview.png -------------------------------------------------------------------------------- /src/app/engine/assets/authorize-api.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/engine/assets/authorize-api.png -------------------------------------------------------------------------------- /src/app/engine/assets/authorize-bearer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/engine/assets/authorize-bearer.png -------------------------------------------------------------------------------- /src/app/engine/assets/cancel-transaction-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/engine/assets/cancel-transaction-button.png -------------------------------------------------------------------------------- /src/app/engine/assets/engine-overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/engine/assets/engine-overview.png -------------------------------------------------------------------------------- /src/app/engine/assets/engine-webhooks.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/engine/assets/engine-webhooks.webp -------------------------------------------------------------------------------- /src/app/engine/assets/nft-checkout-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/engine/assets/nft-checkout-1.png -------------------------------------------------------------------------------- /src/app/engine/assets/nft-checkout-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/engine/assets/nft-checkout-2.png -------------------------------------------------------------------------------- /src/app/engine/assets/nft-checkout-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/engine/assets/nft-checkout-3.png -------------------------------------------------------------------------------- /src/app/engine/assets/nft-checkout-overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/engine/assets/nft-checkout-overview.png -------------------------------------------------------------------------------- /src/app/engine/assets/relayer-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/engine/assets/relayer-1.png -------------------------------------------------------------------------------- /src/app/engine/assets/tx-lifecycle.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/engine/assets/tx-lifecycle.webp -------------------------------------------------------------------------------- /src/app/engine/layout.tsx: -------------------------------------------------------------------------------- 1 | import { DocLayout } from "@/components/Layouts/DocLayout"; 2 | import { sidebar } from "./sidebar"; 3 | import { createMetadata } from "@doc"; 4 | 5 | export default async function Layout(props: { children: React.ReactNode }) { 6 | return ( 7 | 8 | {props.children} 9 | 10 | ); 11 | } 12 | 13 | export const metadata = createMetadata({ 14 | title: "Engine", 15 | description: 16 | "Engine is a backend HTTP server that calls smart contracts using your managed backend wallets.", 17 | }); 18 | -------------------------------------------------------------------------------- /src/app/glossary/bundler/page.mdx: -------------------------------------------------------------------------------- 1 | # Bundler 2 | 3 | A bundler is a node that monitors the alternative mempool of `UserOperations` and bundles multiple `UserOps` together to forward to the EntryPoint contract as a single transaction. 4 | These `UserOps` can be sent from different accounts and are bundled and sent to the `EntryPoint` contract via a `handleOps` call. 5 | 6 | The bundler is controlled by its own EOA which initially pays for the gas fees upfront and is then repaid by either the sender or a paymaster if the transaction is sponsored. 7 | 8 | The entry point contract then uses the `validateOp` and `executeOp` functions on the smart account contract to verify and execute the `UserOps` on behalf of the users. 9 | 10 | It allows you to send transactions with smart accounts. 11 | -------------------------------------------------------------------------------- /src/app/glossary/claim-phases/page.mdx: -------------------------------------------------------------------------------- 1 | # Claim Phases 2 | 3 | Claim phases or "claim conditions" allow you to configure various aspects of a [drop](/glossary/drop); such as who can claim tokens, 4 | how many tokens will be released, the price of each token, release date, etc. 5 | 6 | They are available to use for any smart contract that implements the [Drop Single Phase](/contracts/build/extensions/general/DropSinglePhase) 7 | or [Drop](/contracts/build/extensions/general/Drop) extension smart contracts, which includes our ready-to-deploy smart contracts like the 8 | [NFT Drop](https://thirdweb.com/thirdweb.eth/DropERC721), [Token Drop](https://thirdweb.com/thirdweb.eth/DropERC20), and [Edition Drop](https://thirdweb.com/thirdweb.eth/DropERC1155) smart contracts. 9 | -------------------------------------------------------------------------------- /src/app/glossary/claiming/page.mdx: -------------------------------------------------------------------------------- 1 | # Claiming 2 | 3 | Claiming is the process of transferring token ownership to the claimer's wallet. 4 | Once a token has been [lazy minted](/glossary/lazy-minting), it can be claimed by a wallet. 5 | -------------------------------------------------------------------------------- /src/app/glossary/entry-point/page.mdx: -------------------------------------------------------------------------------- 1 | # Entry Point 2 | 3 | The EntryPoint is a singleton contract (a contract that has a predictable address that is the same on every chain and only one instance per chain). 4 | It has two methods that are used as entry points to execute bundles of UserOperations: `handleOps` and `handleAggregatedOps` which validate and execute user operation(s). 5 | -------------------------------------------------------------------------------- /src/app/glossary/externally-owned-account/page.mdx: -------------------------------------------------------------------------------- 1 | # Externally Owned Account 2 | 3 | An Externally Owned Account (EOA) is an account controlled by the owner of the account's private key usually through a wallet application. 4 | Examples include MetaMask, Coinbase Wallet, and Phantom. 5 | -------------------------------------------------------------------------------- /src/app/glossary/factory-contract/page.mdx: -------------------------------------------------------------------------------- 1 | # Factory contract 2 | 3 | A factory contract is a smart contract that is used to deploy other smart contracts. 4 | -------------------------------------------------------------------------------- /src/app/glossary/interoperability/page.mdx: -------------------------------------------------------------------------------- 1 | # Interoperability 2 | 3 | Interoperability refers to the ability of different networks to share data or assets (like tokens) and interact with each other. 4 | 5 | For example, if Blockchain A is interoperable with Blockchain B, it means that a user could send tokens from Blockchain A to Blockchain B in a way that's secure and verifiable on both chains. 6 | -------------------------------------------------------------------------------- /src/app/glossary/layout.tsx: -------------------------------------------------------------------------------- 1 | import { DocLayout } from "@/components/Layouts/DocLayout"; 2 | import { sidebar } from "./sidebar"; 3 | import { GlossaryBreadcrumb } from "./_components/GlossaryBreadcrumb"; 4 | 5 | export default async function Layout(props: { children: React.ReactNode }) { 6 | return ( 7 | 8 | 9 | {props.children} 10 | 11 | ); 12 | } 13 | -------------------------------------------------------------------------------- /src/app/glossary/lazy-minting/page.mdx: -------------------------------------------------------------------------------- 1 | # Lazy Minting 2 | 3 | Lazy minting is the preparation of NFT metadata without actually minting the NFT to a wallet address. 4 | 5 | This is a useful process for smart contract admins who want to prepare metadata for NFTs that will be minted by other wallets in a [drop](/glossary/drop), 6 | _without_ paying the [gas cost](/glossary/gas) to mint those NFTs. 7 | 8 | The typical process for lazy minting is: 9 | 10 | 1. Contract admin lazy-mints NFT metadata (either in bulk or for individual NFTs). 11 | 2. Contract admin defines how NFTs can be minted using [claim phases](/glossary/claim-phases). 12 | 3. Other wallets mint NFTs by claiming them. When they claim, they pay the gas cost to mint the NFT and the NFT is minted to their wallet address. 13 | -------------------------------------------------------------------------------- /src/app/glossary/local-wallet/page.mdx: -------------------------------------------------------------------------------- 1 | # Local Wallet 2 | 3 | A local wallet is a type of wallet that allows you to create wallets within your application or project. 4 | 5 | It is a non-custodial solution that simplifies the onboarding process by offering a "checkout as guest" experience. 6 | This improves the user experience for web3 apps in two ways: 7 | 8 | 1. It enables non-web3 native users to get started easily without having to create a wallet with an external provider like MetaMask. 9 | 2. It hides transaction confirmations from users. With a local wallet, you can generate wallets on the backend, 10 | and each app can have one wallet that is app-scoped. 11 | -------------------------------------------------------------------------------- /src/app/glossary/minting/page.mdx: -------------------------------------------------------------------------------- 1 | # Minting 2 | 3 | Minting is the process of creating new tokens on the blockchain. These tokens can be any type of asset, such as ERC-20, ERC-721 or ERC-1155 tokens. 4 | Minting is usually done by the creator of the token (the default admin), but can also be done by anyone who has been given [permission](/contracts/build/extensions/general/Permissions) to mint tokens by the creator. 5 | 6 | Minting is enabled on contracts that implement a `mint` function. 7 | -------------------------------------------------------------------------------- /src/app/glossary/non-custodial-wallet/page.mdx: -------------------------------------------------------------------------------- 1 | # Non-Custodial Wallet 2 | 3 | A non-custodial wallet (also known as a self-custody wallet) is a wallet where the user has full control of their security & assets. 4 | The user is solely responsible for the security of their private key and therefore their funds. 5 | Examples of non-custodial wallets are Coinbase Wallet, Electron, and Ledger. 6 | -------------------------------------------------------------------------------- /src/app/glossary/paymaster/page.mdx: -------------------------------------------------------------------------------- 1 | # Paymaster 2 | 3 | A paymaster is a smart contract that relays transactions. 4 | It provides a service that enables a third party to pay the transaction fee on behalf 5 | of the user by funding the paymaster in advance. 6 | The Paymaster acts as a gas reserve which then can be used during the call execution via the 7 | `EntryPoint` contract. 8 | 9 | The thirdweb paymaster is initially paid for by thirdweb. 10 | By using an [API key](/api-keys), the usage is tracked and billed. 11 | -------------------------------------------------------------------------------- /src/app/glossary/permissionless/page.mdx: -------------------------------------------------------------------------------- 1 | # Permissionless 2 | 3 | On the context of smart contracts, permissionless means that anyone can interact with the contract without needing special permission or approval. 4 | Smart contracts can be deployed on public blockchains like Ethereum, 5 | promoting open access and transparency. While anyone can interact with a permissionless smart contract, 6 | the contract's code may still limit certain operations (like modifying the contract or accessing certain data) 7 | to specific roles, such as the contract's owner or creator. 8 | -------------------------------------------------------------------------------- /src/app/glossary/rpc/page.mdx: -------------------------------------------------------------------------------- 1 | # RPC URLs 2 | 3 | An RPC (Remote Procedure Call) URL 4 | is an endpoint that enables an application to communicate with a blockchain network. 5 | It is used to send requests (initiate transactions) and receive responses (read data) from the blockchain, 6 | enabling developers to build applications that interact with the blockchain. 7 | 8 | Out of the box, we provide free [RPC URLs](https://thirdweb.com/dashboard/rpc) for all supported blockchains, including All EVM-compatible networks. 9 | -------------------------------------------------------------------------------- /src/app/glossary/smart-contract/page.mdx: -------------------------------------------------------------------------------- 1 | # Smart Contract 2 | 3 | A smart contract is a computer program, stored on the blockchain. 4 | Smart contracts allow trustless transactions to be executed without third parties - the smart contract enforces the rules of the transaction automatically. 5 | These transactions are trackable and irreversible. 6 | 7 | Key features of smart contracts are: 8 | 9 | - **Autonomous**: Once a smart contract is initiated, it can act by itself without further participant involvement. 10 | 11 | - **Decentralized**: No single party has control over the entirety of the contract, and it cannot be modified after deployment. 12 | 13 | - **Deterministic**: Outcomes can be determined from the inputs and the contract code. 14 | -------------------------------------------------------------------------------- /src/app/glossary/soulbound/page.mdx: -------------------------------------------------------------------------------- 1 | # Soulbound Tokens 2 | 3 | Soulbound tokens refer to NFTs 4 | that are permanently attached to a specific wallet address on the blockchain. 5 | 6 | Once a soulbound token is created, it cannot be transferred, sold, or traded to another address. 7 | -------------------------------------------------------------------------------- /src/app/glossary/token/page.mdx: -------------------------------------------------------------------------------- 1 | # Token 2 | 3 | A token is a type of digital asset that represents a particular value or utility. Tokens are defined by smart contracts which follow a token standard such as the ERC-20, ERC-1155 or ERC-721 standards. 4 | 5 | Tokens are a critical component of decentralized applications (dApps) built on top of blockchain platforms. They can incentivize certain behaviors, represent ownership of digital or physical assets, or facilitate transactions within the dApp's ecosystem. 6 | -------------------------------------------------------------------------------- /src/app/glossary/wallet/page.mdx: -------------------------------------------------------------------------------- 1 | # Wallet 2 | 3 | A wallet is a user's way of interacting with the blockchain. Wallets can be used to store, send, and receive blockchain assets such as ERC-20 tokens and NFTS. 4 | -------------------------------------------------------------------------------- /src/app/infrastructure/assets/test.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/infrastructure/assets/test.jpg -------------------------------------------------------------------------------- /src/app/infrastructure/layout.tsx: -------------------------------------------------------------------------------- 1 | import { DocLayout } from "@/components/Layouts/DocLayout"; 2 | import { sidebar } from "./sidebar"; 3 | import { createMetadata } from "@doc"; 4 | 5 | export default async function Layout(props: { children: React.ReactNode }) { 6 | return ( 7 | 8 | {props.children} 9 | 10 | ); 11 | } 12 | 13 | export const metadata = createMetadata({ 14 | title: "thirdweb Infrastructure", 15 | description: 16 | "All the infrastructure to scale and build production grade web3 applications", 17 | }); 18 | -------------------------------------------------------------------------------- /src/app/infrastructure/rpc-edge/get-started/assets/api-key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/infrastructure/rpc-edge/get-started/assets/api-key.png -------------------------------------------------------------------------------- /src/app/infrastructure/rpc-edge/get-started/assets/public-rpcs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/infrastructure/rpc-edge/get-started/assets/public-rpcs.png -------------------------------------------------------------------------------- /src/app/infrastructure/rpc-edge/get-started/assets/usage-dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/infrastructure/rpc-edge/get-started/assets/usage-dashboard.png -------------------------------------------------------------------------------- /src/app/infrastructure/storage/how-to-use-storage/upload-files-to-ipfs/assets/storage-dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/infrastructure/storage/how-to-use-storage/upload-files-to-ipfs/assets/storage-dashboard.png -------------------------------------------------------------------------------- /src/app/infrastructure/storage/how-to-use-storage/upload-files-to-ipfs/assets/storage-upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/infrastructure/storage/how-to-use-storage/upload-files-to-ipfs/assets/storage-upload.png -------------------------------------------------------------------------------- /src/app/infrastructure/storage/how-to-use-storage/upload-files-to-ipfs/assets/storage-urls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/infrastructure/storage/how-to-use-storage/upload-files-to-ipfs/assets/storage-urls.png -------------------------------------------------------------------------------- /src/app/not-found.tsx: -------------------------------------------------------------------------------- 1 | export default function NotFound() { 2 | return ( 3 |
4 | Page Not Found 5 |
6 | ); 7 | } 8 | -------------------------------------------------------------------------------- /src/app/payments/assets/checkouts-overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/payments/assets/checkouts-overview.png -------------------------------------------------------------------------------- /src/app/payments/layout.tsx: -------------------------------------------------------------------------------- 1 | import { DocLayout } from "@/components/Layouts/DocLayout"; 2 | import { sidebar } from "./sidebar"; 3 | import { createMetadata } from "@/components/Document"; 4 | 5 | export default async function Layout(props: { children: React.ReactNode }) { 6 | return ( 7 | 8 | {props.children} 9 | 10 | ); 11 | } 12 | 13 | export const metadata = createMetadata({ 14 | image: { 15 | title: "thirdweb Payments", 16 | icon: "payment", 17 | }, 18 | title: "thirdweb Payments", 19 | description: 20 | "thirdweb payments delivers the easiest NFT payments experience for you and your buyers", 21 | }); 22 | -------------------------------------------------------------------------------- /src/app/payments/nft-checkout/assets/checkout-with-card-customization-demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/payments/nft-checkout/assets/checkout-with-card-customization-demo.png -------------------------------------------------------------------------------- /src/app/payments/nft-checkout/assets/checkout-with-card-demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/payments/nft-checkout/assets/checkout-with-card-demo.png -------------------------------------------------------------------------------- /src/app/payments/nft-checkout/assets/checkout-with-eth-demo-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/payments/nft-checkout/assets/checkout-with-eth-demo-2.png -------------------------------------------------------------------------------- /src/app/payments/nft-checkout/assets/checkout-with-eth-demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/payments/nft-checkout/assets/checkout-with-eth-demo.png -------------------------------------------------------------------------------- /src/app/payments/nft-checkout/assets/enable-payments.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/payments/nft-checkout/assets/enable-payments.jpeg -------------------------------------------------------------------------------- /src/app/payments/nft-checkout/checkout-with-card/assets/checkout-with-card-customization-demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/payments/nft-checkout/checkout-with-card/assets/checkout-with-card-customization-demo.png -------------------------------------------------------------------------------- /src/app/payments/nft-checkout/checkout-with-card/assets/checkout-with-card-demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/payments/nft-checkout/checkout-with-card/assets/checkout-with-card-demo.png -------------------------------------------------------------------------------- /src/app/payments/nft-checkout/checkout-with-eth/assets/checkout-with-eth-demo-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/payments/nft-checkout/checkout-with-eth/assets/checkout-with-eth-demo-2.png -------------------------------------------------------------------------------- /src/app/payments/nft-checkout/checkout-with-eth/assets/checkout-with-eth-demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/payments/nft-checkout/checkout-with-eth/assets/checkout-with-eth-demo.png -------------------------------------------------------------------------------- /src/app/payments/nft-checkout/enable-contract/assets/enable-payments.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/payments/nft-checkout/enable-contract/assets/enable-payments.jpeg -------------------------------------------------------------------------------- /src/app/react-native/v0/ThirdwebProvider/props/autoConnect.mdx: -------------------------------------------------------------------------------- 1 | When the user has connected their wallet to your site, this flag determines 2 | whether or not you want to automatically connect to the last connected wallet when user visits your site again in the future. 3 | 4 | Defaults to `true` 5 | 6 | ```jsx 7 | import { ThirdwebProvider } from "@thirdweb-dev/react-native"; 8 | 9 | function MyApp() { 10 | return ( 11 | 12 | 13 | 14 | ); 15 | } 16 | ``` 17 | -------------------------------------------------------------------------------- /src/app/react-native/v0/ThirdwebProvider/props/clientId.mdx: -------------------------------------------------------------------------------- 1 | The `clientId` prop is required to use the thirdweb infrastructure services with the SDK. You can get a client ID by creating an API key [on thirdweb dashboard](https://thirdweb.com/create-api-key). 2 | 3 | ```jsx 4 | import { ThirdwebProvider } from "@thirdweb-dev/react-native"; 5 | 6 | function MyApp() { 7 | return ( 8 | 9 | 10 | 11 | ); 12 | } 13 | ``` 14 | -------------------------------------------------------------------------------- /src/app/react-native/v0/ThirdwebProvider/props/locale.mdx: -------------------------------------------------------------------------------- 1 | Object that contains all text used for thirdweb components. 2 | 3 | It allows you to change the language used in UI components or override the texts used in the UI. 4 | 5 | You can add support for any language you want just by passing an object with the required strings. 6 | 7 | ## Example 8 | 9 | ```javascript 10 | import { ThirdwebProvider } from "@thirdweb-dev/react-native"; 11 | 12 | 13 | 14 | ; 15 | ``` 16 | 17 | More info in our [Locale Reference](/react-native/v0/ThirdwebProviderProps#locale) 18 | -------------------------------------------------------------------------------- /src/app/react-native/v0/ThirdwebProvider/props/queryClient.mdx: -------------------------------------------------------------------------------- 1 | If you are using [React Query](https://react-query.tanstack.com/) and have your own `QueryClient`, 2 | you can pass it as the `queryClient` prop to use this client instead of the SDK's default client. 3 | 4 | ```jsx 5 | import { ThirdwebProvider } from "@thirdweb-dev/react-native"; 6 | import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; 7 | 8 | function MyApp() { 9 | // Your React Query client (or client from other library such as wagmi) 10 | const queryClient = new QueryClient(); 11 | 12 | return ( 13 | 14 | 15 | 16 | 17 | 18 | ); 19 | } 20 | ``` 21 | -------------------------------------------------------------------------------- /src/app/react-native/v0/ThirdwebProvider/props/supportedChains.mdx: -------------------------------------------------------------------------------- 1 | import DefaultChainsMDX from "../../common/defaultChains.mdx"; 2 | 3 | An array of chains supported by your app. 4 | 5 | You can import chains from `@thirdweb-dev/chains` which contains 1000+ chains. 6 | 7 | ```jsx 8 | import { ThirdwebProvider } from "@thirdweb-dev/react-native"; 9 | import { Ethereum, Polygon } from "@thirdweb-dev/chains"; 10 | 11 | function MyApp() { 12 | return ( 13 | 17 | 18 | 19 | ); 20 | } 21 | ``` 22 | 23 | If not provided, It defaults to below shown default chains. 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/app/react-native/v0/ThirdwebProvider/props/theme.mdx: -------------------------------------------------------------------------------- 1 | Sets the theme for all thirdweb components. 2 | 3 | By default it is set to "dark". 4 | 5 | theme can be set to either "dark" or "light" or a custom theme object. 6 | 7 | You can also import the `lightTheme` or `darkTheme` functions from `@thirdweb-dev/react-native` to use the default themes as base and overrides parts of it. 8 | 9 | ## Example 10 | 11 | ```javascript 12 | import { ThirdwebProvider } from "@thirdweb-dev/react-native"; 13 | 14 | 15 | 16 | ; 17 | ``` 18 | 19 | More info in our [Theme Reference](/react-native/v0/ThirdwebProviderProps#theme) 20 | -------------------------------------------------------------------------------- /src/app/react-native/v0/ThirdwebSDKProvider/props/clientId.mdx: -------------------------------------------------------------------------------- 1 | The `clientId` prop is required to use the thirdweb infrastructure services with the SDK. You can get a client ID by creating an API key on [thirdweb dashboard](https://thirdweb.com/create-api-key). 2 | 3 | ```jsx 4 | function MyApp() { 5 | return ( 6 | 7 | 8 | 9 | ); 10 | } 11 | ``` 12 | -------------------------------------------------------------------------------- /src/app/react-native/v0/ThirdwebSDKProvider/props/queryClient.mdx: -------------------------------------------------------------------------------- 1 | If you are using [React Query](https://react-query.tanstack.com/) and have your own `QueryClient`, 2 | you can pass it as the `queryClient` prop to use this client instead of the SDK's default client. 3 | 4 | ```jsx 5 | import { ThirdwebSDKProvider } from "@thirdweb-dev/react-native"; 6 | import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; 7 | 8 | function MyApp() { 9 | // Your React Query client (or client from other library such as wagmi) 10 | const queryClient = new QueryClient(); 11 | 12 | return ( 13 | 14 | 15 | 16 | 17 | 18 | ); 19 | } 20 | ``` 21 | -------------------------------------------------------------------------------- /src/app/react-native/v0/common/defaultChains.mdx: -------------------------------------------------------------------------------- 1 | import { Details } from "@doc"; 2 | 3 |
4 | 5 | ```js 6 | [ 7 | "ethereum", 8 | "goerli", 9 | "polygon", 10 | "arbitrum", 11 | "arbitrum-goerli", 12 | "optimism", 13 | "optimism-goerli", 14 | "binance", 15 | "binance-testnet", 16 | "fantom", 17 | "fantom-testnet", 18 | "avalanche-fuji", 19 | "avalanche-fuji-testnet", 20 | "localhost", 21 | ]; 22 | ``` 23 | 24 |
25 | -------------------------------------------------------------------------------- /src/app/react-native/v0/components/ConnectEmbed/_assets/ConnectEmbedDefaultImg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/react-native/v0/components/ConnectEmbed/_assets/ConnectEmbedDefaultImg.png -------------------------------------------------------------------------------- /src/app/react-native/v0/components/ConnectEmbed/_assets/ConnectEmbedLight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/react-native/v0/components/ConnectEmbed/_assets/ConnectEmbedLight.png -------------------------------------------------------------------------------- /src/app/react-native/v0/components/ConnectWallet/images/balance-btc-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/react-native/v0/components/ConnectWallet/images/balance-btc-dark.png -------------------------------------------------------------------------------- /src/app/react-native/v0/components/ConnectWallet/images/connect-wallet-dark-compact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/react-native/v0/components/ConnectWallet/images/connect-wallet-dark-compact.png -------------------------------------------------------------------------------- /src/app/react-native/v0/components/ConnectWallet/images/connect-wallet-dark-wide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/react-native/v0/components/ConnectWallet/images/connect-wallet-dark-wide.png -------------------------------------------------------------------------------- /src/app/react-native/v0/components/ConnectWallet/images/connect-wallet-hero.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/react-native/v0/components/ConnectWallet/images/connect-wallet-hero.webp -------------------------------------------------------------------------------- /src/app/react-native/v0/components/ConnectWallet/images/custom-token-list-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/react-native/v0/components/ConnectWallet/images/custom-token-list-dark.png -------------------------------------------------------------------------------- /src/app/react-native/v0/components/ConnectWallet/images/details-open-faucet-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/react-native/v0/components/ConnectWallet/images/details-open-faucet-dark.png -------------------------------------------------------------------------------- /src/app/react-native/v0/components/ConnectWallet/images/select-token-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/react-native/v0/components/ConnectWallet/images/select-token-dark.png -------------------------------------------------------------------------------- /src/app/react-native/v0/components/ConnectWallet/props/auth.mdx: -------------------------------------------------------------------------------- 1 | Enforce that users must sign in with their wallet using [auth](/connect/auth) after connecting their wallet. 2 | 3 | Requires the [`authConfig`](/react/v4/ThirdwebProvider#authConfig) prop to be set on the [`ThirdWebProvider`](/react/v4/ThirdwebProvider) component. 4 | 5 | ```jsx 6 | 17 | ``` 18 | -------------------------------------------------------------------------------- /src/app/react-native/v0/components/ConnectWallet/props/btnTitle.mdx: -------------------------------------------------------------------------------- 1 | Change the text on button when the ConnectWallet button is in the disconnected state. 2 | 3 | The default is `"Connect Wallet"` 4 | 5 | ```tsx 6 | 7 | ``` 8 | -------------------------------------------------------------------------------- /src/app/react-native/v0/components/ConnectWallet/props/detailsBtn.mdx: -------------------------------------------------------------------------------- 1 | Render a custom button to display connected wallet details instead of the default one 2 | 3 | ```jsx 4 | { 6 | return ; 7 | }} 8 | /> 9 | ``` 10 | -------------------------------------------------------------------------------- /src/app/react/v4/components/ConnectWallet/props/hideSwitchToPersonalWallet.mdx: -------------------------------------------------------------------------------- 1 | import { DocImage } from "@doc"; 2 | import SwitchToPersonalImage from "../images/details-open-switch-to-personal.png"; 3 | 4 | Hide the "Switch to Personal wallet" option in the wallet details modal which is shown when wallet is connected to either Smart Account or Safe. 5 | 6 | By default it is `false`. If you want to hide it, set it to `true`. 7 | 8 | ```tsx 9 | 10 | ``` 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/app/react/v4/components/ConnectWallet/props/hideTestnetFaucet.mdx: -------------------------------------------------------------------------------- 1 | import { DocImage } from "@doc"; 2 | import OpenFaucetImage from "../images/details-open-faucet-dark.png"; 3 | 4 | Hide the "Request Testnet funds" link in ConnectWallet details modal when user is connected to a testnet. 5 | 6 | Default is `true`, If you want to show the link, set it to `false`. 7 | 8 | ```jsx 9 | 10 | ``` 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/app/react/v4/components/ConnectWallet/props/modalTitle.mdx: -------------------------------------------------------------------------------- 1 | Change the title of ConnectWallet Modal 2 | 3 | The default is `"Connect"` 4 | 5 | ```jsx 6 | 7 | ``` 8 | -------------------------------------------------------------------------------- /src/app/react/v4/components/ConnectWallet/props/switchToActiveChain.mdx: -------------------------------------------------------------------------------- 1 | Specify whether to show a "Switch Network" button after the wallet is connected and it is not connected to the [activeChain](/react/v4/ThirdwebProvider#activeChain) set in [ThirdwebProvider](react/react.thirdwebprovider) to encourage the user to switch to the correct network in their wallet. 2 | 3 | [activeChain](/react/v4/ThirdwebProvider#activeChain) must be explicitly set in [ThirdwebProvider](react/react.thirdwebprovider) for this to work. 4 | 5 | default is `false`. 6 | 7 | ```jsx 8 | 9 | ``` 10 | -------------------------------------------------------------------------------- /src/app/react/v4/components/ConnectWallet/props/tos.mdx: -------------------------------------------------------------------------------- 1 | You can show a "Terms of Service" and/or "Privacy Policy" link in the ConnectWallet Modal by passing the `termsOfServiceUrl` and/or `privacyPolicyUrl` props 2 | 3 | ```tsx 4 | 8 | ``` 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/app/react/v4/components/ConnectWallet/props/welcomeScreen.mdx: -------------------------------------------------------------------------------- 1 | This prop is only applicable when `modalSize` prop is set to `"wide"`. 2 | 3 | On `"wide"` Modal size, a welcome screen is shown on the right side of the modal. 4 | 5 | This screen can be customized in two ways 6 | 7 | 1. ### Customize Metadata and Image 8 | 9 | ```tsx 10 | 21 | ``` 22 | 23 | 2. ### Render Custom Component 24 | 25 | ```tsx 26 | { 28 | return ; 29 | }} 30 | /> 31 | ``` 32 | -------------------------------------------------------------------------------- /src/app/react/v4/components/Web3Button/props/ContractAbiMDX.mdx: -------------------------------------------------------------------------------- 1 | The [Application Binary Interface](https://docs.soliditylang.org/en/v0.8.17/abi-spec.html) (ABI) of the contract. 2 | 3 | This is only required if you have _not_ imported your contract to the [dashboard](https://thirdweb.com/dashboard). 4 | 5 | ```jsx 6 | import { Web3Button } from "@thirdweb-dev/react"; 7 | 8 | function App() { 9 | return ( 10 | console.log(contract)} // Logic to execute when clicked 14 | > 15 | Execute Action 16 | 17 | ); 18 | } 19 | ``` 20 | -------------------------------------------------------------------------------- /src/app/react/v4/components/Web3Button/props/action.mdx: -------------------------------------------------------------------------------- 1 | The logic to execute when the button is clicked. 2 | 3 | The contract instance is available as the first argument of the function 4 | for you to interact with. 5 | 6 | If the action you are performing is async, make sure to return a `Promise` from the `action` function so that the SDK knows when the action is complete 7 | 8 | ```jsx 9 | import { Web3Button } from "@thirdweb-dev/react"; 10 | 11 | // For example, claim an NFT from this contract when the button is clicked 12 | function App() { 13 | return ( 14 | { 17 | await contract.erc721.claim(1); 18 | }} 19 | > 20 | Claim NFT 21 | 22 | ); 23 | } 24 | ``` 25 | -------------------------------------------------------------------------------- /src/app/react/v4/components/Web3Button/props/className.mdx: -------------------------------------------------------------------------------- 1 | import { Callout } from "@doc"; 2 | 3 | Apply custom CSS classes to the button. 4 | 5 | 6 | 7 | For some specific CSS properties you may need to apply the 8 | [`!important`](https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity#the_!important_exception) 9 | CSS rule to override the default styles of the button. 10 | 11 | 12 | 13 | ```jsx 14 | import { Web3Button } from "@thirdweb-dev/react"; 15 | 16 | function App() { 17 | return ( 18 | console.log(contract)} // Logic to execute when clicked 21 | className="my-custom-class" 22 | > 23 | Execute Action 24 | 25 | ); 26 | } 27 | ``` 28 | -------------------------------------------------------------------------------- /src/app/react/v4/components/Web3Button/props/connectWallet.mdx: -------------------------------------------------------------------------------- 1 | Web3Button renders a [ConnectWallet](/react/v4/components/ConnectWallet) if no wallet is connected. 2 | 3 | You can pass props for that `ConnectWallet` component by passing them in the `connectWallet` prop on `Web3Button` 4 | 5 | ```tsx 6 | import { Web3Button } from "@thirdweb-dev/react"; 7 | 8 | console.log(contract)} // Logic to execute when clicked 16 | > 17 | Execute Action 18 | ; 19 | ``` 20 | -------------------------------------------------------------------------------- /src/app/react/v4/components/Web3Button/props/contractAbi.mdx: -------------------------------------------------------------------------------- 1 | The [Application Binary Interface](https://docs.soliditylang.org/en/v0.8.17/abi-spec.html) (ABI) of the contract. 2 | 3 | This is only required if you have _not_ imported your contract to the [dashboard](https://thirdweb.com/dashboard). 4 | 5 | ```jsx 6 | import { Web3Button } from "@thirdweb-dev/react"; 7 | 8 | function App() { 9 | return ( 10 | console.log(contract)} // Logic to execute when clicked 14 | > 15 | Execute Action 16 | 17 | ); 18 | } 19 | ``` 20 | -------------------------------------------------------------------------------- /src/app/react/v4/components/Web3Button/props/contractAddress.mdx: -------------------------------------------------------------------------------- 1 | The address of the smart contract to interact with. 2 | 3 | If you have _not_ imported your contract to [thirdweb's dashboard](https://thirdweb.com/dashboard), you must additionally specify the [`contractAbi`](#contractabi-optional) prop. 4 | 5 | ```jsx 6 | import { Web3Button } from "@thirdweb-dev/react"; 7 | 8 | function App() { 9 | return ( 10 | { 13 | // Logic to execute when clicked 14 | await someAction(contract); 15 | }} 16 | > 17 | Execute Action 18 | 19 | ); 20 | } 21 | ``` 22 | -------------------------------------------------------------------------------- /src/app/react/v4/components/Web3Button/props/isDisabled.mdx: -------------------------------------------------------------------------------- 1 | Option to disable the button. 2 | 3 | By default, the button is disabled and shows a spinner icon while the transaction is executing. 4 | 5 | ```jsx 6 | import { Web3Button } from "@thirdweb-dev/react"; 7 | 8 | function App() { 9 | return ( 10 | console.log(contract)} // Logic to execute when clicked 13 | isDisabled 14 | > 15 | Execute Action 16 | 17 | ); 18 | } 19 | ``` 20 | -------------------------------------------------------------------------------- /src/app/react/v4/components/Web3Button/props/onError.mdx: -------------------------------------------------------------------------------- 1 | Callback function to be run when the contract method call fails. 2 | 3 | ```jsx 4 | import { Web3Button } from "@thirdweb-dev/react"; 5 | 6 | function App() { 7 | return ( 8 | console.log(contract)} // Logic to execute when clicked 11 | onError={(error) => alert("Something went wrong!")} 12 | > 13 | Execute Action 14 | 15 | ); 16 | } 17 | ``` 18 | -------------------------------------------------------------------------------- /src/app/react/v4/components/Web3Button/props/onSubmit.mdx: -------------------------------------------------------------------------------- 1 | Callback function to be run after the user has confirmed the transaction. 2 | 3 | ```jsx 4 | import { Web3Button } from "@thirdweb-dev/react"; 5 | 6 | function App() { 7 | return ( 8 | console.log(contract)} // Logic to execute when clicked 11 | onSubmit={() => console.log("Transaction submitted")} 12 | > 13 | Execute Action 14 | 15 | ); 16 | } 17 | ``` 18 | -------------------------------------------------------------------------------- /src/app/react/v4/components/Web3Button/props/onSuccess.mdx: -------------------------------------------------------------------------------- 1 | Callback function to be run when the contract method call is successful. 2 | 3 | ```jsx 4 | import { Web3Button } from "@thirdweb-dev/react"; 5 | 6 | function App() { 7 | return ( 8 | console.log(contract)} // Logic to execute when clicked 11 | onSuccess={(result) => alert("Success!")} 12 | > 13 | Execute Action 14 | 15 | ); 16 | } 17 | ``` 18 | -------------------------------------------------------------------------------- /src/app/react/v4/components/Web3Button/props/style.mdx: -------------------------------------------------------------------------------- 1 | Apply custom CSS styles to the button. 2 | 3 | ```jsx 4 | import { Web3Button } from "@thirdweb-dev/react"; 5 | 6 | function App() { 7 | return ( 8 | console.log(contract)} // Logic to execute when clicked 11 | style={{ color: "red" }} 12 | > 13 | Execute Action 14 | 15 | ); 16 | } 17 | ``` 18 | -------------------------------------------------------------------------------- /src/app/react/v5/components/ConnectButton/images/connect-wallet-hero.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/react/v5/components/ConnectButton/images/connect-wallet-hero.webp -------------------------------------------------------------------------------- /src/app/react/v5/components/ConnectEmbed/_assets/ConnectEmbed-default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/react/v5/components/ConnectEmbed/_assets/ConnectEmbed-default.png -------------------------------------------------------------------------------- /src/app/react/v5/components/ConnectEmbed/_assets/ConnectEmbed-signin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/react/v5/components/ConnectEmbed/_assets/ConnectEmbed-signin.png -------------------------------------------------------------------------------- /src/app/react/v5/components/TransactionButton/tx-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/react/v5/components/TransactionButton/tx-button.png -------------------------------------------------------------------------------- /src/app/react/v5/in-app-wallet/export-private-key/confirm-reveal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/react/v5/in-app-wallet/export-private-key/confirm-reveal.png -------------------------------------------------------------------------------- /src/app/react/v5/in-app-wallet/export-private-key/export-key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/react/v5/in-app-wallet/export-private-key/export-key.png -------------------------------------------------------------------------------- /src/app/react/v5/in-app-wallet/export-private-key/exported-key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/react/v5/in-app-wallet/export-private-key/exported-key.png -------------------------------------------------------------------------------- /src/app/react/v5/in-app-wallet/export-private-key/manage-wallet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/react/v5/in-app-wallet/export-private-key/manage-wallet.png -------------------------------------------------------------------------------- /src/app/react/v5/in-app-wallet/get-started/connect-wallet-hero.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/react/v5/in-app-wallet/get-started/connect-wallet-hero.webp -------------------------------------------------------------------------------- /src/app/react/v5/in-app-wallet/images/unity.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/react/v5/in-app-wallet/images/unity.webp -------------------------------------------------------------------------------- /src/app/react/v5/in-app-wallet/images/wallet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/react/v5/in-app-wallet/images/wallet.png -------------------------------------------------------------------------------- /src/app/react/v5/migrate/use-v5-with-ethers/page.mdx: -------------------------------------------------------------------------------- 1 | # WIP -------------------------------------------------------------------------------- /src/app/react/v5/reading-state/page.mdx: -------------------------------------------------------------------------------- 1 | # Read contract state 2 | 3 | Reading contract state in react is done via the `useReadContract` hook. The hook returns a React Query `data`, `isLoading`, and other useful state that you can use to render your component. 4 | 5 | ```ts 6 | import { getContract } from "thirdweb"; 7 | import { useReadContract } from "thirdweb/react"; 8 | 9 | const contract = getContract({ 10 | client, 11 | chain, 12 | address: "0x...", 13 | }); 14 | 15 | const MyComponent = () => { 16 | const { data, isLoading } = useReadContract({ 17 | contract, 18 | method: "function tokenURI(uint256 tokenId) returns (string)", 19 | params: [1n], 20 | }); 21 | }; 22 | ``` 23 | 24 | -------------------------------------------------------------------------------- /src/app/references/components/TDoc/Deprecated.tsx: -------------------------------------------------------------------------------- 1 | import { BlockTag } from "typedoc-better-json"; 2 | import { Callout } from "../../../../components/Document/Callout"; 3 | import { TypedocSummary } from "./Summary"; 4 | 5 | export function DeprecatedCalloutTDoc(props: { tag: BlockTag }) { 6 | return ( 7 | 8 |
9 |
Deprecated
10 |
11 | {props.tag.summary && } 12 |
13 |
14 |
15 | ); 16 | } 17 | -------------------------------------------------------------------------------- /src/app/references/components/TDoc/SourceLink.tsx: -------------------------------------------------------------------------------- 1 | import { DocLink } from "../../../../components/Document/DocLink"; 2 | 3 | export function SourceLinkTypeDoc(props: { href: string }) { 4 | return ( 5 |
6 | 7 | Defined in 8 | {props.href.split("/packages/")[1]} 9 | 10 |
11 | ); 12 | } 13 | -------------------------------------------------------------------------------- /src/app/references/components/TDoc/fetchDocs/fetchReactCoreDoc.ts: -------------------------------------------------------------------------------- 1 | import { fetchJSON } from "@/lib/fetchJSON"; 2 | import { transform } from "typedoc-better-json"; 3 | import { withCache } from "../../../../../lib/withCache"; 4 | 5 | export async function fetchReactCoreDoc() { 6 | const URL = 7 | "https://raw.githubusercontent.com/thirdweb-dev/js/main/legacy_packages/react-core/typedoc/documentation.json.gz"; 8 | const doc = await withCache(() => fetchJSON(URL), { 9 | cacheKey: URL, 10 | // cache for 10min 11 | cacheTime: 10 * 60 * 1000, 12 | }); 13 | 14 | return transform(doc); 15 | } 16 | -------------------------------------------------------------------------------- /src/app/references/components/TDoc/fetchDocs/fetchReactDoc.ts: -------------------------------------------------------------------------------- 1 | import { transform } from "typedoc-better-json"; 2 | import { fetchReactCoreDoc } from "./fetchReactCoreDoc"; 3 | import { mergeDocs } from "./mergeDocs"; 4 | import { fetchJSON } from "@/lib/fetchJSON"; 5 | import { withCache } from "../../../../../lib/withCache"; 6 | 7 | export async function fetchReactDoc() { 8 | const URL = 9 | "https://raw.githubusercontent.com/thirdweb-dev/js/main/legacy_packages/react/typedoc/documentation.json.gz"; 10 | const doc = await withCache(() => fetchJSON(URL), { 11 | cacheKey: URL, 12 | // cache for 10min 13 | cacheTime: 10 * 60 * 1000, 14 | }); 15 | const reactCoreDoc = await fetchReactCoreDoc(); 16 | return mergeDocs(reactCoreDoc, transform(doc as any)); 17 | } 18 | -------------------------------------------------------------------------------- /src/app/references/components/TDoc/fetchDocs/fetchReactNativeDoc.ts: -------------------------------------------------------------------------------- 1 | import { transform } from "typedoc-better-json"; 2 | import { fetchReactCoreDoc } from "./fetchReactCoreDoc"; 3 | import { mergeDocs } from "./mergeDocs"; 4 | import { fetchJSON } from "@/lib/fetchJSON"; 5 | import { withCache } from "../../../../../lib/withCache"; 6 | 7 | export async function fetchReactNativeDoc() { 8 | const URL = 9 | "https://raw.githubusercontent.com/thirdweb-dev/js/main/legacy_packages/react-native/typedoc/documentation.json.gz"; 10 | const doc = await withCache(() => fetchJSON(URL), { 11 | cacheKey: URL, 12 | // cache for 10min 13 | cacheTime: 10 * 60 * 1000, 14 | }); 15 | const reactCoreDoc = await fetchReactCoreDoc(); 16 | return mergeDocs(reactCoreDoc, transform(doc as any)); 17 | } 18 | -------------------------------------------------------------------------------- /src/app/references/components/TDoc/fetchDocs/fetchStorageDoc.ts: -------------------------------------------------------------------------------- 1 | import { fetchJSON } from "@/lib/fetchJSON"; 2 | import { transform } from "typedoc-better-json"; 3 | import { withCache } from "../../../../../lib/withCache"; 4 | 5 | export async function fetchStorageDoc() { 6 | const URL = 7 | "https://raw.githubusercontent.com/thirdweb-dev/js/main/legacy_packages/storage/typedoc/documentation.json.gz"; 8 | const doc = await withCache(() => fetchJSON(URL), { 9 | cacheKey: URL, 10 | // cache for 10min 11 | cacheTime: 10 * 60 * 1000, 12 | }); 13 | 14 | return transform(doc as any); 15 | } 16 | -------------------------------------------------------------------------------- /src/app/references/components/TDoc/fetchDocs/fetchTypeScriptDoc.ts: -------------------------------------------------------------------------------- 1 | import { fetchJSON } from "@/lib/fetchJSON"; 2 | import { transform } from "typedoc-better-json"; 3 | import { withCache } from "../../../../../lib/withCache"; 4 | 5 | export async function fetchTypeScriptDoc(version: string) { 6 | let URL = 7 | "https://raw.githubusercontent.com/thirdweb-dev/js/main/legacy_packages/sdk/typedoc/documentation.json.gz"; 8 | 9 | if (version === "v5") { 10 | URL = 11 | "https://raw.githubusercontent.com/thirdweb-dev/js/main/packages/thirdweb/typedoc/documentation.json.gz"; 12 | } 13 | 14 | const doc = await withCache(() => fetchJSON(URL), { 15 | cacheKey: URL, 16 | // cache for 10min 17 | cacheTime: 10 * 60 * 1000, 18 | }); 19 | 20 | return transform(doc as any); 21 | } 22 | -------------------------------------------------------------------------------- /src/app/references/components/TDoc/fetchDocs/fetchWalletsDoc.ts: -------------------------------------------------------------------------------- 1 | import { fetchJSON } from "@/lib/fetchJSON"; 2 | import { transform } from "typedoc-better-json"; 3 | import { withCache } from "../../../../../lib/withCache"; 4 | 5 | export async function fetchWalletsDoc() { 6 | const URL = 7 | "https://raw.githubusercontent.com/thirdweb-dev/js/main/legacy_packages/wallets/typedoc/documentation.json.gz"; 8 | const doc = await withCache(() => fetchJSON(URL), { 9 | cacheKey: URL, 10 | // cache for 10min 11 | cacheTime: 10 * 60 * 1000, 12 | }); 13 | return transform(doc as any); 14 | } 15 | -------------------------------------------------------------------------------- /src/app/references/components/TDoc/types.ts: -------------------------------------------------------------------------------- 1 | import type { 2 | AccessorDoc, 3 | ClassDoc, 4 | EnumDoc, 5 | FunctionDoc, 6 | InterfaceDoc, 7 | VariableDoc, 8 | } from "typedoc-better-json"; 9 | 10 | export type SomeDoc = 11 | | FunctionDoc 12 | | ClassDoc 13 | | AccessorDoc 14 | | VariableDoc 15 | | InterfaceDoc 16 | | EnumDoc; 17 | -------------------------------------------------------------------------------- /src/app/references/components/TDoc/utils/getTags.ts: -------------------------------------------------------------------------------- 1 | import { BlockTag } from "typedoc-better-json"; 2 | 3 | export function getTags(blockTags?: BlockTag[]) { 4 | const exampleTag = blockTags?.find((tag) => tag.tag === "@example"); 5 | const deprecatedTag = blockTags?.find((tag) => tag.tag === "@deprecated"); 6 | const remarksTag = blockTags?.find((t) => t.tag === "@remarks"); 7 | const seeTag = blockTags?.find((t) => t.tag === "@see"); 8 | 9 | // this is add manually by us in docs repo 10 | const prepareTag = blockTags?.find((t) => t.tag === "@prepare"); 11 | 12 | return { 13 | exampleTag, 14 | deprecatedTag, 15 | remarksTag, 16 | seeTag, 17 | prepareTag, 18 | }; 19 | } 20 | -------------------------------------------------------------------------------- /src/app/references/components/TDoc/utils/subgroups.ts: -------------------------------------------------------------------------------- 1 | export const subgroups = { 2 | components: "Components", 3 | hooks: "Hooks", 4 | classes: "Classes", 5 | functions: "Functions", 6 | variables: "Variables", 7 | types: "Types", 8 | enums: "Enums", 9 | }; 10 | 11 | export const nameToSubgroupSlug = (() => { 12 | const obj: Record = {}; 13 | for (const [key, value] of Object.entries(subgroups)) { 14 | obj[value] = key as keyof typeof subgroups; 15 | } 16 | return obj; 17 | })(); 18 | -------------------------------------------------------------------------------- /src/app/references/components/TDoc/utils/uniqueSlugger.ts: -------------------------------------------------------------------------------- 1 | export function uniqueSlugger(options: { 2 | base: string; 3 | isUnique: (slug: string) => boolean; 4 | }) { 5 | const limit = 10; 6 | const { base, isUnique } = options; 7 | 8 | // if slug is unique, save it and return 9 | if (isUnique(base)) { 10 | return base; 11 | } 12 | 13 | // build a new slug by adding -n where n is the first number that makes the slug unique 14 | let i = 2; 15 | while (!isUnique(`${base}-${i}`)) { 16 | i++; 17 | if (i > limit) { 18 | throw new Error(`Too many duplicates found for slug: ${base}`); 19 | } 20 | } 21 | 22 | return `${base}-${i}`; 23 | } 24 | -------------------------------------------------------------------------------- /src/app/references/react-native/[version]/[[...slug]]/page.tsx: -------------------------------------------------------------------------------- 1 | import { getTDocPage } from "@/app/references/components/TDoc/PageLayout"; 2 | import { fetchReactNativeDoc } from "@/app/references/components/TDoc/fetchDocs/fetchReactNativeDoc"; 3 | 4 | const config = getTDocPage({ 5 | sdkTitle: "React Native SDK", 6 | getDoc: fetchReactNativeDoc, 7 | packageSlug: "react-native", 8 | async getVersions() { 9 | return ["v0"]; 10 | }, 11 | metadataIcon: "react", 12 | }); 13 | 14 | export default config.default; 15 | export const generateStaticParams = config.generateStaticParams; 16 | export const generateMetadata = config.generateMetadata; 17 | export const dynamic = config.dynamic; 18 | -------------------------------------------------------------------------------- /src/app/references/react-native/[version]/layout.tsx: -------------------------------------------------------------------------------- 1 | import { getTDocLayout } from "@/app/references/components/TDoc/PageLayout"; 2 | import { fetchReactNativeDoc } from "@/app/references/components/TDoc/fetchDocs/fetchReactNativeDoc"; 3 | import { createMetadata } from "@doc"; 4 | 5 | export default getTDocLayout({ 6 | getDoc: fetchReactNativeDoc, 7 | packageSlug: "react-native", 8 | sdkTitle: "React Native SDK", 9 | }); 10 | 11 | export const metadata = createMetadata({ 12 | image: { 13 | title: "thirdweb React Native SDK Reference", 14 | icon: "react", 15 | }, 16 | title: "References | thirdweb React Native SDK ", 17 | description: "Full Reference for thirdweb React Native SDK.", 18 | }); 19 | -------------------------------------------------------------------------------- /src/app/references/react/[version]/[[...slug]]/page.tsx: -------------------------------------------------------------------------------- 1 | import { getTDocPage } from "@/app/references/components/TDoc/PageLayout"; 2 | import { fetchReactDoc } from "@/app/references/components/TDoc/fetchDocs/fetchReactDoc"; 3 | 4 | const config = getTDocPage({ 5 | sdkTitle: "React SDK", 6 | getDoc: fetchReactDoc, 7 | packageSlug: "react", 8 | async getVersions() { 9 | return ["v4"]; 10 | }, 11 | metadataIcon: "react", 12 | }); 13 | 14 | export default config.default; 15 | export const generateStaticParams = config.generateStaticParams; 16 | export const generateMetadata = config.generateMetadata; 17 | export const dynamic = config.dynamic; 18 | -------------------------------------------------------------------------------- /src/app/references/react/[version]/layout.tsx: -------------------------------------------------------------------------------- 1 | import { getTDocLayout } from "@/app/references/components/TDoc/PageLayout"; 2 | import { fetchReactDoc } from "@/app/references/components/TDoc/fetchDocs/fetchReactDoc"; 3 | import { createMetadata } from "@doc"; 4 | 5 | export default getTDocLayout({ 6 | getDoc: fetchReactDoc, 7 | packageSlug: "react", 8 | sdkTitle: "React SDK", 9 | }); 10 | 11 | export const metadata = createMetadata({ 12 | image: { 13 | title: "thirdweb React SDK Reference", 14 | icon: "react", 15 | }, 16 | title: "References | thirdweb React SDK ", 17 | description: "Full Reference for thirdweb React SDK.", 18 | }); 19 | -------------------------------------------------------------------------------- /src/app/references/storage/[version]/[[...slug]]/page.tsx: -------------------------------------------------------------------------------- 1 | import { getTDocPage } from "@/app/references/components/TDoc/PageLayout"; 2 | import { fetchStorageDoc } from "@/app/references/components/TDoc/fetchDocs/fetchStorageDoc"; 3 | 4 | const config = getTDocPage({ 5 | sdkTitle: "Storage SDK", 6 | getDoc: fetchStorageDoc, 7 | packageSlug: "storage", 8 | async getVersions() { 9 | return ["v2"]; 10 | }, 11 | metadataIcon: "typescript", 12 | }); 13 | 14 | export default config.default; 15 | export const generateStaticParams = config.generateStaticParams; 16 | export const generateMetadata = config.generateMetadata; 17 | export const dynamic = config.dynamic; 18 | -------------------------------------------------------------------------------- /src/app/references/storage/[version]/layout.tsx: -------------------------------------------------------------------------------- 1 | import { getTDocLayout } from "@/app/references/components/TDoc/PageLayout"; 2 | import { fetchStorageDoc } from "@/app/references/components/TDoc/fetchDocs/fetchStorageDoc"; 3 | import { createMetadata } from "@doc"; 4 | 5 | export default getTDocLayout({ 6 | getDoc: fetchStorageDoc, 7 | packageSlug: "storage", 8 | sdkTitle: "Storage SDK", 9 | }); 10 | 11 | export const metadata = createMetadata({ 12 | image: { 13 | title: "thirdweb Storage SDK Reference", 14 | icon: "storage", 15 | }, 16 | title: "References | thirdweb storage SDK ", 17 | description: "Full Reference for thirdweb storage SDK.", 18 | }); 19 | -------------------------------------------------------------------------------- /src/app/references/typescript/[version]/[[...slug]]/page.tsx: -------------------------------------------------------------------------------- 1 | import { getTDocPage } from "@/app/references/components/TDoc/PageLayout"; 2 | import { fetchTypeScriptDoc } from "@/app/references/components/TDoc/fetchDocs/fetchTypeScriptDoc"; 3 | 4 | const config = getTDocPage({ 5 | sdkTitle: "TypeScript SDK", 6 | getDoc: fetchTypeScriptDoc, 7 | packageSlug: "typescript", 8 | async getVersions() { 9 | return ["v4", "v5"]; 10 | }, 11 | metadataIcon: "typescript", 12 | }); 13 | 14 | export default config.default; 15 | export const generateStaticParams = config.generateStaticParams; 16 | export const generateMetadata = config.generateMetadata; 17 | export const dynamic = config.dynamic; 18 | -------------------------------------------------------------------------------- /src/app/references/typescript/[version]/layout.tsx: -------------------------------------------------------------------------------- 1 | import { getTDocLayout } from "@/app/references/components/TDoc/PageLayout"; 2 | import { fetchTypeScriptDoc } from "@/app/references/components/TDoc/fetchDocs/fetchTypeScriptDoc"; 3 | import { createMetadata } from "@doc"; 4 | 5 | export default getTDocLayout({ 6 | getDoc: fetchTypeScriptDoc, 7 | packageSlug: "typescript", 8 | sdkTitle: "TypeScript SDK", 9 | }); 10 | 11 | export const metadata = createMetadata({ 12 | image: { 13 | title: "thirdweb TypeScript SDK Reference", 14 | icon: "typescript", 15 | }, 16 | title: "References | thirdweb TypeScript SDK ", 17 | description: "Full Reference for thirdweb TypeScript SDK.", 18 | }); 19 | 20 | export const revalidate = 3600 * 24; // revalidate every day 21 | -------------------------------------------------------------------------------- /src/app/references/wallets/[version]/[[...slug]]/page.tsx: -------------------------------------------------------------------------------- 1 | import { getTDocPage } from "@/app/references/components/TDoc/PageLayout"; 2 | import { fetchWalletsDoc } from "@/app/references/components/TDoc/fetchDocs/fetchWalletsDoc"; 3 | 4 | const config = getTDocPage({ 5 | sdkTitle: "Wallets SDK", 6 | getDoc: fetchWalletsDoc, 7 | packageSlug: "wallets", 8 | async getVersions() { 9 | return ["v2"]; 10 | }, 11 | metadataIcon: "typescript", 12 | }); 13 | 14 | export default config.default; 15 | export const generateStaticParams = config.generateStaticParams; 16 | export const generateMetadata = config.generateMetadata; 17 | export const dynamic = config.dynamic; 18 | -------------------------------------------------------------------------------- /src/app/references/wallets/[version]/layout.tsx: -------------------------------------------------------------------------------- 1 | import { getTDocLayout } from "@/app/references/components/TDoc/PageLayout"; 2 | import { fetchWalletsDoc } from "@/app/references/components/TDoc/fetchDocs/fetchWalletsDoc"; 3 | import { createMetadata } from "@doc"; 4 | 5 | export default getTDocLayout({ 6 | getDoc: fetchWalletsDoc, 7 | packageSlug: "wallets", 8 | sdkTitle: "Wallet SDK", 9 | }); 10 | 11 | export const metadata = createMetadata({ 12 | image: { 13 | title: "thirdweb Wallet SDK Reference", 14 | icon: "wallets", 15 | }, 16 | title: "References | thirdweb Wallet SDK ", 17 | description: "Full Reference for thirdweb Wallet SDK.", 18 | }); 19 | -------------------------------------------------------------------------------- /src/app/solutions/gaming/assets/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/solutions/gaming/assets/preview.png -------------------------------------------------------------------------------- /src/app/solutions/gaming/assets/unreal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/solutions/gaming/assets/unreal.png -------------------------------------------------------------------------------- /src/app/solutions/layout.tsx: -------------------------------------------------------------------------------- 1 | import { DocLayout } from "@/components/Layouts/DocLayout"; 2 | import { sidebar } from "./sidebar"; 3 | 4 | export default async function Layout(props: { children: React.ReactNode }) { 5 | return ( 6 | 7 | {props.children} 8 | 9 | ); 10 | } 11 | -------------------------------------------------------------------------------- /src/app/solutions/page.mdx: -------------------------------------------------------------------------------- 1 | import { createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | image: { 5 | title: "thirdweb solutions", 6 | icon: "thirdweb", 7 | }, 8 | title: "Solutions | thirdweb", 9 | description: "Solutions for building on thirdweb", 10 | }); 11 | 12 | # Solutions 13 | 14 | - [Gaming:](/solutions/gaming/overview) Tools that let you easily build web3 games for any platform. 15 | -------------------------------------------------------------------------------- /src/app/styleguide/layout.tsx: -------------------------------------------------------------------------------- 1 | import { DocLayout } from "@/components/Layouts/DocLayout"; 2 | import { sidebar } from "./sidebar"; 3 | 4 | export default async function Layout(props: { children: React.ReactNode }) { 5 | return ( 6 | 7 | {props.children} 8 | 9 | ); 10 | } 11 | -------------------------------------------------------------------------------- /src/app/styleguide/sidebar.tsx: -------------------------------------------------------------------------------- 1 | import { SideBar } from "@/components/Layouts/DocLayout"; 2 | 3 | export const sidebar: SideBar = { 4 | name: "Styleguide", 5 | links: [ 6 | { 7 | name: "Basics", 8 | href: "/styleguide", 9 | }, 10 | { 11 | name: "Code", 12 | href: "/styleguide/code", 13 | }, 14 | { 15 | name: "Tabs", 16 | href: "/styleguide/tabs", 17 | }, 18 | { 19 | name: "Steps", 20 | href: "/styleguide/steps", 21 | }, 22 | { 23 | name: "Cards", 24 | href: "/styleguide/cards", 25 | }, 26 | { 27 | name: "Callouts", 28 | href: "/styleguide/callouts", 29 | }, 30 | ], 31 | }; 32 | -------------------------------------------------------------------------------- /src/app/styleguide/steps/page.mdx: -------------------------------------------------------------------------------- 1 | import { Steps, Step } from "@doc"; 2 | 3 | # Steps 4 | 5 | 6 | 7 | 8 | 9 | Content for step 1. 10 | 11 | 12 | 13 | 14 | 15 | content for step 2 16 | 17 | 18 | 19 | 20 | 21 | content for step 3 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/app/styleguide/tabs/page.mdx: -------------------------------------------------------------------------------- 1 | import { Tabs, TabsList, TabsTrigger, TabsContent } from "@/components/ui/tabs"; 2 | 3 | # Tabs 4 | 5 | 6 | 7 | Tab 1 8 | Tab 2 9 | Tab 3 10 | 11 | Content for Tab 1 12 | Content for Tab 2 13 | Content for Tab 3 14 | 15 | -------------------------------------------------------------------------------- /src/app/styleguide/test.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/styleguide/test.jpg -------------------------------------------------------------------------------- /src/app/styleguide/test2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/styleguide/test2.jpg -------------------------------------------------------------------------------- /src/app/typescript/v5/contract/page.mdx: -------------------------------------------------------------------------------- 1 | # Contract 2 | 3 | A "contract" is a wrapper around a smart contract that is deployed on a chain. It is what you use to create transactions and read contract state. 4 | 5 | ```ts 6 | import { getContract } from "thirdweb"; 7 | import { ethereum } from "thirdweb/chains"; 8 | 9 | // get a contract 10 | const contract = getContract({ 11 | // the client you have created via `createThirdwebClient()` 12 | client, 13 | // the chain the contract is deployed on 14 | chain: ethereum, 15 | // the contract's address 16 | address: "0x123...", 17 | // OPTIONAL: the contract's abi 18 | abi: [...], 19 | }); 20 | ``` 21 | 22 | Contracts defined this way are lightweight and can be exported as consts accross your application to read or write to it. 23 | -------------------------------------------------------------------------------- /src/app/typescript/v5/storage/page.mdx: -------------------------------------------------------------------------------- 1 | # IPFS Storage 2 | 3 | The thirdweb SDK comes built-in with an IPFS uploader and downloader. 4 | 5 | ### Download from IPFS 6 | 7 | ```ts 8 | import { download } from "thirdweb/storage"; 9 | 10 | const file = await download({ 11 | client, 12 | uri: "ipfs://Qm...", 13 | }); 14 | ``` 15 | 16 | You can view all of the configuration options in the [full reference](/references/typescript/v5/download). 17 | 18 | ### Upload to IPFS 19 | 20 | ```ts 21 | import { upload } from "thirdweb/storage"; 22 | 23 | const uris = await upload({ 24 | client, 25 | files: [new File(["hello world"], "hello.txt")], 26 | }); 27 | ``` 28 | 29 | You can view all of the configuration options in the [full reference](/references/typescript/v5/upload). 30 | -------------------------------------------------------------------------------- /src/app/unity/assets/import.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/unity/assets/import.png -------------------------------------------------------------------------------- /src/app/unity/assets/import2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/unity/assets/import2.png -------------------------------------------------------------------------------- /src/app/unity/assets/import3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/unity/assets/import3.png -------------------------------------------------------------------------------- /src/app/unity/assets/nft-gallery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/unity/assets/nft-gallery.png -------------------------------------------------------------------------------- /src/app/unity/assets/nft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/unity/assets/nft.png -------------------------------------------------------------------------------- /src/app/unity/assets/project.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/unity/assets/project.png -------------------------------------------------------------------------------- /src/app/unity/assets/sceneprefab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/unity/assets/sceneprefab.png -------------------------------------------------------------------------------- /src/app/unity/assets/thirdwebmanagerconfig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/unity/assets/thirdwebmanagerconfig.png -------------------------------------------------------------------------------- /src/app/unity/assets/unitypackage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/unity/assets/unitypackage.png -------------------------------------------------------------------------------- /src/app/unity/blocks/getblock/page.mdx: -------------------------------------------------------------------------------- 1 | import { createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "GetBlock | thirdweb Unity SDK", 5 | description: "Get block data by block number.", 6 | }); 7 | 8 | # GetBlock 9 | 10 | Get block data by block number. 11 | 12 | ## Usage 13 | 14 | ```csharp 15 | BigInteger blockNumber = 1234567; 16 | var block = await ThirdwebManager.Instance.SDK.Blocks.GetBlock(blockNumber); 17 | ``` 18 | -------------------------------------------------------------------------------- /src/app/unity/blocks/getblockwithtransactions/page.mdx: -------------------------------------------------------------------------------- 1 | import { createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "GetBlockWithTransactions | thirdweb Unity SDK", 5 | description: "Get block data by block number, including transaction data.", 6 | }); 7 | 8 | # GetBlockWithTransactions 9 | 10 | Get block data by block number, including transaction data. 11 | 12 | ## Usage 13 | 14 | ```csharp 15 | BigInteger blockNumber = 1234567; 16 | var blockWithTransactions = await ThirdwebManager.Instance.SDK.Blocks.GetBlockWithTransactions(blockNumber); 17 | ``` 18 | -------------------------------------------------------------------------------- /src/app/unity/blocks/getlatestblocknumber/page.mdx: -------------------------------------------------------------------------------- 1 | import { createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "GetLatestBlockNumber | thirdweb Unity SDK", 5 | description: "Get the latest block number", 6 | }); 7 | 8 | # GetLatestBlockNumber 9 | 10 | Get the latest block number. 11 | 12 | ## Usage 13 | 14 | ```csharp 15 | BigInteger blockNumber = await ThirdwebManager.Instance.SDK.Blocks.GetLatestBlockNumber(); 16 | ``` 17 | -------------------------------------------------------------------------------- /src/app/unity/blocks/getlatestblocktimestamp/page.mdx: -------------------------------------------------------------------------------- 1 | import { createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "GetLatestBlockTimestamp | thirdweb Unity SDK", 5 | description: "Get the latest block timestamp", 6 | }); 7 | 8 | # GetLatestBlockTimestamp 9 | 10 | Get the latest block timestamp. 11 | 12 | ## Usage 13 | 14 | ```csharp 15 | BigInteger blocktimestamp = await ThirdwebManager.Instance.SDK.Blocks.GetLatestBlockTimestamp(); 16 | ``` 17 | -------------------------------------------------------------------------------- /src/app/unity/contracts/erc20/erc20burnable/page.mdx: -------------------------------------------------------------------------------- 1 | import { Details, createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "ERC20Burnable | thirdweb Unity SDK", 5 | description: "References for ERC20Burnable contract in thirdweb Unity SDK.", 6 | }); 7 | 8 | # ERC20Burnable 9 | 10 | Allows you to burn tokens (take them out of circulation). 11 | 12 | ## Burn 13 | 14 | Burn tokens held by the **connected wallet**. 15 | 16 | ```csharp 17 | var data = await contract.ERC20.Burn("{{amount}}"); 18 | ``` 19 | 20 |
21 | 22 | #### amount 23 | 24 | The amount of this token you want to burn. 25 | 26 | Must be a `string`. 27 | 28 |
29 | -------------------------------------------------------------------------------- /src/app/unity/contracts/erc721/erc721burnable/page.mdx: -------------------------------------------------------------------------------- 1 | import { Details, createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "ERC721Burnable | thirdweb Unity SDK", 5 | description: "References for ERC721Burnable contract in thirdweb Unity SDK.", 6 | }); 7 | 8 | # ERC721Burnable 9 | 10 | Allows you to burn an NFT (transfer it to a **null address** that is unrecoverable). 11 | 12 | ## Burn 13 | 14 | Burn an NFT from the **connected wallet**. 15 | 16 | ```csharp 17 | var data = await contract.ERC721.Burn("{{token_id}}"); 18 | ``` 19 | 20 |
21 | 22 | #### tokenId 23 | 24 | The token ID of the NFT to burn. 25 | 26 | Must be a `string`. 27 | 28 |
29 | -------------------------------------------------------------------------------- /src/app/unity/contracts/events/removealllisteners/page.mdx: -------------------------------------------------------------------------------- 1 | import { createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "contract.Events.RemoveAllListeners | thirdweb Unity SDK", 5 | description: 6 | "References for contract.Events.RemoveAllListeners in thirdweb Unity SDK.", 7 | }); 8 | 9 | # RemoveAllListeners 10 | 11 | Remove all previously created event listeners, such as those created with [ListenToAll](unity/events/listentoall). 12 | 13 | ## Usage 14 | 15 | ```csharp 16 | await contract.Events.RemoveAllListeners(); 17 | ``` 18 | -------------------------------------------------------------------------------- /src/app/unity/getting-started/scene-prefabs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/unity/getting-started/scene-prefabs.png -------------------------------------------------------------------------------- /src/app/unity/getting-started/thirdweb-unity-sdk-setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/unity/getting-started/thirdweb-unity-sdk-setup.png -------------------------------------------------------------------------------- /src/app/unity/thirdwebmanager/thirdwebmanager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/unity/thirdwebmanager/thirdwebmanager.png -------------------------------------------------------------------------------- /src/app/unity/wallets/actions/addadmin/page.mdx: -------------------------------------------------------------------------------- 1 | import { createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "wallet.AddAdmin | thirdweb Unity SDK", 5 | description: "Add an admin to the connected Smart Wallet", 6 | }); 7 | 8 | # AddAdmin 9 | 10 | For Smart Wallets only, add an admin to the connected Smart Wallet. 11 | 12 | ## Usage 13 | 14 | ```csharp 15 | var txResult = await sdk.Wallet.AddAdmin("0xadmin"); 16 | ``` 17 | 18 | ## Configuration 19 | 20 | ### admin 21 | 22 | The address of the admin to add. 23 | 24 | Must be a `string`. 25 | 26 | ### Return Value 27 | 28 | Returns a `TransactionResult` object. 29 | -------------------------------------------------------------------------------- /src/app/unity/wallets/actions/disconnect/page.mdx: -------------------------------------------------------------------------------- 1 | import { createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "wallet.Disconnect | thirdweb Unity SDK", 5 | description: "Disconnect a user's wallet from your game", 6 | }); 7 | 8 | # Disconnect 9 | 10 | Disconnect a user's wallet from your game, and optionally end the session if applicable. 11 | 12 | ## Usage 13 | 14 | ```csharp 15 | await sdk.Wallet.Disconnect(); 16 | ``` 17 | 18 | ## Configuration 19 | 20 | ### endSession 21 | 22 | With some Wallet Providers, the concept of a session exists. Set this optional parameter to `true` to end the session when disconnecting. 23 | 24 | Must be a `bool`. 25 | -------------------------------------------------------------------------------- /src/app/unity/wallets/actions/getaddress/page.mdx: -------------------------------------------------------------------------------- 1 | import { createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "wallet.GetAddress | thirdweb Unity SDK", 5 | description: "Get the address of the currently connected wallet", 6 | }); 7 | 8 | # GetAddress 9 | 10 | Get the address of the currently connected wallet. 11 | 12 | ## Usage 13 | 14 | Call this method to get the address of the connected wallet. 15 | 16 | ```csharp 17 | string address = await sdk.Wallet.GetAddress(); 18 | ``` 19 | 20 | ## Return Value 21 | 22 | Returns the wallet address as a string. 23 | 24 | ```csharp 25 | string; 26 | ``` 27 | -------------------------------------------------------------------------------- /src/app/unity/wallets/actions/getchainid/page.mdx: -------------------------------------------------------------------------------- 1 | import { createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "wallet.GetChainId | thirdweb Unity SDK", 5 | description: "Get the chain ID of the currently connected wallet", 6 | }); 7 | 8 | # GetChainId 9 | 10 | Get the chain ID of the currently connected wallet. 11 | 12 | ## Usage 13 | 14 | Call this method to get the chain ID of the connected wallet. 15 | 16 | ```csharp 17 | var chainId = await sdk.Wallet.GetChainId(); 18 | ``` 19 | 20 | ## Return Value 21 | 22 | Returns the chain ID as a `BigInteger`. 23 | 24 | ```csharp 25 | BigInteger 26 | ``` 27 | -------------------------------------------------------------------------------- /src/app/unity/wallets/actions/getemail/page.mdx: -------------------------------------------------------------------------------- 1 | import { createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "wallet.GetEmail | thirdweb Unity SDK", 5 | description: "Get the Email of the currently connected In-App Wallet", 6 | }); 7 | 8 | # GetEmail 9 | 10 | Gets the connected in-app wallet email if any. 11 | 12 | ## Usage 13 | 14 | ```csharp 15 | string email = await sdk.Wallet.GetEmail(); 16 | ``` 17 | 18 | ## Return Value 19 | 20 | Returns the email `string` of the connected in-app wallet if any, otherwise returns an empty string. 21 | -------------------------------------------------------------------------------- /src/app/unity/wallets/actions/getsigneraddress/page.mdx: -------------------------------------------------------------------------------- 1 | import { createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "wallet.GetSignerAddress | thirdweb Unity SDK", 5 | description: "Get the original signer address of the connected wallet.", 6 | }); 7 | 8 | # GetSignerAddress 9 | 10 | Gets the address of the signer associated with the connected wallet. 11 | In most cases, that is the wallet address. 12 | When it comes to Smart Wallets, it is the associated EOA's address. 13 | 14 | ## Usage 15 | 16 | ```csharp 17 | string signerAddress = await sdk.Wallet.GetSignerAddress(); 18 | ``` 19 | 20 | ## Return Value 21 | 22 | Returns the `string` address of the signer associated with the connected wallet. 23 | -------------------------------------------------------------------------------- /src/app/unity/wallets/actions/isconnected/page.mdx: -------------------------------------------------------------------------------- 1 | import { createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "wallet.IsConnected | thirdweb Unity SDK", 5 | description: "Check whether there's a signer connected with the SDK", 6 | }); 7 | 8 | # IsConnected 9 | 10 | Check whether there's a signer connected with the SDK. 11 | 12 | ## Usage 13 | 14 | Call this method to check if a signer (e.g. a wallet) is connected to the SDK. 15 | 16 | ```csharp 17 | var data = await sdk.Wallet.IsConnected(); 18 | ``` 19 | 20 | ## Return Value 21 | 22 | Returns `true` if a signer is connected, `false` if not. 23 | 24 | ```csharp 25 | bool 26 | ``` 27 | -------------------------------------------------------------------------------- /src/app/unity/wallets/actions/removeadmin/page.mdx: -------------------------------------------------------------------------------- 1 | import { createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "wallet.RemoveAdmin | thirdweb Unity SDK", 5 | description: "Removes an admin from the connected Smart Wallet", 6 | }); 7 | 8 | # RemoveAdmin 9 | 10 | For Smart Wallets only, remove an admin from the connected Smart Wallet. 11 | 12 | ## Usage 13 | 14 | ```csharp 15 | var txResult = await sdk.Wallet.RemoveAdmin("0xadmin"); 16 | ``` 17 | 18 | ## Configuration 19 | 20 | ### admin 21 | 22 | The address of the admin to remove. 23 | 24 | Must be a `string`. 25 | 26 | ### Return Value 27 | 28 | Returns a `TransactionResult` object. 29 | -------------------------------------------------------------------------------- /src/app/unity/wallets/actions/revokesessionkey/page.mdx: -------------------------------------------------------------------------------- 1 | import { createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "wallet.RevokeSessionKey | thirdweb Unity SDK", 5 | description: "Revokes restricted Smart Wallet access of a signer.", 6 | }); 7 | 8 | # RevokeSessionKey 9 | 10 | For Smart Wallets only, revokes restricted Smart Wallet access of a signer. 11 | 12 | See the [Smart Wallets](/unity/wallets/providers/account-abstraction) documentation for more information. 13 | 14 | ## Usage 15 | 16 | ```csharp 17 | var txResult = await sdk.Wallet.RevokeSessionKey("0xSignerAddress"); 18 | ``` 19 | 20 | ## Configuration 21 | 22 | ### signerAddress 23 | 24 | The address of the signer to remove. 25 | 26 | ## Return Value 27 | 28 | Returns a `TransactionResult` object. 29 | -------------------------------------------------------------------------------- /src/app/unity/wallets/actions/switchnetwork/page.mdx: -------------------------------------------------------------------------------- 1 | import { createMetadata } from "@doc"; 2 | 3 | export const metadata = createMetadata({ 4 | title: "wallet.SwitchNetwork | thirdweb Unity SDK", 5 | description: 6 | "Switch the network that the connected wallet is currently connected to", 7 | }); 8 | 9 | # SwitchNetwork 10 | 11 | Switch the network that the connected wallet is currently connected to. 12 | 13 | ## Usage 14 | 15 | ```csharp 16 | sdk.Wallet.SwitchNetwork(1); 17 | ``` 18 | 19 | ## Configuration 20 | 21 | ### chainId 22 | 23 | The ID of the network to switch to. 24 | 25 | Must be a `BigInteger`. 26 | -------------------------------------------------------------------------------- /src/app/unity/wallets/prefab/connectwallet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/unity/wallets/prefab/connectwallet.png -------------------------------------------------------------------------------- /src/app/unity/wallets/prefab/connectwalletinspector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/unity/wallets/prefab/connectwalletinspector.png -------------------------------------------------------------------------------- /src/app/unity/wallets/providers/in-app-wallet/ews-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/unity/wallets/providers/in-app-wallet/ews-settings.png -------------------------------------------------------------------------------- /src/app/unreal/sidebar.tsx: -------------------------------------------------------------------------------- 1 | import { SideBar } from "@/components/Layouts/DocLayout"; 2 | 3 | export const sidebar: SideBar = { 4 | name: "Unreal SDK", 5 | links: [ 6 | { separator: true }, 7 | { 8 | name: "Plugin Overview", 9 | href: "/unreal", 10 | }, 11 | ], 12 | }; 13 | -------------------------------------------------------------------------------- /src/app/wallet-sdk/v2/build/connect-wallet-integration/_assets/connect-wallet-dark-compact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/wallet-sdk/v2/build/connect-wallet-integration/_assets/connect-wallet-dark-compact.png -------------------------------------------------------------------------------- /src/app/wallet-sdk/v2/build/connect-wallet-integration/_assets/connect-wallet-embedded-compact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thirdweb-dev/docs-v2/bc0c31a7dadf04ab3e794601ec6ea90f099387d8/src/app/wallet-sdk/v2/build/connect-wallet-integration/_assets/connect-wallet-embedded-compact.png -------------------------------------------------------------------------------- /src/components/Document/AutoEditPageButton.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { usePathname } from "next/navigation"; 4 | import { EditPage } from "./EditPage"; 5 | 6 | export function AutoEditPageButton() { 7 | const path = usePathname(); 8 | 9 | return ; 10 | } 11 | -------------------------------------------------------------------------------- /src/components/Document/Cards/ConnectCard.tsx: -------------------------------------------------------------------------------- 1 | import Link from "next/link"; 2 | import Image from "next/image"; 3 | 4 | export function ConnectCard(props: { 5 | title: string; 6 | href: string; 7 | iconUrl: string; 8 | }) { 9 | return ( 10 | 11 |
12 |
13 | 14 |

{props.title}

15 |
16 |
17 | 18 | ); 19 | } 20 | -------------------------------------------------------------------------------- /src/components/Document/DocImage.tsx: -------------------------------------------------------------------------------- 1 | /* eslint-disable @next/next/no-img-element */ 2 | import { cn } from "@/lib/utils"; 3 | import Image from "next/image"; 4 | 5 | export function DocImage(props: { 6 | src: React.ComponentProps["src"]; 7 | alt?: string; 8 | className?: string; 9 | containerClassName?: string; 10 | }) { 11 | const { alt, src } = props; 12 | const cls = cn("rounded-lg w-full", props.className); 13 | 14 | return ( 15 |
21 | {typeof src === "string" ? ( 22 | {alt 23 | ) : ( 24 | {alt 25 | )} 26 |
27 | ); 28 | } 29 | -------------------------------------------------------------------------------- /src/components/Document/DocLink.tsx: -------------------------------------------------------------------------------- 1 | import { cn } from "@/lib/utils"; 2 | import Link from "next/link"; 3 | 4 | export function DocLink(props: { 5 | href: string; 6 | children: React.ReactNode; 7 | className?: string; 8 | target?: string; 9 | }) { 10 | return ( 11 | 24 | {props.children} 25 | 26 | ); 27 | } 28 | -------------------------------------------------------------------------------- /src/components/Document/EditPage.tsx: -------------------------------------------------------------------------------- 1 | import Link from "next/link"; 2 | import { BsGithub } from "react-icons/bs"; 3 | 4 | const prefix = `https://github.com/thirdweb-dev/docs-v2/edit/main/src/app`; 5 | 6 | export function EditPage(props: { path: string }) { 7 | return ( 8 | 13 |
14 | 15 |
16 |
Edit this page
17 | 18 | ); 19 | } 20 | -------------------------------------------------------------------------------- /src/components/Document/FeatureCard.tsx: -------------------------------------------------------------------------------- 1 | import Image from "next/image"; 2 | 3 | export type FeatureCardItem = { 4 | title: string; 5 | description: string; 6 | iconUrl: string | React.ReactNode; 7 | }; 8 | 9 | export function FeatureCard(props: FeatureCardItem) { 10 | const { title, description, iconUrl } = props; 11 | return ( 12 |
13 |
14 | {typeof iconUrl === "string" 15 | ? 16 | : iconUrl 17 | } 18 |
19 |
20 |
{title}
21 |
{description}
22 |
23 |
24 | ); 25 | } 26 | -------------------------------------------------------------------------------- /src/components/Document/GithubButtonLink.tsx: -------------------------------------------------------------------------------- 1 | import Link from "next/link"; 2 | import { BsGithub } from "react-icons/bs"; 3 | 4 | export function GithubButtonLink(props: { href: string }) { 5 | return ( 6 | 11 |
12 | 13 |
14 |
View on GitHub
15 | 16 | ); 17 | } 18 | -------------------------------------------------------------------------------- /src/components/Document/Grid.tsx: -------------------------------------------------------------------------------- 1 | import { cn } from "@/lib/utils"; 2 | 3 | export function Grid(props: { children: React.ReactNode; className?: string }) { 4 | return ( 5 |
11 | {props.children} 12 |
13 | ); 14 | } 15 | -------------------------------------------------------------------------------- /src/components/Document/List.module.css: -------------------------------------------------------------------------------- 1 | .unorderedList, 2 | .orderedList { 3 | @apply pl-5 leading-relaxed list-none mb-6 text-f-200; 4 | } 5 | 6 | .unorderedList > li { 7 | @apply pb-0.5 pl-2 list-disc; 8 | } 9 | 10 | .orderedList > li { 11 | @apply pb-0.5 pl-2 list-decimal; 12 | } 13 | 14 | .unorderedList > li::marker { 15 | @apply text-f-300 !m-0 text-left; 16 | } 17 | 18 | .orderedList > li::marker { 19 | @apply text-f-300 text-left; 20 | } 21 | 22 | .unorderedList > li:hover::marker, 23 | .orderedList > li:hover::marker { 24 | @apply text-f-100; 25 | } 26 | -------------------------------------------------------------------------------- /src/components/Document/List.tsx: -------------------------------------------------------------------------------- 1 | import styles from "./List.module.css"; 2 | 3 | export function UnorderedList(props: { children?: React.ReactNode }) { 4 | return
    {props.children}
; 5 | } 6 | 7 | export function OrderedList(props: { children?: React.ReactNode }) { 8 | return
    {props.children}
; 9 | } 10 | -------------------------------------------------------------------------------- /src/components/Document/OpenSourceCard.tsx: -------------------------------------------------------------------------------- 1 | import { GithubButtonLink } from "./GithubButtonLink"; 2 | import { Paragraph } from "./Paragraph"; 3 | 4 | export function OpenSourceCard(props: { 5 | description?: string; 6 | title: string; 7 | href: string; 8 | }) { 9 | return ( 10 |
11 |
12 | {props.title || "Open Source"} 13 |
14 | 15 | {props.description || 16 | `${props.title} is open-source. View and contribute to its source code on GitHub.`} 17 | 18 |
19 | 20 |
21 |
22 | ); 23 | } 24 | -------------------------------------------------------------------------------- /src/components/Document/Paragraph.tsx: -------------------------------------------------------------------------------- 1 | import { cn } from "@/lib/utils"; 2 | 3 | export function Paragraph(props: { 4 | children: React.ReactNode; 5 | className?: string; 6 | }) { 7 | return ( 8 |

14 | {props.children} 15 |

16 | ); 17 | } 18 | -------------------------------------------------------------------------------- /src/components/Document/SDKCard.tsx: -------------------------------------------------------------------------------- 1 | import Link from "next/link"; 2 | 3 | export function SDKCard(props: { 4 | title: string; 5 | href: string; 6 | icon?: React.FC<{ className?: string }>; 7 | }) { 8 | return ( 9 | 13 | {props.icon && } 14 |

{props.title}

15 | 16 | ); 17 | } 18 | -------------------------------------------------------------------------------- /src/components/Document/Separator.tsx: -------------------------------------------------------------------------------- 1 | export function Separator() { 2 | return
; 3 | } 4 | -------------------------------------------------------------------------------- /src/components/Document/Stack.tsx: -------------------------------------------------------------------------------- 1 | import { cn } from "@/lib/utils"; 2 | 3 | export function Stack(props: { 4 | children: React.ReactNode; 5 | className?: string; 6 | }) { 7 | return ( 8 |
9 | {props.children} 10 |
11 | ); 12 | } 13 | -------------------------------------------------------------------------------- /src/components/Document/Steps/Steps.module.css: -------------------------------------------------------------------------------- 1 | .steps [data-step]::before { 2 | content: counter(step); 3 | @apply bg-b-600 rounded-[50%] text-f-100 text-base w-8 h-8 inline-flex items-center justify-center absolute left-0 font-semibold hover:text-f-100; 4 | box-shadow: 0 0 1px 3px var(--b-900); 5 | } 6 | 7 | .steps [data-step] { 8 | counter-increment: step; 9 | } 10 | 11 | .steps { 12 | counter-reset: step; 13 | } 14 | -------------------------------------------------------------------------------- /src/components/Document/Steps/Steps.tsx: -------------------------------------------------------------------------------- 1 | import { Heading } from ".."; 2 | import styles from "./Steps.module.css"; 3 | 4 | export function Steps(props: { children: React.ReactNode }) { 5 | return ( 6 |
7 |
    8 | {props.children} 9 |
10 |
11 | ); 12 | } 13 | 14 | export function Step(props: { 15 | title: string; 16 | children: React.ReactNode; 17 | id?: string; 18 | }) { 19 | return ( 20 |
  • 21 |
    22 | 23 | {props.title} 24 | 25 |
    26 |
    {props.children}
    27 |
  • 28 | ); 29 | } 30 | -------------------------------------------------------------------------------- /src/components/others/CopyButton.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { CheckIcon, CopyIcon } from "lucide-react"; 4 | import { Button } from "../ui/button"; 5 | import { useState } from "react"; 6 | 7 | export function CopyButton(props: { text: string }) { 8 | const [copied, setCopied] = useState(false); 9 | 10 | function copyToClipboard() { 11 | navigator.clipboard.writeText(props.text); 12 | setCopied(true); 13 | setTimeout(() => setCopied(false), 1000); 14 | } 15 | 16 | const Icon = copied ? CheckIcon : CopyIcon; 17 | 18 | return ( 19 | 26 | ); 27 | } 28 | -------------------------------------------------------------------------------- /src/components/others/SmoothScroll.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { useEffect } from "react"; 4 | 5 | // enable smooth scroll after page load 6 | // we don't want to do this in CSS to avoid scrolling on page load which happens when url has a hash 7 | export function EnableSmoothScroll() { 8 | useEffect(() => { 9 | document.documentElement.style.scrollBehavior = "smooth"; 10 | }, []); 11 | return null; 12 | } 13 | -------------------------------------------------------------------------------- /src/components/others/V4SDKBanner.tsx: -------------------------------------------------------------------------------- 1 | import { Callout, DocLink, Paragraph } from "../Document"; 2 | 3 | export function V4SDKbanner() { 4 | return ( 5 | 6 | 7 | This document includes code references for Connect SDK v4. We will be 8 | updating this document to use 9 | Connect SDK v5 soon. 10 | 11 | 12 | ); 13 | } 14 | -------------------------------------------------------------------------------- /src/components/others/theme/theme.tsx: -------------------------------------------------------------------------------- 1 | export function SetStoredTheme() { 2 | function scriptCode() { 3 | try { 4 | const storedTheme = localStorage.getItem("website-theme"); 5 | if (storedTheme === "dark" || storedTheme === "light") { 6 | document.body.dataset.theme = storedTheme; 7 | } 8 | } catch { 9 | // ignore 10 | } 11 | } 12 | 13 | return ( 14 |