Skip to content

docs: feat(policy): enforce TRANSFER_EXECUTOR_POLICY on every transfer path (base-std@253bb15) - #1968

Open
github-actions[bot] wants to merge 5 commits into
masterfrom
docs/sync-code-change-253bb15
Open

github-actions[bot] wants to merge 5 commits into
masterfrom
docs/sync-code-change-253bb15

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Source PR: base/base-std#224feat(policy): enforce TRANSFER_EXECUTOR_POLICY on every transfer path

Merge commit: 253bb15
Author: @rayyan224

Auto-generated from the source PR above.

Reviewer checklist

Before merging, confirm each item below. The validator catches structural problems (raw HTML, dangerous URLs, secrets); these items need a human eye.

  • Anchor text on every new link reads honestly — no click here, no link text that contradicts its target host.
  • Every newly introduced external URL (listed below) points to a host you expect to see in Coinbase docs.
  • Frontmatter title / description still match the page's role (reference vs. overview vs. conceptual).
  • Any <Warning> added describes a real breaking change in the source PR, not a paraphrase the model invented.

Newly introduced external URLs

No new external URLs in this sync.

Unrouted source files

These files changed in the source commit but match no rule in scripts/sync-from-base-std/route-table.json, so no docs page was edited for them. Add a rule (or an ignored rule) so the next change routes on its own.

Proposed placement (from IA guidelines)

Derived from docs/ia-guidelines.md and docs/content-guidelines.md by the sync's placement pass. Every proposed page already exists; nothing here creates a page. Turn an accepted row into a route-table rule to make it permanent.

Source file Proposed docs page Guideline rule Rationale
docs/guides/restricting-transfer-initiators.md docs/build-on-base/issue-stablecoins/restrict-who-can-hold.mdx Build on Base → Issue Stablecoins: step-by-step guides for token issuers completing tasks This guide teaches stablecoin/asset issuers how to restrict transfer initiation using B20 policies, which is a core issuer task parallel to restricting holders and blocking accounts.

Files touched

  • docs/base-chain/specs/reference/b20/changelog/03-denim-b20-transfer-executor-enforcement.mdx
  • docs/docs.json
  • docs/specifications/b20/specification-overview.mdx
  • docs/specifications/b20/reference/constants-addresses.mdx
  • docs/build-on-base/issue-stablecoins/restrict-who-can-hold.mdx
  • docs/build-on-base/accept-payments/request-a-payment.mdx
  • docs/specifications/b20/reference/interfaces/ib20/transfer-executor-policy.mdx
  • docs/specifications/b20/reference/interfaces/ib20/transfer-from-with-memo.mdx
  • docs/specifications/b20/reference/interfaces/ib20/transfer-from.mdx
  • docs/specifications/b20/reference/interfaces/ib20/transfer.mdx
  • docs/base-chain/specs/reference/b20/changelog/02-cobalt-b20asset-multiplier.mdx
  • docs/build-on-base/accept-payments/refund-a-payment.mdx
  • docs/build-on-base/accept-payments/send-a-payout.mdx
  • docs/build-on-base/accept-payments/split-a-payment.mdx
  • docs/build-on-base/accept-payments/verify-a-payment.mdx
  • docs/build-on-base/issue-rwa/announce-a-distribution.mdx
  • docs/build-on-base/issue-rwa/pause-transfers.mdx
  • docs/build-on-base/issue-stablecoins/pause-activity.mdx
  • docs/build-on-base/issue-stablecoins/reconcile-with-memos.mdx
  • docs/specifications/b20/reference/invariants-tests.mdx

Source provenance

Each row shows which file(s) in base/base-std@253bb15 drove an edit to a docs page. Click into a source file to verify the claim before merging.

