diff --git a/docs/AGENTS.md b/docs/AGENTS.md index a1044b1f4..95fb0b671 100644 --- a/docs/AGENTS.md +++ b/docs/AGENTS.md @@ -74,11 +74,13 @@ npx skills add base/base-skills |base-account/reference/prolink-utilities:createProlinkUrl,decodeProlink,encodeProlink |base-account/reference/spend-permission-utilities:fetchPermission,fetchPermissions,getPermissionStatus,prepareRevokeCallData,prepareSpendCallData,requestRevoke,requestSpendPermission |base-account/reference/ui-elements:base-pay-button,brand-guidelines,sign-in-with-base-button -|base-chain:overview +|base-chain:changelog,overview |base-chain/api-reference:rpc-overview |base-chain/api-reference/debug-api:debug_traceBlockByHash,debug_traceBlockByNumber,debug_traceTransaction |base-chain/api-reference/ethereum-json-rpc-api:eth_blockNumber,eth_call,eth_chainId,eth_estimateGas,eth_feeHistory,eth_gasPrice,eth_getBalance,eth_getBlockByHash,eth_getBlockByNumber,eth_getBlockReceipts,eth_getBlockTransactionCountByHash,eth_getBlockTransactionCountByNumber,eth_getCode,eth_getLogs,eth_getStorageAt,eth_getTransactionByBlockHashAndIndex,eth_getTransactionByBlockNumberAndIndex,eth_getTransactionByHash,eth_getTransactionCount,eth_getTransactionReceipt,eth_maxPriorityFeePerGas,eth_sendRawTransaction,eth_subscribe,eth_syncing,eth_unsubscribe,net_version,web3_clientVersion |base-chain/api-reference/flashblocks-api:base_transactionStatus,eth_simulateV1,flashblocks-api-overview,newFlashblockTransactions,newFlashblocks,pendingLogs +|base-chain/changelog:beryl,denim +|base-chain/changelog/cobalt:b20 |base-chain/flashblocks:faq |base-chain/network-information:base-contracts,base-solana-bridge,bridging-and-withdrawals,configuration-changelog,ecosystem-bridges,network-faucets,network-fees,throughput-and-limits,transaction-finality,transaction-ordering,troubleshooting-transactions |base-chain/node-operators:node-providers,performance-tuning,run-a-base-node,snapshots,troubleshooting diff --git a/docs/base-chain/changelog.mdx b/docs/base-chain/changelog.mdx new file mode 100644 index 000000000..26c6ccd50 --- /dev/null +++ b/docs/base-chain/changelog.mdx @@ -0,0 +1,14 @@ +--- +title: "Changelog" +description: "Changes introduced by Base protocol upgrades." +--- + +This changelog tracks developer-facing changes introduced by Base protocol upgrades. + +## Upgrade changelogs + +Select an upgrade in the sidebar to view its changes: + +- [Beryl](/base-chain/changelog/beryl) +- [Cobalt: B20](/base-chain/changelog/cobalt/b20) +- [Denim](/base-chain/changelog/denim) diff --git a/docs/base-chain/changelog/beryl.mdx b/docs/base-chain/changelog/beryl.mdx new file mode 100644 index 000000000..4f9863dbb --- /dev/null +++ b/docs/base-chain/changelog/beryl.mdx @@ -0,0 +1,14 @@ +--- +title: "Beryl" +description: "Developer-facing changes introduced by the Beryl upgrade." +--- + +The Beryl upgrade introduces [B20](/base-chain/specs/upgrades/beryl/b20/specification), Base's +native token standard for stablecoins, real-world assets, and long-tail tokens. It also reduces +the single-proof withdrawal finalization period from seven days to five days and introduces Reth +V2 improvements. + +## More about Beryl + +See the [Beryl overview](/base-chain/specs/upgrades/beryl/overview) for activation dates, +required software versions, and the complete upgrade summary. diff --git a/docs/base-chain/changelog/cobalt/b20.mdx b/docs/base-chain/changelog/cobalt/b20.mdx new file mode 100644 index 000000000..61e3800de --- /dev/null +++ b/docs/base-chain/changelog/cobalt/b20.mdx @@ -0,0 +1,53 @@ +--- +title: "B20" +description: "B20 changes introduced by the Cobalt upgrade." +--- + +Cobalt is additive-only. It does not change or remove any Beryl selector, event topic, or error +selector. Symbols that supersede Beryl symbols are deprecated rather than deleted, so existing +integrations remain callable. + + +Cobalt has not activated yet. The changes below are not callable until Cobalt activates. + + +## B20 Asset: scheduled multiplier updates + +The B20 Asset multiplier surface becomes conformant with [ERC-8056](https://eips.ethereum.org/EIPS/eip-8056) +and the [B20 Asset multiplier migration details](https://github.com/base/base-std/blob/main/changelog/02_Cobalt_B20Asset_multiplier.md): + +- Adds [`uiMultiplier`, `toUIAmount`, `fromUIAmount`, `balanceOfUI`, and `totalSupplyUI`](https://github.com/base/base-std/blob/main/changelog/02_Cobalt_B20Asset_multiplier.md#functions). +- Adds [`updateUIMultiplier(uint256,uint256)`](https://github.com/base/base-std/blob/main/changelog/02_Cobalt_B20Asset_multiplier.md#scheduled-update-lifecycle) for scheduling corporate-action multiplier updates. +- Retains [`updateMultiplier(uint256)`](https://github.com/base/base-std/blob/main/changelog/02_Cobalt_B20Asset_multiplier.md#updatemultiplieruint256-remains-as-an-instant-admin-failsafe) as an instant administrative failsafe. + +Applications should use the ERC-8056 names and move routine multiplier changes to the scheduled +[`updateUIMultiplier`](https://github.com/base/base-std/blob/main/changelog/02_Cobalt_B20Asset_multiplier.md#scheduled-update-lifecycle) function. + +## B20 Asset and Stablecoin: seize surface + +Cobalt adds [`seizeWithMemo`](https://github.com/base/base-std/blob/main/changelog/02_Cobalt_B20_seize.md#new-at-cobalt-adopt-these), +an administrative balance-reassignment operation gated by [`SEIZE_ROLE`](https://github.com/base/base-std/blob/main/changelog/02_Cobalt_B20_seize.md#functions). +It also adds a [`SEIZE`](https://github.com/base/base-std/blob/main/changelog/02_Cobalt_B20_seize.md#pause-features) +pause vector and two policy slots. [`burnBlocked`](https://github.com/base/base-std/blob/main/changelog/02_Cobalt_B20_seize.md#burnblocked-is-deprecated-but-unchanged-and-still-dialable) +is deprecated in favor of `seizeWithMemo`, but remains callable and unchanged for compatibility. + +Seize is opt-in per token and has no effect until the issuer sets +[`SEIZE_HOLDER_POLICY`](https://github.com/base/base-std/blob/main/changelog/02_Cobalt_B20_seize.md#functions). +To destroy supply after a seizure, call [`burn(uint256)`](https://github.com/base/base-std/blob/main/changelog/02_Cobalt_B20_seize.md#burnblocked-is-deprecated-but-unchanged-and-still-dialable) separately. + +## PolicyRegistry: composite policies + +PolicyRegistry adds composite policies that combine two to four existing simple policies using an +OR (`UNION`) or AND (`INTERSECT`) gate. See the [composite policy details](https://github.com/base/base-std/blob/main/changelog/02_Cobalt_PolicyRegistry_composite_policy.md) +for the selector mapping and edge cases. Integrators can create and update them with +[`createCompositePolicy`](https://github.com/base/base-std/blob/main/changelog/02_Cobalt_PolicyRegistry_composite_policy.md#new-at-cobalt-adopt-these) +and [`updateComposite`](https://github.com/base/base-std/blob/main/changelog/02_Cobalt_PolicyRegistry_composite_policy.md#new-at-cobalt-adopt-these) +instead of duplicating policy logic off-chain. + +Existing `createPolicy` and `createPolicyWithAccounts` integrations do not otherwise change; they +only gain a new revert path for the previously unreachable composite `policyType`. + +## Full Base Standard changelog + +For selector-level details, including exact function selectors, event topics, error codes, and +edge-case behavior, see the [Base Standard changelog](https://github.com/base/base-std/blob/main/CHANGELOG.md). diff --git a/docs/base-chain/changelog/denim.mdx b/docs/base-chain/changelog/denim.mdx new file mode 100644 index 000000000..8e359b544 --- /dev/null +++ b/docs/base-chain/changelog/denim.mdx @@ -0,0 +1,8 @@ +--- +title: "Denim" +description: "Developer-facing changes introduced by the Denim upgrade." +--- + +## Status + +No Denim changes have been published yet. diff --git a/docs/docs.json b/docs/docs.json index c837b0656..7f2bb1803 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -384,6 +384,30 @@ } ] }, + { + "group": "Changelog", + "pages": [ + "base-chain/changelog", + { + "group": "Beryl", + "pages": [ + "base-chain/changelog/beryl" + ] + }, + { + "group": "Cobalt", + "pages": [ + "base-chain/changelog/cobalt/b20" + ] + }, + { + "group": "Denim", + "pages": [ + "base-chain/changelog/denim" + ] + } + ] + }, { "group": "Security", "pages": [ diff --git a/docs/llms-full.txt b/docs/llms-full.txt index 54fb9024a..fe7ee013e 100644 --- a/docs/llms-full.txt +++ b/docs/llms-full.txt @@ -163,6 +163,10 @@ const client = createPublicClient({ chain: base, transport: http() }) - [newFlashblockTransactions](https://docs.base.org/base-chain/api-reference/flashblocks-api/newFlashblockTransactions): Subscribe to receive each transaction as it is pre-confirmed into a Flashblock. Only available on Flashblocks WebSocket endpoints. - [pendingLogs](https://docs.base.org/base-chain/api-reference/flashblocks-api/pendingLogs): Subscribe to logs from pre-confirmed transactions matching an optional filter. Only available on Flashblocks WebSocket endpoints. - [Base RPC Overview](https://docs.base.org/base-chain/api-reference/rpc-overview): Complete reference for all JSON-RPC and Flashblocks methods available on Base nodes. +- [Changelog](https://docs.base.org/base-chain/changelog): Changes introduced by Base protocol upgrades. +- [Beryl](https://docs.base.org/base-chain/changelog/beryl): Developer-facing changes introduced by the Beryl upgrade. +- [B20](https://docs.base.org/base-chain/changelog/cobalt/b20): B20 changes introduced by the Cobalt upgrade. +- [Denim](https://docs.base.org/base-chain/changelog/denim): Developer-facing changes introduced by the Denim upgrade. - [Flashblocks Reference](https://docs.base.org/base-chain/flashblocks/faq): Reference for Flashblocks on Base — key concepts, architecture, and frequently asked questions about block building, WebSocket data, RPC usage, and node setup. - [Contract Addresses](https://docs.base.org/base-chain/network-information/base-contracts): A comprehensive list of contract addresses for Base Mainnet and Base Testnet, including links to their respective blockchain explorers. - [Base-Solana Bridge](https://docs.base.org/base-chain/network-information/base-solana-bridge): Bridge tokens and messages between Base and Solana Mainnet diff --git a/docs/llms.txt b/docs/llms.txt index 6a0a726ce..fd108484c 100644 --- a/docs/llms.txt +++ b/docs/llms.txt @@ -75,6 +75,10 @@ - [newFlashblockTransactions](https://docs.base.org/base-chain/api-reference/flashblocks-api/newFlashblockTransactions): Subscribe to receive each transaction as it is pre-confirmed into a Flashblock. Only available on Flashblocks WebSocket endpoints. - [pendingLogs](https://docs.base.org/base-chain/api-reference/flashblocks-api/pendingLogs): Subscribe to logs from pre-confirmed transactions matching an optional filter. Only available on Flashblocks WebSocket endpoints. - [Base RPC Overview](https://docs.base.org/base-chain/api-reference/rpc-overview): Complete reference for all JSON-RPC and Flashblocks methods available on Base nodes. +- [Changelog](https://docs.base.org/base-chain/changelog): Changes introduced by Base protocol upgrades. +- [Beryl](https://docs.base.org/base-chain/changelog/beryl): Developer-facing changes introduced by the Beryl upgrade. +- [B20](https://docs.base.org/base-chain/changelog/cobalt/b20): B20 changes introduced by the Cobalt upgrade. +- [Denim](https://docs.base.org/base-chain/changelog/denim): Developer-facing changes introduced by the Denim upgrade. - [Flashblocks Reference](https://docs.base.org/base-chain/flashblocks/faq): Reference for Flashblocks on Base — key concepts, architecture, and frequently asked questions about block building, WebSocket data, RPC usage, and node setup. - [Contract Addresses](https://docs.base.org/base-chain/network-information/base-contracts): A comprehensive list of contract addresses for Base Mainnet and Base Testnet, including links to their respective blockchain explorers. - [Base-Solana Bridge](https://docs.base.org/base-chain/network-information/base-solana-bridge): Bridge tokens and messages between Base and Solana Mainnet