Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .cursor/rules/contributor-workflow.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,13 @@ that enforces Microsoft style, Consensys terminology, and spelling. Fix any lint
requesting review. If a warning is a false positive, add the term to the Vale vocabulary file rather
than rewriting valid technical language.

> **Warning:** Do not wire Vale into the Husky `pre-commit` hook (`lint-staged` in `package.json`).
> Vale is intentionally CI-only. It frequently reports false positives on valid technical content
> (for example, code identifiers like `wagmi-tab`, product names, and intentional ellipses) and lints
> the entire staged file rather than just your diff, so running it on commit blocks unrelated,
> pre-existing content and stalls otherwise-valid commits. Let the PR CI run Vale; contributors can
> still run it on demand with `npm run docs:ci`.

## Pull requests

- Summarize what changed and why in the PR description. Do not just list files.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Install via **Package Manager** using OpenUpm:
- add a new **Scoped Registry** (or edit the existing OpenUPM entry)
- Name package.openupm.com

- URL <CopyableNoFollow url="https://package.openupm.com" />
- URL <CopyableNoFollow url="https://package.openupm.com" plain />

- `Scope(s)` com.nethereum.unity

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Install via **Package Manager** using OpenUpm:
- add a new **Scoped Registry** (or edit the existing OpenUPM entry)
- Name package.openupm.com

- URL <CopyableNoFollow url="https://package.openupm.com" />
- URL <CopyableNoFollow url="https://package.openupm.com" plain />

- `Scope(s)` com.nethereum.unity

Expand Down
2 changes: 1 addition & 1 deletion embedded-wallets/sdk/vue/README.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ Use composables from `@web3auth/modal/vue/solana`.

### Ethereum integration

Ethereum composables are provided through [`@wagmi/vue`](https://wagmi.sh/vue), which works with Embedded Wallets. This allows you to leverage a wide range of Ethereum composables for account management, transactions, and more.
Ethereum composables are provided through [`@wagmi/vue`](https://wagmi.sh/vue/getting-started), which works with Embedded Wallets. This allows you to leverage a wide range of Ethereum composables for account management, transactions, and more.

For implementation details and examples, refer to the [Ethereum Composables](./ethereum-composables.mdx) section.

Expand Down
5 changes: 1 addition & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,7 @@
"**/*.{js,jsx,ts,tsx}": "eslint --fix --max-warnings=5 --no-warn-ignored",
"**/*.{ts,tsx}": "tsc-files --noEmit src/globals.d.ts",
"**/*.css": "stylelint --fix",
"**/*.{md,mdx}": [
"prettier --write",
"bash scripts/vale-staged.sh"
],
"**/*.{md,mdx}": "prettier --write",
"**/*.{ts,js,tsx,jsx,json,css,scss,html,yml,yaml}": "prettier --write"
},
"dependencies": {
Expand Down
7 changes: 7 additions & 0 deletions scripts/vale-staged.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
#!/usr/bin/env bash
# Run Vale (Consensys docs-spelling-check) on files passed by lint-staged.
#
# WARNING: Do NOT re-add this to the Husky pre-commit hook (`lint-staged` in
# package.json). Vale is intentionally CI-only: it produces false positives on
# valid technical content (code identifiers like `wagmi-tab`, product names,
# intentional ellipses) and lints the whole staged file, not just the diff, so
# running it on commit blocks unrelated pre-existing content. Let PR CI run Vale.
# Contributors can still run it on demand with `npm run docs:ci`.

set -euo pipefail

Expand Down
19 changes: 15 additions & 4 deletions src/components/CopyableNoFollow/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,16 @@ type CopyableNoFollowProps = {
url: string
/** Optional link text; defaults to url */
children?: React.ReactNode
/**
* Render the value as plain, non-link text (keeping the copy button) instead
* of a nofollow anchor. Use for registry/endpoint URLs that are not meant to
* be browsed (for example, `package.openupm.com`), so crawlers don't flag
* them as broken links.
*/
plain?: boolean
}

export default function CopyableNoFollow({ url, children }: CopyableNoFollowProps) {
export default function CopyableNoFollow({ url, children, plain }: CopyableNoFollowProps) {
const [copied, setCopied] = useState(false)

const handleCopy = useCallback(async () => {
Expand All @@ -28,9 +35,13 @@ export default function CopyableNoFollow({ url, children }: CopyableNoFollowProp

return (
<span className={styles.wrapper}>
<a href={url} rel="nofollow" target="_blank">
{children ?? url}
</a>
{plain ? (
<span>{children ?? url}</span>
) : (
<a href={url} rel="nofollow" target="_blank">
{children ?? url}
</a>
)}
<button
type="button"
onClick={handleCopy}
Expand Down
15 changes: 15 additions & 0 deletions src/globals.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,21 @@ declare module '*.svg' {
export default content
}

// CSS/SCSS module declarations. Docusaurus provides these ambiently via
// `@docusaurus/module-type-aliases` for the full `tsc` build, but the
// `tsc-files` pre-commit hook type-checks staged files in an isolated tsconfig
// that only includes this file, so components importing a `*.module.css`/`.scss`
// stylesheet fail with TS2307 unless the declaration is available here too.
declare module '*.module.css' {
const classes: { readonly [key: string]: string }
export default classes
}

declare module '*.module.scss' {
const classes: { readonly [key: string]: string }
export default classes
}

declare module '*.mdx' {
import type { ComponentType } from 'react'

Expand Down
4 changes: 2 additions & 2 deletions src/pages/tutorials/erc20-paymaster.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ If you are looking to use sponsored paymaster, you can refer to the [sponsored p

## Prerequisites

- Pimlico Account: Since we'll be using the Pimlico paymaster, you'll need to have an API key from Pimlico. You can get a free API key from [Pimlico Dashboard](https://dashboard.pimlico.io/apikeys).
- Pimlico Account: Since we'll be using the Pimlico paymaster, you'll need to have an API key from Pimlico. You can get a free API key from [Pimlico Dashboard](https://docs.pimlico.io/guides/create-api-key).
- Embedded Wallets account: If you haven't already, sign up on the [Embedded Wallets dashboard](https://developer.metamask.io/). It's free and gives you access to the base plan.

:::tip
Expand Down Expand Up @@ -54,7 +54,7 @@ The `AccountAbstractionProvider` requires specific configurations to function co

You can choose from a variety of paymaster services available in the ecosystem. In this guide, we'll be configuring the Pimlico's ERC-20 Paymaster. However, it's important to note that paymaster support is not limited to the Pimlico, giving you the flexibility to integrate any compatible paymaster service that suits your requirements.

To configure the ERC-20 Paymaster, you need to pass the `token` in the `paymasterContext` which allows you to specify the ERC-20 token that will be used to pay for the transaction. For this guide, we'll use the USDC token. [Find the USDC token address for your desired network](https://developers.circle.com/stablecoins/docs/usdc-on-test-networks).
To configure the ERC-20 Paymaster, you need to pass the `token` in the `paymasterContext` which allows you to specify the ERC-20 token that will be used to pay for the transaction. For this guide, we'll use the USDC token. [Find the USDC token address for your desired network](https://developers.circle.com/stablecoins/usdc-contract-addresses).

For simplicity, we have only used `SafeSmartAccount`, but you choose your favorite smart account provider from the available ones. Learn how to [configure the smart account](/embedded-wallets/sdk/react/advanced/smart-accounts).

Expand Down
2 changes: 1 addition & 1 deletion src/pages/tutorials/sending-gasless-transaction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Find the full [demo code on GitHub](https://github.com/Web3Auth/web3auth-example

## Prerequisites

- Pimlico Account: A Pimlico API key. You can get a free API key from [Pimlico Dashboard](https://dashboard.pimlico.io/apikeys).
- Pimlico Account: A Pimlico API key. You can get a free API key from [Pimlico Dashboard](https://docs.pimlico.io/guides/create-api-key).
- Embedded Wallets Web SDK: This guide assumes that you already know how to integrate the React SDK in your project. If
not, you can learn how to [integrate Embedded Wallets in your web app](/embedded-wallets/sdk/react/).

Expand Down
10 changes: 10 additions & 0 deletions src/plugins/llms-html-injector/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -589,6 +589,16 @@ function stripDottedTrailingSlashInMetadata(html) {
/(<meta\b[^>]*\bcontent=")([^"]+?)\/("[^>]*\bproperty="og:url"[^>]*>)/i,
'$1$2$3'
)
// <link rel="alternate" href="...://.../changelog/1.5.0/" hreflang="en"> (and
// hreflang="x-default"). Docusaurus emits these self-referencing hreflang
// alternates with a trailing slash too, so they hit the same 308 as canonical
// on dotted routes. Global flag covers both the locale and x-default tags. The
// markdown alternate (`type="text/markdown"`, path-only href without a
// trailing slash) has no `hreflang` attribute and is left untouched.
html = html.replace(
/(<link\b[^>]*\brel="alternate"[^>]*\bhref=")([^"]+?)\/("[^>]*\bhreflang="[^"]*"[^>]*>)/gi,
'$1$2$3'
)
return html
}

Expand Down
12 changes: 0 additions & 12 deletions src/utils/example-maps.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -415,18 +415,6 @@ export const webExamples: ExamplesInterface[] = [
qsLink: '/quick-start?framework=NEXTJS&stepIndex=0',
},

// React Playground
{
title: 'React Playground',
description: 'A playground to test all the features of Web3Auth SDKs in React',
image: 'img/embedded-wallets/banners/react.png',
type: PLAYGROUND,
tags: [tags.pnp, tags.web, tags.evm, tags.wagmi, 'react', 'hooks'],
link: 'https://web3auth-playground.vercel.app/',
githubLink: 'https://github.com/Web3Auth/web3auth-examples/tree/main/react-playground',
id: 'react-playground',
},

// Custom Authentication Examples - Single Connection
{
title: 'Auth0 Implicit Example',
Expand Down
5 changes: 5 additions & 0 deletions vercel.json
Original file line number Diff line number Diff line change
Expand Up @@ -755,6 +755,11 @@
"source": "/smart-accounts-kit/get-started/use-with-openclaw/",
"destination": "/smart-accounts-kit/get-started/use-skills/"
},
{
"source": "/smart-accounts-kit/1.5.0/guides/x402/buyer/advanced-permissions/",
"destination": "/smart-accounts-kit/guides/x402/buyer/advanced-permissions/",
"permanent": true
},
{
"source": "/embedded-wallets/connect-blockchain/custom-chains/",
"destination": "/embedded-wallets/connect-blockchain/other/"
Expand Down
Loading