Docs page Source file(s) in base
docs/base-chain/specs/reference/b20/changelog/03-denim-b20-transfer-executor-enforcement.mdx changelog/03_Denim_B20_transfer_executor_enforcement.md
docs/specifications/b20/specification-overview.mdx docs/concepts/policies.md
src/interfaces/IB20.sol
test/lib/mocks/MockB20.sol
docs/specifications/b20/reference/constants-addresses.mdx docs/concepts/policies.md
docs/reference/constants.md
docs/build-on-base/issue-stablecoins/restrict-who-can-hold.mdx docs/concepts/policies.md
docs/build-on-base/accept-payments/request-a-payment.mdx src/interfaces/IB20.sol
docs/specifications/b20/reference/interfaces/ib20/transfer-executor-policy.mdx src/interfaces/IB20.sol
test/lib/mocks/MockB20.sol
docs/specifications/b20/reference/interfaces/ib20/transfer-from-with-memo.mdx src/interfaces/IB20.sol
test/lib/mocks/MockB20.sol
docs/specifications/b20/reference/interfaces/ib20/transfer-from.mdx src/interfaces/IB20.sol
test/lib/mocks/MockB20.sol
docs/specifications/b20/reference/interfaces/ib20/transfer.mdx src/interfaces/IB20.sol
test/lib/mocks/MockB20.sol
docs/base-chain/specs/reference/b20/changelog/02-cobalt-b20asset-multiplier.mdx src/interfaces/IB20.sol
docs/build-on-base/accept-payments/refund-a-payment.mdx src/interfaces/IB20.sol
docs/build-on-base/accept-payments/send-a-payout.mdx src/interfaces/IB20.sol
docs/build-on-base/accept-payments/split-a-payment.mdx src/interfaces/IB20.sol
docs/build-on-base/accept-payments/verify-a-payment.mdx src/interfaces/IB20.sol
docs/build-on-base/issue-rwa/announce-a-distribution.mdx src/interfaces/IB20.sol
docs/build-on-base/issue-rwa/pause-transfers.mdx src/interfaces/IB20.sol
docs/build-on-base/issue-stablecoins/pause-activity.mdx src/interfaces/IB20.sol
docs/build-on-base/issue-stablecoins/reconcile-with-memos.mdx docs/concepts/policies.md
docs/specifications/b20/reference/invariants-tests.mdx src/interfaces/IB20.sol
docs/concepts/policies.md
docs/reference/constants.md

Opened by Apply Base Std Update workflow.

@github-actions
github-actions Bot requested a review from rayyan224 September 14, 2026 18:58
@mintlify

mintlify Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
base 🟢 Ready View Preview Sep 16, 2026, 5:00 PM

💡 Tip: Enable Automations to automatically generate PRs for you.

@cb-heimdall

cb-heimdall commented Sep 14, 2026

Copy link
Copy Markdown
Collaborator

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/2
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

@stephancill stephancill left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think the diff should really just be the new changelog + update statically generated references.

can drop the build-on-base changes and AI changes in the other directories

Comment thread docs/base-chain/specs/reference/b20/changelog/02-cobalt-b20asset-multiplier.mdx Outdated

## What Changed

### Check location and scope

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question why not just follow what we written in the base-std documentation ?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The agent might have updated this instead of copying verbatim we can add logic to stop that

title: "Request a Payment"
keywords: ["request USDC payment", "wallet USDC checkout", "B20 payment memo", "onchain checkout Base"]
description: "Request an immediately settled USDC or memo-enabled B20 payment from a wallet on Base."
description: "Request and settle a USDC or memo-enabled B20 payment from a wallet on Base."

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why these changes ?


Typical inner causes of `InternalCallFailed`: missing `MINT_ROLE` or `BURN_ROLE`, paused `MINT` or `BURN`, `UIMultiplierUpdateExists`, `PolicyForbids`, `SupplyCapExceeded`, `InsufficientBalance`. A Solidity `Panic` (for example overflow) propagates raw and is not wrapped as `InternalCallFailed`.

<Note>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this needs to be here ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants