From 23af94489e8dc18f93e574d5cdb1b92ff3dea45c Mon Sep 17 00:00:00 2001 From: Bruno Galvao Date: Tue, 21 Oct 2025 21:14:54 +0700 Subject: [PATCH 01/10] add smart contract supoort page --- .ai/categories/parachains.md | 111 ++- ...untime-add-smart-contract-functionality.md | 111 ++- .ai/site-index.json | 646 ++++++++++-------- llms-full.jsonl | 18 +- llms.txt | 2 +- .../add-smart-contract-functionality.md | 113 ++- 6 files changed, 610 insertions(+), 391 deletions(-) diff --git a/.ai/categories/parachains.md b/.ai/categories/parachains.md index c774048e3..59ca8c8ba 100644 --- a/.ai/categories/parachains.md +++ b/.ai/categories/parachains.md @@ -1816,66 +1816,119 @@ Page Title: Add Smart Contract Functionality - Source (raw): https://raw.githubusercontent.com/polkadot-developers/polkadot-docs/master/.ai/pages/parachains-customize-runtime-add-smart-contract-functionality.md - Canonical (HTML): https://docs.polkadot.com/parachains/customize-runtime/add-smart-contract-functionality/ -- Summary: Add smart contract capabilities to your Polkadot SDK-based blockchain. Explore EVM and Wasm integration for enhanced chain functionality. +- Summary: Add smart contract capabilities to your Polkadot SDK-based blockchain. Explore PVM, EVM, and Wasm integration for enhanced chain functionality. # Add Smart Contract Functionality ## Introduction -When building your custom blockchain with the Polkadot SDK, you have the flexibility to add smart contract capabilities through specialized pallets. These pallets allow blockchain users to deploy and execute smart contracts, enhancing your chain's functionality and programmability. +When building your custom blockchain with the Polkadot SDK, you can add smart contract capabilities through specialized pallets. These pallets enable users to deploy and execute smart contracts, enhancing your chain's programmability and allowing developers to build decentralized applications on your network. -Polkadot SDK-based blockchains support two distinct smart contract execution environments: [EVM (Ethereum Virtual Machine)](#evm-smart-contracts) and [Wasm (WebAssembly)](#wasm-smart-contracts). Each environment allows developers to deploy and execute different types of smart contracts, providing flexibility in choosing the most suitable solution for their needs. +This guide covers three approaches to adding smart contracts to your blockchain: -## EVM Smart Contracts +- **[pallet-revive](#pallet-revive)** - Modern unified solution supporting both PolkaVM and EVM bytecode +- **[Frontier](#frontier)** - Ethereum compatibility layer for Polkadot SDK-based chains +- **[pallet-contracts](#pallet-contracts-legacy)** - Wasm smart contract support -To enable Ethereum-compatible smart contracts in your blockchain, you'll need to integrate [Frontier](https://github.com/polkadot-evm/frontier){target=\_blank}, the Ethereum compatibility layer for Polkadot SDK-based chains. This requires adding two essential pallets to your runtime: +## pallet-revive -- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}**: Provides the EVM execution environment. -- **[`pallet-ethereum`](https://github.com/polkadot-evm/frontier/tree/master/frame/ethereum){target=\_blank}**: Handles Ethereum-formatted transactions and RPC capabilities. +[`pallet-revive`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/revive){target=\_blank} is the modern smart contract solution for Polkadot SDK-based chains. It provides a unified execution environment that supports both PolkaVM and EVM bytecode through dual execution backends. -For step-by-step guidance on adding these pallets to your runtime, refer to [Add a Pallet to the Runtime](/parachains/customize-runtime/add-existing-pallets/){target=\_blank}. +### Core Components -For a real-world example of how these pallets are implemented in production, you can check Moonbeam's implementation of [`pallet-evm`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L532){target=\_blank} and [`pallet-ethereum`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L698){target=\_blank}. +**Essential Pallet:** +- **[`pallet-revive`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/revive){target=\_blank}** - Provides the core smart contract execution environment with PolkaVM and REVM backends -## Wasm Smart Contracts +**Optional RPC Adapter:** +- **[`pallet-revive-eth-rpc`](https://crates.io/crates/pallet-revive-eth-rpc){target=\_blank}** - Adds full Ethereum RPC compatibility for Ethereum tooling integration -To support Wasm-based smart contracts, you'll need to integrate: +### Supported Languages and Compilers -- **[`pallet-contracts`](https://docs.rs/pallet-contracts/latest/pallet_contracts/index.html#contracts-pallet){target=\_blank}**: Provides the Wasm smart contract execution environment. +pallet-revive accepts smart contracts from multiple languages and compilation paths: -This pallet enables the deployment and execution of Wasm-based smart contracts on your blockchain. For detailed instructions on adding this pallet to your runtime, see [Add a Pallet to the Runtime](/parachains/customize-runtime/add-existing-pallets/){target=\_blank}. +| Language | Compiler | Output Bytecode | Execution Backend | Performance | +|----------|----------|-----------------|-------------------|-------------| +| Solidity | `resolc` | PolkaVM | PolkaVM | Optimal | +| Solidity | `solc` | EVM | REVM | Compatible | +| Rust (ink!) | `cargo-contract` | PolkaVM | PolkaVM | Optimal | -For a real-world example of how this pallet is implemented in production, you can check Astar's implementation of [`pallet-contracts`](https://github.com/AstarNetwork/Astar/blob/b6f7a408d31377130c3713ed52941a06b5436402/runtime/astar/src/lib.rs#L693){target=\_blank}. +Any language that can compile to PolkaVM bytecode and utilize pallet-revive's host functions (via `pallet-revive-uapi`) is supported. -## Where to Go Next +### How It Works -Now that you understand how to enable smart contract functionality in your blockchain, you might want to: +**Dual Execution Model:** -
+1. **PolkaVM Backend**: Executes PolkaVM bytecode with native performance optimization, precise gas metering, and enhanced security features +2. **REVM Backend**: Executes EVM bytecode for compatibility with existing Ethereum contracts, ensuring seamless migration -- Guide __Get Started with Smart Contracts__ +### Key Benefits - --- +- **Unified Platform**: Deploy both PolkaVM-optimized and EVM-compatible contracts using a single pallet +- **Performance**: PolkaVM execution provides superior performance compared to traditional EVM +- **Security**: Enhanced security model including reduced re-entrancy attack surface +- **Precise Metering**: Accurate gas metering for fair resource allocation +- **Ethereum Compatibility**: Optional RPC adapter enables full Ethereum tooling support - Learn how developers can build smart contracts on Polkadot by leveraging the PolkaVM, Wasm/ink! or EVM contracts across many parachains. +### Implementation Examples - [:octicons-arrow-right-24: Reference](/smart-contracts/get-started/) +See real-world implementation in the [Asset Hub system parachain runtime](https://github.com/polkadot-fellows/runtimes/blob/8914a1c70ce2a821f1d4646feaab462204e01b26/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs#L1180-L1209){target=\_blank} in the Polkadot Fellows repository. -- Guide __Wasm (ink!) Contracts__ +## Frontier - --- +[Frontier](https://github.com/polkadot-evm/frontier){target=\_blank} is the Ethereum compatibility layer designed for maximum compatibility with the Ethereum ecosystem. It's the ideal choice when you need seamless integration with existing Ethereum tools, dapps, and infrastructure. - Learn to build Wasm smart contracts with ink!, a Rust-based eDSL. Explore installation, contract structure, and key features. +### Integration Options - [:octicons-arrow-right-24: Reference](/smart-contracts/overview/#wasm-ink) - -- Guide __EVM Contracts__ +Frontier offers flexible integration depending on your compatibility needs: + +#### EVM Execution Only + +For basic EVM support using Polkadot SDK native APIs: + +- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}** - Provides the core EVM execution environment + +This configuration allows EVM contract execution but requires using Polkadot SDK-specific APIs for interaction. + +#### Full Ethereum Compatibility + +For complete Ethereum ecosystem integration with Ethereum RPC support: + +- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}** - Core EVM execution environment +- **[`pallet-ethereum`](https://github.com/polkadot-evm/frontier/tree/master/frame/ethereum){target=\_blank}** - Emulates Ethereum blocks and handles Ethereum-formatted transactions +- **[`fc-rpc`](https://github.com/polkadot-evm/frontier/tree/master/rpc){target=\_blank}** - Provides Ethereum JSON-RPC endpoints + +### Key Benefits of Full Integration + +- **Ethereum tooling compatibility**: Full compatibility with MetaMask, Hardhat, Remix, Truffle, and other Ethereum development tools +- **Zero-friction migration**: Deploy existing Ethereum dapps with minimal or no modifications +- **Native Ethereum formats**: Support for Ethereum transaction formats, signatures, and gas mechanics +- **Block emulation**: Ethereum-style block structure within Substrate's block production + +### Implementation Examples + +Production implementations demonstrate Frontier's capabilities: + +- **Moonbeam**: See their implementation of [`pallet-evm`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L532){target=\_blank} and [`pallet-ethereum`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L698){target=\_blank} + +## pallet-contracts (Legacy) + +[`pallet-contracts`](https://docs.rs/pallet-contracts/latest/pallet_contracts/index.html#contracts-pallet){target=\_blank} is the original Wasm-based smart contract pallet for Polkadot SDK chains. While still functional, it's considered legacy as development efforts have shifted to pallet-revive. + +### Implementation Example + +For reference, Astar's implementation of [`pallet-contracts`](https://github.com/AstarNetwork/Astar/blob/b6f7a408d31377130c3713ed52941a06b5436402/runtime/astar/src/lib.rs#L693){target=\_blank} demonstrates production usage. + +## Where to Go Next + +
+ +- Guide __Add a Pallet to the Runtime__ --- - Learn how Polkadot parachains such as Moonbeam, Astar, Acala, and Manta leverage the Ethereum Virtual Machine (EVM) and integrate it into their parachains. + Learn the step-by-step process for integrating Polkadot SDK pallets into your blockchain's runtime. - [:octicons-arrow-right-24: Reference](/smart-contracts/overview/#parachain-contracts) + [:octicons-arrow-right-24: Get Started](/parachains/customize-runtime/add-existing-pallets/)
diff --git a/.ai/pages/parachains-customize-runtime-add-smart-contract-functionality.md b/.ai/pages/parachains-customize-runtime-add-smart-contract-functionality.md index 8e595489f..a0fa8fa17 100644 --- a/.ai/pages/parachains-customize-runtime-add-smart-contract-functionality.md +++ b/.ai/pages/parachains-customize-runtime-add-smart-contract-functionality.md @@ -1,6 +1,6 @@ --- title: Add Smart Contract Functionality -description: Add smart contract capabilities to your Polkadot SDK-based blockchain. Explore EVM and Wasm integration for enhanced chain functionality. +description: Add smart contract capabilities to your Polkadot SDK-based blockchain. Explore PVM, EVM, and Wasm integration for enhanced chain functionality. categories: Parachains url: https://docs.polkadot.com/parachains/customize-runtime/add-smart-contract-functionality/ --- @@ -9,59 +9,112 @@ url: https://docs.polkadot.com/parachains/customize-runtime/add-smart-contract-f ## Introduction -When building your custom blockchain with the Polkadot SDK, you have the flexibility to add smart contract capabilities through specialized pallets. These pallets allow blockchain users to deploy and execute smart contracts, enhancing your chain's functionality and programmability. +When building your custom blockchain with the Polkadot SDK, you can add smart contract capabilities through specialized pallets. These pallets enable users to deploy and execute smart contracts, enhancing your chain's programmability and allowing developers to build decentralized applications on your network. -Polkadot SDK-based blockchains support two distinct smart contract execution environments: [EVM (Ethereum Virtual Machine)](#evm-smart-contracts) and [Wasm (WebAssembly)](#wasm-smart-contracts). Each environment allows developers to deploy and execute different types of smart contracts, providing flexibility in choosing the most suitable solution for their needs. +This guide covers three approaches to adding smart contracts to your blockchain: -## EVM Smart Contracts +- **[pallet-revive](#pallet-revive)** - Modern unified solution supporting both PolkaVM and EVM bytecode +- **[Frontier](#frontier)** - Ethereum compatibility layer for Polkadot SDK-based chains +- **[pallet-contracts](#pallet-contracts-legacy)** - Wasm smart contract support -To enable Ethereum-compatible smart contracts in your blockchain, you'll need to integrate [Frontier](https://github.com/polkadot-evm/frontier){target=\_blank}, the Ethereum compatibility layer for Polkadot SDK-based chains. This requires adding two essential pallets to your runtime: +## pallet-revive -- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}**: Provides the EVM execution environment. -- **[`pallet-ethereum`](https://github.com/polkadot-evm/frontier/tree/master/frame/ethereum){target=\_blank}**: Handles Ethereum-formatted transactions and RPC capabilities. +[`pallet-revive`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/revive){target=\_blank} is the modern smart contract solution for Polkadot SDK-based chains. It provides a unified execution environment that supports both PolkaVM and EVM bytecode through dual execution backends. -For step-by-step guidance on adding these pallets to your runtime, refer to [Add a Pallet to the Runtime](/parachains/customize-runtime/add-existing-pallets/){target=\_blank}. +### Core Components -For a real-world example of how these pallets are implemented in production, you can check Moonbeam's implementation of [`pallet-evm`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L532){target=\_blank} and [`pallet-ethereum`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L698){target=\_blank}. +**Essential Pallet:** +- **[`pallet-revive`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/revive){target=\_blank}** - Provides the core smart contract execution environment with PolkaVM and REVM backends -## Wasm Smart Contracts +**Optional RPC Adapter:** +- **[`pallet-revive-eth-rpc`](https://crates.io/crates/pallet-revive-eth-rpc){target=\_blank}** - Adds full Ethereum RPC compatibility for Ethereum tooling integration -To support Wasm-based smart contracts, you'll need to integrate: +### Supported Languages and Compilers -- **[`pallet-contracts`](https://docs.rs/pallet-contracts/latest/pallet_contracts/index.html#contracts-pallet){target=\_blank}**: Provides the Wasm smart contract execution environment. +pallet-revive accepts smart contracts from multiple languages and compilation paths: -This pallet enables the deployment and execution of Wasm-based smart contracts on your blockchain. For detailed instructions on adding this pallet to your runtime, see [Add a Pallet to the Runtime](/parachains/customize-runtime/add-existing-pallets/){target=\_blank}. +| Language | Compiler | Output Bytecode | Execution Backend | Performance | +|----------|----------|-----------------|-------------------|-------------| +| Solidity | `resolc` | PolkaVM | PolkaVM | Optimal | +| Solidity | `solc` | EVM | REVM | Compatible | +| Rust (ink!) | `cargo-contract` | PolkaVM | PolkaVM | Optimal | -For a real-world example of how this pallet is implemented in production, you can check Astar's implementation of [`pallet-contracts`](https://github.com/AstarNetwork/Astar/blob/b6f7a408d31377130c3713ed52941a06b5436402/runtime/astar/src/lib.rs#L693){target=\_blank}. +Any language that can compile to PolkaVM bytecode and utilize pallet-revive's host functions (via `pallet-revive-uapi`) is supported. -## Where to Go Next +### How It Works -Now that you understand how to enable smart contract functionality in your blockchain, you might want to: +**Dual Execution Model:** -
+1. **PolkaVM Backend**: Executes PolkaVM bytecode with native performance optimization, precise gas metering, and enhanced security features +2. **REVM Backend**: Executes EVM bytecode for compatibility with existing Ethereum contracts, ensuring seamless migration -- Guide __Get Started with Smart Contracts__ +### Key Benefits - --- +- **Unified Platform**: Deploy both PolkaVM-optimized and EVM-compatible contracts using a single pallet +- **Performance**: PolkaVM execution provides superior performance compared to traditional EVM +- **Security**: Enhanced security model including reduced re-entrancy attack surface +- **Precise Metering**: Accurate gas metering for fair resource allocation +- **Ethereum Compatibility**: Optional RPC adapter enables full Ethereum tooling support - Learn how developers can build smart contracts on Polkadot by leveraging the PolkaVM, Wasm/ink! or EVM contracts across many parachains. +### Implementation Examples - [:octicons-arrow-right-24: Reference](/smart-contracts/get-started/) +See real-world implementation in the [Asset Hub system parachain runtime](https://github.com/polkadot-fellows/runtimes/blob/8914a1c70ce2a821f1d4646feaab462204e01b26/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs#L1180-L1209){target=\_blank} in the Polkadot Fellows repository. -- Guide __Wasm (ink!) Contracts__ +## Frontier - --- +[Frontier](https://github.com/polkadot-evm/frontier){target=\_blank} is the Ethereum compatibility layer designed for maximum compatibility with the Ethereum ecosystem. It's the ideal choice when you need seamless integration with existing Ethereum tools, dapps, and infrastructure. + +### Integration Options + +Frontier offers flexible integration depending on your compatibility needs: + +#### EVM Execution Only + +For basic EVM support using Polkadot SDK native APIs: + +- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}** - Provides the core EVM execution environment + +This configuration allows EVM contract execution but requires using Polkadot SDK-specific APIs for interaction. + +#### Full Ethereum Compatibility + +For complete Ethereum ecosystem integration with Ethereum RPC support: + +- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}** - Core EVM execution environment +- **[`pallet-ethereum`](https://github.com/polkadot-evm/frontier/tree/master/frame/ethereum){target=\_blank}** - Emulates Ethereum blocks and handles Ethereum-formatted transactions +- **[`fc-rpc`](https://github.com/polkadot-evm/frontier/tree/master/rpc){target=\_blank}** - Provides Ethereum JSON-RPC endpoints - Learn to build Wasm smart contracts with ink!, a Rust-based eDSL. Explore installation, contract structure, and key features. +### Key Benefits of Full Integration + +- **Ethereum tooling compatibility**: Full compatibility with MetaMask, Hardhat, Remix, Truffle, and other Ethereum development tools +- **Zero-friction migration**: Deploy existing Ethereum dapps with minimal or no modifications +- **Native Ethereum formats**: Support for Ethereum transaction formats, signatures, and gas mechanics +- **Block emulation**: Ethereum-style block structure within Substrate's block production + +### Implementation Examples + +Production implementations demonstrate Frontier's capabilities: + +- **Moonbeam**: See their implementation of [`pallet-evm`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L532){target=\_blank} and [`pallet-ethereum`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L698){target=\_blank} + +## pallet-contracts (Legacy) + +[`pallet-contracts`](https://docs.rs/pallet-contracts/latest/pallet_contracts/index.html#contracts-pallet){target=\_blank} is the original Wasm-based smart contract pallet for Polkadot SDK chains. While still functional, it's considered legacy as development efforts have shifted to pallet-revive. + +### Implementation Example + +For reference, Astar's implementation of [`pallet-contracts`](https://github.com/AstarNetwork/Astar/blob/b6f7a408d31377130c3713ed52941a06b5436402/runtime/astar/src/lib.rs#L693){target=\_blank} demonstrates production usage. + +## Where to Go Next + +
- [:octicons-arrow-right-24: Reference](/smart-contracts/overview/#wasm-ink) - -- Guide __EVM Contracts__ +- Guide __Add a Pallet to the Runtime__ --- - Learn how Polkadot parachains such as Moonbeam, Astar, Acala, and Manta leverage the Ethereum Virtual Machine (EVM) and integrate it into their parachains. + Learn the step-by-step process for integrating Polkadot SDK pallets into your blockchain's runtime. - [:octicons-arrow-right-24: Reference](/smart-contracts/overview/#parachain-contracts) + [:octicons-arrow-right-24: Get Started](/parachains/customize-runtime/add-existing-pallets/)
diff --git a/.ai/site-index.json b/.ai/site-index.json index 5c3dfc2f9..84295624f 100644 --- a/.ai/site-index.json +++ b/.ai/site-index.json @@ -17,7 +17,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:04+00:00", + "last_modified": "2025-10-21T14:13:37+00:00", "token_estimator": "heuristic-v1" }, { @@ -38,7 +38,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:04+00:00", + "last_modified": "2025-10-21T14:13:37+00:00", "token_estimator": "heuristic-v1" }, { @@ -59,7 +59,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:04+00:00", + "last_modified": "2025-10-21T14:13:37+00:00", "token_estimator": "heuristic-v1" }, { @@ -80,7 +80,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:04+00:00", + "last_modified": "2025-10-21T14:13:37+00:00", "token_estimator": "heuristic-v1" }, { @@ -101,7 +101,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:04+00:00", + "last_modified": "2025-10-21T14:13:37+00:00", "token_estimator": "heuristic-v1" }, { @@ -122,7 +122,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:04+00:00", + "last_modified": "2025-10-21T14:13:37+00:00", "token_estimator": "heuristic-v1" }, { @@ -234,7 +234,7 @@ "estimated_token_count_total": 4830 }, "hash": "sha256:a6bf7623a535e7a9162c0913b07bd59d43c8535025ad8225fb3e5adc83084c7a", - "last_modified": "2025-10-20T14:59:04+00:00", + "last_modified": "2025-10-21T14:13:37+00:00", "token_estimator": "heuristic-v1" }, { @@ -306,7 +306,7 @@ "estimated_token_count_total": 7755 }, "hash": "sha256:086a87823ab67ceac102358030e316583cd733c0ec326316e7f29061fe7f6934", - "last_modified": "2025-10-20T14:59:04+00:00", + "last_modified": "2025-10-21T14:13:37+00:00", "token_estimator": "heuristic-v1" }, { @@ -327,7 +327,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:04+00:00", + "last_modified": "2025-10-21T14:13:37+00:00", "token_estimator": "heuristic-v1" }, { @@ -389,7 +389,7 @@ "estimated_token_count_total": 5207 }, "hash": "sha256:91f59a76dd33641ca2b5bf6d58230f65034fa3cc5f8313525fb57e854a878a56", - "last_modified": "2025-10-20T14:59:04+00:00", + "last_modified": "2025-10-21T14:13:37+00:00", "token_estimator": "heuristic-v1" }, { @@ -481,7 +481,7 @@ "estimated_token_count_total": 2132 }, "hash": "sha256:1b9efd2fe00b251d3b4054c9cfcb55f9b5a1384238eeaca81a6f1542fc36d75c", - "last_modified": "2025-10-20T14:59:04+00:00", + "last_modified": "2025-10-21T14:13:37+00:00", "token_estimator": "heuristic-v1" }, { @@ -502,7 +502,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:04+00:00", + "last_modified": "2025-10-21T14:13:37+00:00", "token_estimator": "heuristic-v1" }, { @@ -569,7 +569,7 @@ "estimated_token_count_total": 4063 }, "hash": "sha256:bd07cdae71bf63786994865d2f33fba5f7bf8855dce6399414ad44ab0ec6635c", - "last_modified": "2025-10-20T14:59:04+00:00", + "last_modified": "2025-10-21T14:13:37+00:00", "token_estimator": "heuristic-v1" }, { @@ -626,7 +626,7 @@ "estimated_token_count_total": 2225 }, "hash": "sha256:e916033f54c2874eb5ce9a43d58af058eb935429f73b7b1acc7da1592218e0b8", - "last_modified": "2025-10-20T14:59:04+00:00", + "last_modified": "2025-10-21T14:13:37+00:00", "token_estimator": "heuristic-v1" }, { @@ -674,7 +674,7 @@ "estimated_token_count_total": 1523 }, "hash": "sha256:d9d85827d2c14bff8dd6b3301617345430cf63db603e37859720713004ecafae", - "last_modified": "2025-10-20T14:59:04+00:00", + "last_modified": "2025-10-21T14:13:37+00:00", "token_estimator": "heuristic-v1" }, { @@ -732,7 +732,7 @@ "estimated_token_count_total": 1505 }, "hash": "sha256:2b017d8a89f8734b9cbb501f03612a22657d2f8d4d85c51e490e4c8ca4bf771b", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -790,7 +790,7 @@ "estimated_token_count_total": 1635 }, "hash": "sha256:46252e238b0b51105148dc622da6d8809c55ec11da7ec7b2953c35ca52f5f585", - "last_modified": "2025-10-20T14:59:04+00:00", + "last_modified": "2025-10-21T14:13:37+00:00", "token_estimator": "heuristic-v1" }, { @@ -833,7 +833,7 @@ "estimated_token_count_total": 1491 }, "hash": "sha256:db37b2f5888f283b5eb5bd84a5f8c81fc66b2313e3f94f510a73dfeb310ae3f0", - "last_modified": "2025-10-20T14:59:06+00:00", + "last_modified": "2025-10-21T14:13:39+00:00", "token_estimator": "heuristic-v1" }, { @@ -900,7 +900,7 @@ "estimated_token_count_total": 955 }, "hash": "sha256:72ee7394fd1308c111a8d548cb4dc63c6b9bc5b6e2bb556dd1baacbaedb92286", - "last_modified": "2025-10-20T14:59:06+00:00", + "last_modified": "2025-10-21T14:13:39+00:00", "token_estimator": "heuristic-v1" }, { @@ -952,7 +952,7 @@ "estimated_token_count_total": 876 }, "hash": "sha256:d6cb22337280a19bdf24981dcba98f337d48ee4f79ce7ac040466ef1cb4b330b", - "last_modified": "2025-10-20T14:59:06+00:00", + "last_modified": "2025-10-21T14:13:39+00:00", "token_estimator": "heuristic-v1" }, { @@ -1034,7 +1034,7 @@ "estimated_token_count_total": 2744 }, "hash": "sha256:1a2d34ccab19bd71263763bbc294977acf34f5800398f51398753594cfc7d7a6", - "last_modified": "2025-10-20T14:59:06+00:00", + "last_modified": "2025-10-21T14:13:39+00:00", "token_estimator": "heuristic-v1" }, { @@ -1106,7 +1106,7 @@ "estimated_token_count_total": 608 }, "hash": "sha256:7bba6105d99721373aa6f494627d20af97b1851c19703f26be26c32f0c83524b", - "last_modified": "2025-10-20T14:59:06+00:00", + "last_modified": "2025-10-21T14:13:39+00:00", "token_estimator": "heuristic-v1" }, { @@ -1173,7 +1173,7 @@ "estimated_token_count_total": 558 }, "hash": "sha256:b79fe56c9604712825bdf30d17667fd8f237fce9691be0d8d042d38691dbba7a", - "last_modified": "2025-10-20T14:59:06+00:00", + "last_modified": "2025-10-21T14:13:39+00:00", "token_estimator": "heuristic-v1" }, { @@ -1225,7 +1225,7 @@ "estimated_token_count_total": 348 }, "hash": "sha256:11cd8d428fa9c3e70490da5c63ce4597cd89ec46306d2bb49b016ced6aa68c3d", - "last_modified": "2025-10-20T14:59:06+00:00", + "last_modified": "2025-10-21T14:13:39+00:00", "token_estimator": "heuristic-v1" }, { @@ -1273,7 +1273,7 @@ "estimated_token_count_total": 1365 }, "hash": "sha256:5f8fa89fc725c5c559975012fe2f9ae92c3b62f10024b5688dcd118331118f1a", - "last_modified": "2025-10-20T14:59:06+00:00", + "last_modified": "2025-10-21T14:13:39+00:00", "token_estimator": "heuristic-v1" }, { @@ -1326,7 +1326,7 @@ "estimated_token_count_total": 4979 }, "hash": "sha256:ed3b7c8101b69f9c907cca7c5edfef67fdb5e7bc3c8df8d9fbad297f9dd3c80a", - "last_modified": "2025-10-20T14:59:06+00:00", + "last_modified": "2025-10-21T14:13:39+00:00", "token_estimator": "heuristic-v1" }, { @@ -1383,7 +1383,7 @@ "estimated_token_count_total": 1781 }, "hash": "sha256:35c71a215558cd0642d363e4515ad240093995d42720e6495cd2994c859243e4", - "last_modified": "2025-10-20T14:59:06+00:00", + "last_modified": "2025-10-21T14:13:39+00:00", "token_estimator": "heuristic-v1" }, { @@ -1430,7 +1430,7 @@ "estimated_token_count_total": 1447 }, "hash": "sha256:0e39aee80fbcf3dfaa19133f31d664914ed45b42a1a929270f05d8ae876b89e2", - "last_modified": "2025-10-20T14:59:06+00:00", + "last_modified": "2025-10-21T14:13:39+00:00", "token_estimator": "heuristic-v1" }, { @@ -1477,7 +1477,7 @@ "estimated_token_count_total": 1082 }, "hash": "sha256:ec82957c768c2c07a272e7a28659c812b223df836e21372b1642f0bb249d7b39", - "last_modified": "2025-10-20T14:59:06+00:00", + "last_modified": "2025-10-21T14:13:39+00:00", "token_estimator": "heuristic-v1" }, { @@ -1519,7 +1519,7 @@ "estimated_token_count_total": 4178 }, "hash": "sha256:d480791a76082937b47c77f7cf3794e701f193452ed347fcb1c04c3c67577bf5", - "last_modified": "2025-10-20T14:59:06+00:00", + "last_modified": "2025-10-21T14:13:39+00:00", "token_estimator": "heuristic-v1" }, { @@ -1587,7 +1587,7 @@ "estimated_token_count_total": 6510 }, "hash": "sha256:353ad782303ef79bce1262bfa945e6f11b3c3c9ca1edf5705b778c46bada6200", - "last_modified": "2025-10-20T14:59:08+00:00", + "last_modified": "2025-10-21T14:13:40+00:00", "token_estimator": "heuristic-v1" }, { @@ -1650,7 +1650,7 @@ "estimated_token_count_total": 1520 }, "hash": "sha256:ed09ef7a6abe21204006186fd5791ada7597688fad67e30244dc449c51330309", - "last_modified": "2025-10-20T14:59:08+00:00", + "last_modified": "2025-10-21T14:13:40+00:00", "token_estimator": "heuristic-v1" }, { @@ -1712,7 +1712,7 @@ "estimated_token_count_total": 2598 }, "hash": "sha256:b2b3d8c048863e7760f633b12ab2a0202c741be3050ea4beafb9a7265cfe96b5", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -1769,7 +1769,7 @@ "estimated_token_count_total": 1219 }, "hash": "sha256:262e7a3ad3d0a0102897c52c7589e3f94c7827c441398b3b446b205f6c6753d3", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -1811,7 +1811,7 @@ "estimated_token_count_total": 905 }, "hash": "sha256:ad8e6d9c77d5451c5f4d17f8e6311b21e6ad24eae8780fd4c3ae6013744822cf", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -1878,7 +1878,7 @@ "estimated_token_count_total": 3995 }, "hash": "sha256:19997d390abf2847824024ba923f46a61106ef77544d256d50b371210816b309", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -1946,7 +1946,7 @@ "estimated_token_count_total": 2005 }, "hash": "sha256:0becb82886d34e2ed23d963efd2c14120112e6e080ea4072e864531299b59753", - "last_modified": "2025-10-20T14:59:08+00:00", + "last_modified": "2025-10-21T14:13:40+00:00", "token_estimator": "heuristic-v1" }, { @@ -2013,7 +2013,7 @@ "estimated_token_count_total": 1944 }, "hash": "sha256:4fc8cab40e982e860b64d9aede1058fe7fa82ec321ac215b919db00c4df0a9c0", - "last_modified": "2025-10-20T14:59:08+00:00", + "last_modified": "2025-10-21T14:13:41+00:00", "token_estimator": "heuristic-v1" }, { @@ -2085,7 +2085,7 @@ "estimated_token_count_total": 3068 }, "hash": "sha256:9918593a46c12a1756552ddfaf7421ad6262600735b6f1fec030911420fe1736", - "last_modified": "2025-10-20T14:59:08+00:00", + "last_modified": "2025-10-21T14:13:41+00:00", "token_estimator": "heuristic-v1" }, { @@ -2167,7 +2167,7 @@ "estimated_token_count_total": 3025 }, "hash": "sha256:a60fe36a5ba6d1cafe12eab75300afd24a46d3ace1e791087adb7e3e538afcc3", - "last_modified": "2025-10-20T14:59:08+00:00", + "last_modified": "2025-10-21T14:13:41+00:00", "token_estimator": "heuristic-v1" }, { @@ -2219,7 +2219,7 @@ "estimated_token_count_total": 1289 }, "hash": "sha256:39c58dbe2ddcd542d7074d08d72f1811318dc8a3130419025480fd5cbe9fc3e7", - "last_modified": "2025-10-20T14:59:08+00:00", + "last_modified": "2025-10-21T14:13:41+00:00", "token_estimator": "heuristic-v1" }, { @@ -2271,7 +2271,7 @@ "estimated_token_count_total": 744 }, "hash": "sha256:358ed14147b96b47deb61df9a1ea0e1103a139ea5edb78c5d50a48d5a779b80d", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -2354,7 +2354,7 @@ "estimated_token_count_total": 2709 }, "hash": "sha256:2ee5656f749b4bca445172f2bc66c7fc39af40ff173626662ae4c399f49cf909", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -2412,7 +2412,7 @@ "estimated_token_count_total": 1892 }, "hash": "sha256:74de798c287cae75729e7db54019507f03a361dbbd1f2bb58c4694605f83efab", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -2464,7 +2464,7 @@ "estimated_token_count_total": 4719 }, "hash": "sha256:bfad885d8053d052c55dbffc3c09e6196586795c3a1d07ab6ad58f9006ec3345", - "last_modified": "2025-10-20T14:59:08+00:00", + "last_modified": "2025-10-21T14:13:41+00:00", "token_estimator": "heuristic-v1" }, { @@ -2526,7 +2526,7 @@ "estimated_token_count_total": 1819 }, "hash": "sha256:b0c1535fa8e969a9bdeee426a5a35a42b4649121fb8ce6fd2b15fdeba35b5d5f", - "last_modified": "2025-10-20T14:59:08+00:00", + "last_modified": "2025-10-21T14:13:41+00:00", "token_estimator": "heuristic-v1" }, { @@ -2573,7 +2573,7 @@ "estimated_token_count_total": 1161 }, "hash": "sha256:07e63e1e99b9acf1cc3b5ef8fa1f06ff22182b2a801582ce800eba37d7d39408", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -2645,7 +2645,7 @@ "estimated_token_count_total": 4014 }, "hash": "sha256:55dc252fdecf1590048ce8d009b822e90231442abe81e9593cf1635944a31336", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -2697,7 +2697,7 @@ "estimated_token_count_total": 2030 }, "hash": "sha256:f4964f894f7cd2fdfd699c017b4bd25cffc322b03a5a88a36c682cf952832ccc", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -2764,7 +2764,7 @@ "estimated_token_count_total": 3342 }, "hash": "sha256:9d6daa3f4daf149ae822b60060d14ff022bd4b3440cecdc969a48c105eb82a21", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -2816,7 +2816,7 @@ "estimated_token_count_total": 1572 }, "hash": "sha256:68fc67390e24741081c9a04d78951e76c7d4ff7cf6eddaba7dcbbdc1812c71d3", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -2873,7 +2873,7 @@ "estimated_token_count_total": 1559 }, "hash": "sha256:0024f5e4c12ab7b019e5ee183e7c78d175e1125868c5458b97d3accd9fac75bc", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -2910,7 +2910,7 @@ "estimated_token_count_total": 514 }, "hash": "sha256:e8ffeaa3a17e20437a59f2c95a63821eb75bf3c33001e748c23958b2b99ac3c2", - "last_modified": "2025-10-20T14:59:08+00:00", + "last_modified": "2025-10-21T14:13:41+00:00", "token_estimator": "heuristic-v1" }, { @@ -2947,7 +2947,7 @@ "estimated_token_count_total": 570 }, "hash": "sha256:1247dfb5f5ac040bca81cd1002153e0ee53f4052b2a3d40b623834bd7f00d065", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -3024,7 +3024,7 @@ "estimated_token_count_total": 6228 }, "hash": "sha256:72e41f816f07026d96c803f399c71852aa1151c464e79cec3e1746b282d5eaae", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -3102,7 +3102,7 @@ "estimated_token_count_total": 4188 }, "hash": "sha256:fe008393aa37c27bb71b4483d4e2c4fbcda94f8c1be461fdd07eff40efbb4e26", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -3165,7 +3165,7 @@ "estimated_token_count_total": 1375 }, "hash": "sha256:8e6bfed5fa59bb748e80698ea702f62ce6951c48bdb955ee9ef0d3516e856887", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -3312,7 +3312,7 @@ "estimated_token_count_total": 1618 }, "hash": "sha256:5cc63ff0a377ef0ec96a064748e13b88bc852bd1862c6e344066855a7fe93b19", - "last_modified": "2025-10-20T14:59:08+00:00", + "last_modified": "2025-10-21T14:13:41+00:00", "token_estimator": "heuristic-v1" }, { @@ -3509,7 +3509,7 @@ "estimated_token_count_total": 9750 }, "hash": "sha256:1fb7a20bc4a799a771954720428029419ec73afa640e589590c43dd041a7e307", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -3597,7 +3597,7 @@ "estimated_token_count_total": 4475 }, "hash": "sha256:f0cee7ccb3cd294e8f909a220bb63987239ef8155c187a04f8c4864ffdcde288", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -3690,7 +3690,7 @@ "estimated_token_count_total": 3900 }, "hash": "sha256:a7541553a50a250521c0a280f997d614763c643b1028147f3fb61391950bda15", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -3763,7 +3763,7 @@ "estimated_token_count_total": 3250 }, "hash": "sha256:bc771f912627fa09cad64adab1bc81c052f650d6c5a3b4f0c91883a98f6628da", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -3836,7 +3836,7 @@ "estimated_token_count_total": 3033 }, "hash": "sha256:bc87533eaf42a979a0c17f50ecdc668c364889257c7e0d27b81129770660fd53", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -3889,7 +3889,7 @@ "estimated_token_count_total": 2512 }, "hash": "sha256:5d13a0873a78a9802b06686d7caafbf4d23b6ba1edf7d3518943301f2b0110c4", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -3931,7 +3931,7 @@ "estimated_token_count_total": 2432 }, "hash": "sha256:809d0ff921587f29045df1d31a5a9fe32ee13fa7b9698aa27ff9f60b2aa7a4d8", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -4004,7 +4004,7 @@ "estimated_token_count_total": 1118 }, "hash": "sha256:0468268436ffdb759cad8390a838d5fba2391118baa8fd8cd494b36397b10329", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -4086,7 +4086,7 @@ "estimated_token_count_total": 3847 }, "hash": "sha256:4b705b8dbe9b0ad8d19a897d91f3c64dbc4541297dadacbea2a31b4778e50a46", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:44+00:00", "token_estimator": "heuristic-v1" }, { @@ -4153,7 +4153,7 @@ "estimated_token_count_total": 2317 }, "hash": "sha256:605d2cbb7eabb2ea0fd928bc3ecdf9ee8b095e3dd9643f2b0918fef7b5a3f4a8", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -4206,7 +4206,7 @@ "estimated_token_count_total": 1638 }, "hash": "sha256:807cee6869059dd933905d1cf6c76e3b86e02baee3de3113f7e5b4c8697fbd22", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -4274,7 +4274,7 @@ "estimated_token_count_total": 2300 }, "hash": "sha256:ba24e31e2ad94fbf1d73f1878da92dd2e1476db00170780bbdf0e65ab18bc961", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -4327,7 +4327,7 @@ "estimated_token_count_total": 1987 }, "hash": "sha256:2ca93b09d3bb9159bbf53816886a9b242bb3c13b996c51fd52962e049e2d5477", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -4400,7 +4400,7 @@ "estimated_token_count_total": 1084 }, "hash": "sha256:7f533abe61586af8438e350c41b741d74a8edb839f9dc4139bc4619ba3748258", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-20T08:30:40+00:00", "token_estimator": "heuristic-v1" }, { @@ -4468,7 +4468,7 @@ "estimated_token_count_total": 1166 }, "hash": "sha256:ed3986f30880fefca5975fcdc847c68b4aca65862c63e3002b25391b0521781d", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -4526,7 +4526,7 @@ "estimated_token_count_total": 942 }, "hash": "sha256:8987fc35cd28602054ee018031f773e2e3837425107c51d0e2ac68a94b86e9c0", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -4579,7 +4579,7 @@ "estimated_token_count_total": 1945 }, "hash": "sha256:b8759f61ab57b636228b69d5770c74591998b912cd4596e89eb2ec011da7ef73", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -4652,7 +4652,7 @@ "estimated_token_count_total": 2187 }, "hash": "sha256:56269d9ea47f5b4e92cd7d5a1e65ab06d181a9c380f90bb3ef285529b12299f7", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -4690,7 +4690,7 @@ "estimated_token_count_total": 428 }, "hash": "sha256:cfcc76bb24779c9b613f2c046b6f99a0f2529c25fd82287d804f6b945b936227", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -4723,7 +4723,7 @@ "estimated_token_count_total": 245 }, "hash": "sha256:6d8e01281a5895fd2bc4438b24c170c72a496de0b838626a53e87685aea4aa25", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -4780,7 +4780,7 @@ "estimated_token_count_total": 847 }, "hash": "sha256:a206dd86fc3d80aed22384000839ca0c9c75c69ad461abd9810d96c03cf6a3bd", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:44+00:00", "token_estimator": "heuristic-v1" }, { @@ -4852,7 +4852,7 @@ "estimated_token_count_total": 6280 }, "hash": "sha256:9b03477d13a285fced6bf845c3827084f790a626989dc2c09ef9ff53643045f4", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:44+00:00", "token_estimator": "heuristic-v1" }, { @@ -4890,7 +4890,7 @@ "estimated_token_count_total": 633 }, "hash": "sha256:62c5ad101282227f79eac0e30a3ba9ce3ae1bf9e358bd58c0b17ef45db29c2ff", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -4952,7 +4952,7 @@ "estimated_token_count_total": 5209 }, "hash": "sha256:966ec1bcc014a454f6b837b503025d9fb89c30f6a65d0aaec82ea5ff976e53a9", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-20T08:30:40+00:00", "token_estimator": "heuristic-v1" }, { @@ -5011,7 +5011,7 @@ "estimated_token_count_total": 1700 }, "hash": "sha256:47328231d6ff4dc52cd93aaf1baf5d0bc2d9fc372f3d79339d87aafa0dabd1b8", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -5079,7 +5079,7 @@ "estimated_token_count_total": 2453 }, "hash": "sha256:2c77cfb38bb2e466a8f56dabbb706fcd2e90cf1634fc9beb7f0ee95a75735653", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -5152,7 +5152,7 @@ "estimated_token_count_total": 2614 }, "hash": "sha256:4325cdd697814b8043db808da3dee86d3d9c6fc7dd523aae7fe8914d59d1b39c", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -5209,7 +5209,7 @@ "estimated_token_count_total": 1430 }, "hash": "sha256:1284c42be692167e01bcc44e2e134ec20615402675fac26df246c00aa1588d80", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:06:45+00:00", "token_estimator": "heuristic-v1" }, { @@ -5277,7 +5277,7 @@ "estimated_token_count_total": 2018 }, "hash": "sha256:49866761ef638dd0683bb5558f5319b9568ff136295b3359580a6f478172c73f", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -5325,7 +5325,7 @@ "estimated_token_count_total": 999 }, "hash": "sha256:6d6c66430a7302f29113924c5208e64d7c244497e50c61ab2f45c4b5141620e4", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:44+00:00", "token_estimator": "heuristic-v1" }, { @@ -5387,7 +5387,7 @@ "estimated_token_count_total": 1863 }, "hash": "sha256:7086406b31e7aa9089b221ffaa548ee5540a3d147ec1e93136f481c883f2e434", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:44+00:00", "token_estimator": "heuristic-v1" }, { @@ -5474,7 +5474,7 @@ "estimated_token_count_total": 1870 }, "hash": "sha256:3b766e00e55a224201bc6744386a6dabc7da54ed9199b16abab3b94cff449eca", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:44+00:00", "token_estimator": "heuristic-v1" }, { @@ -5567,7 +5567,7 @@ "estimated_token_count_total": 9871 }, "hash": "sha256:0d7e04fd952cc9d5bd8cdbfd87cc4004c5f95e896a16bc7f89dfc4caeac8f371", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -5630,7 +5630,7 @@ "estimated_token_count_total": 2661 }, "hash": "sha256:04e85c4cddb58252f8253d78a3924bb56952dac2a3e9a057704a91a0d1f21d75", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:44+00:00", "token_estimator": "heuristic-v1" }, { @@ -5662,7 +5662,7 @@ "estimated_token_count_total": 2073 }, "hash": "sha256:9836ab7da420e9ca8196da77dc3ff8198cb3b622548842d0505c0aa043a5f02e", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:44+00:00", "token_estimator": "heuristic-v1" }, { @@ -5734,7 +5734,7 @@ "estimated_token_count_total": 579 }, "hash": "sha256:4c33d0ec5026128b3bfdb1dfc1f4b29487404eaa8043071d536e8638356c6e1f", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:44+00:00", "token_estimator": "heuristic-v1" }, { @@ -5776,7 +5776,7 @@ "estimated_token_count_total": 557 }, "hash": "sha256:993e93b05c8fbdfc2f7510c61ac86bc4c2ff0f03e573695b2f260933c8b62f78", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:44+00:00", "token_estimator": "heuristic-v1" }, { @@ -5843,7 +5843,7 @@ "estimated_token_count_total": 1044 }, "hash": "sha256:d84a5af1a0237a911d25a68c077f508ebbce608f673ef4f9055e8e434daa96b9", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -5910,7 +5910,7 @@ "estimated_token_count_total": 4229 }, "hash": "sha256:abd9f939f68b068a18567b875c9f7e11d102c54fc02ca0e6ee8041c539061ed0", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -5967,7 +5967,7 @@ "estimated_token_count_total": 1286 }, "hash": "sha256:0b43b452e9d709cb324bf51fd88c2fed8e6249534a7c2b852e1bd36bcb9b981a", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -6029,7 +6029,7 @@ "estimated_token_count_total": 1827 }, "hash": "sha256:1090b02689df5f4c59bb83f9c81436718d06e46f3b615bc655fef3c7b6c9fb02", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -6111,7 +6111,7 @@ "estimated_token_count_total": 2559 }, "hash": "sha256:0857a9e83aefc6d3f04e8cb320ab82d35211bbd73d2eb2614cf7b97f8e6d36b9", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -6198,7 +6198,7 @@ "estimated_token_count_total": 3827 }, "hash": "sha256:e2567b7d5377c87984622cf93afe4bd8cedf46b80597736cf53f26b5f31c5065", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -6245,7 +6245,7 @@ "estimated_token_count_total": 625 }, "hash": "sha256:9ab570299106336e5d75923b876247e8eb4a71851a77e84d68e0335e9da5e0a8", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -6357,7 +6357,7 @@ "estimated_token_count_total": 5832 }, "hash": "sha256:a7b5239c3be0341ced8f28146e240ff6061fded2e71094bd586beeb024684a50", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -6409,7 +6409,7 @@ "estimated_token_count_total": 861 }, "hash": "sha256:97655248c65e816fdf3d85dab4ace7ca0c145c50f671c25c24627cfd7660c7a6", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -6466,7 +6466,7 @@ "estimated_token_count_total": 1167 }, "hash": "sha256:b2e8abce15fc9df106a5e972f28c64f606f9dd50ba3a256093eb53bdd5126224", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -6513,7 +6513,7 @@ "estimated_token_count_total": 1477 }, "hash": "sha256:76500d1d63f4205a84f0bc5b7f9aec945781127d41c32927280ac74bc14f0296", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -6580,7 +6580,7 @@ "estimated_token_count_total": 3409 }, "hash": "sha256:abe6bedab04f463ec07f554977b8d6355a5d2fad9bcda01cbe58568152295daa", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -6632,7 +6632,7 @@ "estimated_token_count_total": 2617 }, "hash": "sha256:7d43408276d811c96b7b081a7b9f4d884893282a230b564c9eb3be2fc7857565", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -6699,7 +6699,7 @@ "estimated_token_count_total": 1044 }, "hash": "sha256:d84a5af1a0237a911d25a68c077f508ebbce608f673ef4f9055e8e434daa96b9", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:44+00:00", "token_estimator": "heuristic-v1" }, { @@ -6766,7 +6766,7 @@ "estimated_token_count_total": 4197 }, "hash": "sha256:b83e3f77bd30ac8c8fb00a193bbec33cd641d94f1a37ac611dea32326c3d77b0", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:44+00:00", "token_estimator": "heuristic-v1" }, { @@ -6823,7 +6823,7 @@ "estimated_token_count_total": 1280 }, "hash": "sha256:992082e4ad87348b283f6c37ea886ae0e7bf016852b6470000876f3d169c65a4", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:44+00:00", "token_estimator": "heuristic-v1" }, { @@ -6885,7 +6885,7 @@ "estimated_token_count_total": 1840 }, "hash": "sha256:0fb5a83835aab263c0b9aa886028c8aa8a2d6d0897d7b9fff4b5258835d30dfe", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:44+00:00", "token_estimator": "heuristic-v1" }, { @@ -6967,7 +6967,7 @@ "estimated_token_count_total": 2592 }, "hash": "sha256:d2c1c91734bc8185057d8eeec6829ea91e0316f7ba884c5dc3922a5e5778815e", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:44+00:00", "token_estimator": "heuristic-v1" }, { @@ -7054,7 +7054,7 @@ "estimated_token_count_total": 3864 }, "hash": "sha256:a4235e8d590033d5d54434143e0a5e23603c53ae70d4f0a9ebfe4ca9442baa8d", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:45+00:00", "token_estimator": "heuristic-v1" }, { @@ -7101,7 +7101,7 @@ "estimated_token_count_total": 629 }, "hash": "sha256:0d6db361bfa7a3022849bbe39989bfdac0429537498d7f534adadec131afca98", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:45+00:00", "token_estimator": "heuristic-v1" }, { @@ -7213,7 +7213,7 @@ "estimated_token_count_total": 5866 }, "hash": "sha256:81eb0fe77f05155f1ec0511cd066120fc9994961e9d91e21b6666377e65b4586", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:45+00:00", "token_estimator": "heuristic-v1" }, { @@ -7265,7 +7265,7 @@ "estimated_token_count_total": 861 }, "hash": "sha256:1af153570ce57bd5b52d08493a300996765686f2a6d04519a2e0aa91191612c1", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:45+00:00", "token_estimator": "heuristic-v1" }, { @@ -7322,7 +7322,7 @@ "estimated_token_count_total": 1185 }, "hash": "sha256:888230b128d8c648c4f06a18d3b1d1b06dd1bf22a0de4add1f28210ffccb2549", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:45+00:00", "token_estimator": "heuristic-v1" }, { @@ -7369,7 +7369,7 @@ "estimated_token_count_total": 1485 }, "hash": "sha256:46435b97c37ef6798d2c75c69df31c5e5f07e04b218c370ec5af6b1838d43aac", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:45+00:00", "token_estimator": "heuristic-v1" }, { @@ -7436,7 +7436,7 @@ "estimated_token_count_total": 3409 }, "hash": "sha256:abe6bedab04f463ec07f554977b8d6355a5d2fad9bcda01cbe58568152295daa", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:45+00:00", "token_estimator": "heuristic-v1" }, { @@ -7488,7 +7488,7 @@ "estimated_token_count_total": 2588 }, "hash": "sha256:d5d6d72eb2cf10f624d84c65f2274f7df90acb5d071bf170bc8eae8d98a810a5", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:45+00:00", "token_estimator": "heuristic-v1" }, { @@ -7550,7 +7550,7 @@ "estimated_token_count_total": 2598 }, "hash": "sha256:867727c125c6584645e9832d2cad64762d75e5b9e4a497bd8bbba25c470c67d9", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:45+00:00", "token_estimator": "heuristic-v1" }, { @@ -7607,7 +7607,7 @@ "estimated_token_count_total": 1221 }, "hash": "sha256:b1f5561be570e34e47509f6bbe04e4f58def3b7c40c870a2309e3f6ce2c39d56", - "last_modified": "2025-10-20T14:59:11+00:00", + "last_modified": "2025-10-21T14:13:45+00:00", "token_estimator": "heuristic-v1" }, { @@ -7619,7 +7619,7 @@ ], "raw_md_url": "https://raw.githubusercontent.com/polkadot-developers/polkadot-docs/master/.ai/pages/parachains-customize-runtime-add-smart-contract-functionality.md", "html_url": "https://docs.polkadot.com/parachains/customize-runtime/add-smart-contract-functionality/", - "preview": "When building your custom blockchain with the Polkadot SDK, you have the flexibility to add smart contract capabilities through specialized pallets. These pallets allow blockchain users to deploy and execute smart contracts, enhancing your chain's functionality and programmability.", + "preview": "When building your custom blockchain with the Polkadot SDK, you can add smart contract capabilities through specialized pallets. These pallets enable users to deploy and execute smart contracts, enhancing your chain's programmability and allowing developers to build decentralized applications on your network.", "outline": [ { "depth": 2, @@ -7628,13 +7628,63 @@ }, { "depth": 2, - "title": "EVM Smart Contracts", - "anchor": "evm-smart-contracts" + "title": "pallet-revive", + "anchor": "pallet-revive" + }, + { + "depth": 3, + "title": "Core Components", + "anchor": "core-components" + }, + { + "depth": 3, + "title": "Supported Languages and Compilers", + "anchor": "supported-languages-and-compilers" + }, + { + "depth": 3, + "title": "How It Works", + "anchor": "how-it-works" + }, + { + "depth": 3, + "title": "Key Benefits", + "anchor": "key-benefits" + }, + { + "depth": 3, + "title": "Implementation Examples", + "anchor": "implementation-examples" }, { "depth": 2, - "title": "Wasm Smart Contracts", - "anchor": "wasm-smart-contracts" + "title": "Frontier", + "anchor": "frontier" + }, + { + "depth": 3, + "title": "Integration Options", + "anchor": "integration-options" + }, + { + "depth": 3, + "title": "Key Benefits of Full Integration", + "anchor": "key-benefits-of-full-integration" + }, + { + "depth": 3, + "title": "Implementation Examples", + "anchor": "implementation-examples-2" + }, + { + "depth": 2, + "title": "pallet-contracts (Legacy)", + "anchor": "pallet-contracts-legacy" + }, + { + "depth": 3, + "title": "Implementation Example", + "anchor": "implementation-example" }, { "depth": 2, @@ -7643,13 +7693,13 @@ } ], "stats": { - "chars": 3865, - "words": 521, - "headings": 4, - "estimated_token_count_total": 901 + "chars": 6319, + "words": 783, + "headings": 14, + "estimated_token_count_total": 1498 }, - "hash": "sha256:f56a32d5323c371f084833b4e647f21e1d76ad242d8c4e4826bcaed467acc7cf", - "last_modified": "2025-10-20T14:59:11+00:00", + "hash": "sha256:0bdf251a9f2f48e8d4d64a228c9b0f1ffd3b1561ddfdc488ca29b73cddad4c23", + "last_modified": "2025-10-21T14:13:45+00:00", "token_estimator": "heuristic-v1" }, { @@ -7702,7 +7752,7 @@ "estimated_token_count_total": 3091 }, "hash": "sha256:51cb6bb7ed2b81022ba09a02644272fd0c120032ff543d789bb4c482a79bdd94", - "last_modified": "2025-10-20T14:59:13+00:00", + "last_modified": "2025-10-21T14:13:46+00:00", "token_estimator": "heuristic-v1" }, { @@ -7769,7 +7819,7 @@ "estimated_token_count_total": 3338 }, "hash": "sha256:915bc91edd56cdedd516e871dbe450d70c9f99fb467cc00ff231ea3a74f61d96", - "last_modified": "2025-10-20T14:59:13+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -7836,7 +7886,7 @@ "estimated_token_count_total": 3997 }, "hash": "sha256:1d324a805f33a41ae1e5c3998f2979c74217ce433a29ff48969f1ea9882cdeaa", - "last_modified": "2025-10-20T14:59:13+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -7888,7 +7938,7 @@ "estimated_token_count_total": 1576 }, "hash": "sha256:733652ec4eff9b11efd858a7fd7f1094e7a2e8e7deed4c60c5805f986d877df4", - "last_modified": "2025-10-20T14:59:13+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -7945,7 +7995,7 @@ "estimated_token_count_total": 1563 }, "hash": "sha256:8568dfa238b9a649a4e6e60510625c2e7879b76a93187b0b8b8dccf6bc467ae6", - "last_modified": "2025-10-20T14:59:13+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -8013,7 +8063,7 @@ "estimated_token_count_total": 2292 }, "hash": "sha256:759ed27cf3d473445e33141089b652082c42a2c59eb822d6b506146fd9555e13", - "last_modified": "2025-10-20T14:59:13+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -8096,7 +8146,7 @@ "estimated_token_count_total": 2709 }, "hash": "sha256:2ee5656f749b4bca445172f2bc66c7fc39af40ff173626662ae4c399f49cf909", - "last_modified": "2025-10-20T14:59:13+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -8134,7 +8184,7 @@ "estimated_token_count_total": 428 }, "hash": "sha256:cfcc76bb24779c9b613f2c046b6f99a0f2529c25fd82287d804f6b945b936227", - "last_modified": "2025-10-20T14:59:13+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -8167,7 +8217,7 @@ "estimated_token_count_total": 245 }, "hash": "sha256:6d8e01281a5895fd2bc4438b24c170c72a496de0b838626a53e87685aea4aa25", - "last_modified": "2025-10-20T14:59:13+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -8205,7 +8255,7 @@ "estimated_token_count_total": 633 }, "hash": "sha256:62c5ad101282227f79eac0e30a3ba9ce3ae1bf9e358bd58c0b17ef45db29c2ff", - "last_modified": "2025-10-20T14:59:13+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -8277,7 +8327,7 @@ "estimated_token_count_total": 2285 }, "hash": "sha256:b8de1228b9976765accd18ff724038bed6f2449367f500bc3177ab2a053abe63", - "last_modified": "2025-10-20T14:59:13+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -8329,7 +8379,7 @@ "estimated_token_count_total": 1427 }, "hash": "sha256:b501d99c464fb049d46676827b6a325a195c90617becc4a7db305441c115350a", - "last_modified": "2025-10-20T14:59:13+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -8387,7 +8437,7 @@ "estimated_token_count_total": 1501 }, "hash": "sha256:3b26606dd5310c4b8ade5d05270ebf1e06f59afcda4ca2b985e07948215a197e", - "last_modified": "2025-10-20T14:59:13+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -8408,7 +8458,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-18T04:15:53+00:00", + "last_modified": "2025-10-21T09:47:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -8429,7 +8479,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:13+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -8481,7 +8531,7 @@ "estimated_token_count_total": 744 }, "hash": "sha256:358ed14147b96b47deb61df9a1ea0e1103a139ea5edb78c5d50a48d5a779b80d", - "last_modified": "2025-10-20T14:59:13+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -8559,7 +8609,7 @@ "estimated_token_count_total": 2379 }, "hash": "sha256:637b9460bb65621cbc7c1bff272ea287d5181a983bc61418167959e108e21791", - "last_modified": "2025-10-20T14:59:13+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -8612,7 +8662,7 @@ "estimated_token_count_total": 1751 }, "hash": "sha256:bbef601f2645c23200a3b16bc1b8e5bcad2aafdee6d60ae860ce8b5a53122c14", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:06:45+00:00", "token_estimator": "heuristic-v1" }, { @@ -8659,7 +8709,7 @@ "estimated_token_count_total": 1161 }, "hash": "sha256:ec31270001a6cd9d0a8ecb7974ad161d5c1ef4d3023d5a6af9fbc5a6ca46cbca", - "last_modified": "2025-10-20T14:59:13+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -8731,7 +8781,7 @@ "estimated_token_count_total": 4014 }, "hash": "sha256:55dc252fdecf1590048ce8d009b822e90231442abe81e9593cf1635944a31336", - "last_modified": "2025-10-20T14:59:14+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -8783,7 +8833,7 @@ "estimated_token_count_total": 2028 }, "hash": "sha256:e408d05199cc184fc6fe8bb212efb3c9aa6cb79258977e07566692176c912def", - "last_modified": "2025-10-20T14:59:14+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -8856,7 +8906,7 @@ "estimated_token_count_total": 2614 }, "hash": "sha256:4325cdd697814b8043db808da3dee86d3d9c6fc7dd523aae7fe8914d59d1b39c", - "last_modified": "2025-10-20T14:59:14+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -8949,7 +8999,7 @@ "estimated_token_count_total": 9871 }, "hash": "sha256:0d7e04fd952cc9d5bd8cdbfd87cc4004c5f95e896a16bc7f89dfc4caeac8f371", - "last_modified": "2025-10-20T14:59:14+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -8997,7 +9047,7 @@ "estimated_token_count_total": 1125 }, "hash": "sha256:9875239c6071033a37a0f67fabca5a6e840c4a287620309f47b4f29c5a95a1cb", - "last_modified": "2025-10-20T14:59:14+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -9061,7 +9111,7 @@ "estimated_token_count_total": 1861 }, "hash": "sha256:932c12e1af939698279ede2eacb2190e1f56119582adf2064d6cf86f7a4f3e3c", - "last_modified": "2025-10-20T14:59:14+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -9108,7 +9158,7 @@ "estimated_token_count_total": 619 }, "hash": "sha256:00be43ac8d666bbe15c5c2fa5a5085697d0bb5a6f341ebbb943a209f0be355df", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -9170,7 +9220,7 @@ "estimated_token_count_total": 1440 }, "hash": "sha256:2d228c52844df8952520fafdd3e6f0e26bfd2f32b5ee60c6241cf7d38603643c", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -9249,7 +9299,7 @@ "estimated_token_count_total": 2591 }, "hash": "sha256:201e7efa0ad6b24890dd06f69714e19d9700ab7f7a51a33fe6d6e0664b7170b2", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:06:45+00:00", "token_estimator": "heuristic-v1" }, { @@ -9336,7 +9386,7 @@ "estimated_token_count_total": 2534 }, "hash": "sha256:191df9b098e17e9de4597c9f8ced8abbafdfabc7e0f5c0a94d767fc2c9d7742b", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -9468,7 +9518,7 @@ "estimated_token_count_total": 4105 }, "hash": "sha256:759ab6dea0ad03c3f627558ea186d9f32351fa559acde82931684efc2da59d46", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -9520,7 +9570,7 @@ "estimated_token_count_total": 1218 }, "hash": "sha256:26c156146ef9743fc26c6499294ff14186f97edbc2a34f445d3366b72f7148ae", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -9552,7 +9602,7 @@ "estimated_token_count_total": 424 }, "hash": "sha256:59ec351fbb8d3a392e90f4f5bf6b62f58b21d6d7a900c5e367e5d2e09ecb3aca", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -9594,7 +9644,7 @@ "estimated_token_count_total": 1230 }, "hash": "sha256:8d186fa56ccbbf4b6c85cffc5521b9a99a20e9517f3b4a435730745803cbf2e8", - "last_modified": "2025-10-20T14:59:14+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -9662,7 +9712,7 @@ "estimated_token_count_total": 1643 }, "hash": "sha256:100377787627052a29bd1173270b5ad307639b828c331e71c85d4c00bc5692d8", - "last_modified": "2025-10-20T14:59:14+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -9724,7 +9774,7 @@ "estimated_token_count_total": 876 }, "hash": "sha256:8239d1e8d8642cb7c10e9e5f971c99b999e9e4a87373b50bf4a691225c1e4702", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -10061,7 +10111,7 @@ "estimated_token_count_total": 5271 }, "hash": "sha256:f0e04286eacf23b182186f23e9854c0cd251545b8a8d561d2503f962dbfe32c0", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -10103,7 +10153,7 @@ "estimated_token_count_total": 631 }, "hash": "sha256:baba9dd41091b792d09005d55d3df0bf65b35f42b40ebe63caf425a0978a22b0", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -10171,7 +10221,7 @@ "estimated_token_count_total": 1611 }, "hash": "sha256:62beec261e72529f70e07a641177d489d2c8872f9c9d618cbadf1ac0fd881986", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -10269,7 +10319,7 @@ "estimated_token_count_total": 6521 }, "hash": "sha256:1f9ce923b3ce296571fe63837c0d3c3c791a339ef02db09ead6b2b92e9d1bfd5", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -10332,7 +10382,7 @@ "estimated_token_count_total": 1399 }, "hash": "sha256:bcad23a74d962cab72b54cdc090bf9ee0cd5ecf79f70fb642f154668c2743983", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -10430,7 +10480,7 @@ "estimated_token_count_total": 4464 }, "hash": "sha256:299597c39d0e4e4902be8e45b354fff78a862aa5799e4f16d16787a97a1e3da8", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -10563,7 +10613,7 @@ "estimated_token_count_total": 4705 }, "hash": "sha256:6675634d4c5f274a7cc69802ee0a2d259e38efd5afd1c9dacc2d0fecfb370e4c", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:06:45+00:00", "token_estimator": "heuristic-v1" }, { @@ -10661,7 +10711,7 @@ "estimated_token_count_total": 3782 }, "hash": "sha256:eb4da21d561e9fd9333d97805318f0e263f54570120d3852ce7eba64da604cc2", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -10744,7 +10794,7 @@ "estimated_token_count_total": 1797 }, "hash": "sha256:259dcef86aadc513675258b665cc3940db65af6eb32a5db85da6ac339966fa60", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -10817,7 +10867,7 @@ "estimated_token_count_total": 3213 }, "hash": "sha256:e448294b6e52291ac0add5fa6533572814e6cd27af42bdaccc2000b86f52d775", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -10875,7 +10925,7 @@ "estimated_token_count_total": 780 }, "hash": "sha256:077e7e5bfc9509cf09f455959a5da7a74b7af69836b3c4b334692f32e306ddf1", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -10949,7 +10999,7 @@ "estimated_token_count_total": 1473 }, "hash": "sha256:695c624a1d7a3ed6fea0f4f5c19bb2100be986cec29ba58edb4598b9e9b98494", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -11022,7 +11072,7 @@ "estimated_token_count_total": 914 }, "hash": "sha256:8122e21c149d0863cfe3b37fc5606bcdb91668e9d265f0f05451a61ff70e4e93", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -11075,7 +11125,7 @@ "estimated_token_count_total": 1394 }, "hash": "sha256:217a79109aff1607594a0238fd91bfa812827620887c4f063c7e0a7a37f967d6", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -11143,7 +11193,7 @@ "estimated_token_count_total": 1822 }, "hash": "sha256:db2b1806153242680043ced536f64fc8a2ed3c09adc1bec5aa287168b48e0994", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -11206,7 +11256,7 @@ "estimated_token_count_total": 1178 }, "hash": "sha256:9a6b3fa6c005d75c25f0f683b7d8c3b65891454743b794c12b005f910b81609c", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -11319,7 +11369,7 @@ "estimated_token_count_total": 5305 }, "hash": "sha256:fe651be49fe0a9ae899b2cbf9c663325f407718dc63f1d2c6a2dc4931be751fa", - "last_modified": "2025-10-20T14:59:14+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -11387,7 +11437,7 @@ "estimated_token_count_total": 891 }, "hash": "sha256:b5acdc9acf0e44836b8a4518155eba7d16cc3b103c557a00970ffb1c44c3e9f6", - "last_modified": "2025-10-20T14:59:14+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -11440,7 +11490,7 @@ "estimated_token_count_total": 2570 }, "hash": "sha256:e2cf14bcb483308f73a80c8e8871ce1a86fa694576d2e6e51beafc24488f4d58", - "last_modified": "2025-10-20T14:59:14+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -11493,7 +11543,7 @@ "estimated_token_count_total": 994 }, "hash": "sha256:6992c9a2d1b315b64d9782880105cf2d436750249a84577aceb95cc213863009", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -11830,7 +11880,7 @@ "estimated_token_count_total": 5273 }, "hash": "sha256:40bd67811e7eabc79ca5d105eae388b19380d9f035022da17fc0d6bb173c817c", - "last_modified": "2025-10-20T14:59:14+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -11872,7 +11922,7 @@ "estimated_token_count_total": 631 }, "hash": "sha256:baba9dd41091b792d09005d55d3df0bf65b35f42b40ebe63caf425a0978a22b0", - "last_modified": "2025-10-20T14:59:14+00:00", + "last_modified": "2025-10-21T14:13:47+00:00", "token_estimator": "heuristic-v1" }, { @@ -11970,7 +12020,7 @@ "estimated_token_count_total": 6507 }, "hash": "sha256:0104a9132a69345a2faac37fca0e2853a2ded1efb009511a83a98d44509ab887", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -12033,7 +12083,7 @@ "estimated_token_count_total": 1395 }, "hash": "sha256:424783c102bea5dae5b8749635858c6c59055563442a98f57521f0027dafa8d3", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -12131,7 +12181,7 @@ "estimated_token_count_total": 4464 }, "hash": "sha256:7d0c3fa7982b3e1843adb8f27422456397580b3a3eba5047b381da8517742536", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -12264,7 +12314,7 @@ "estimated_token_count_total": 4699 }, "hash": "sha256:547f062b248779f0b3e823778120c4f32e449937b6f270ddf97378bc6d795c62", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -12362,7 +12412,7 @@ "estimated_token_count_total": 3774 }, "hash": "sha256:49238d1e9e2c33e0fcd3a84b5e30f0d3840d7d23a783b538875e0a23f38efc1d", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -12383,7 +12433,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -12445,7 +12495,7 @@ "estimated_token_count_total": 1440 }, "hash": "sha256:2d228c52844df8952520fafdd3e6f0e26bfd2f32b5ee60c6241cf7d38603643c", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -12528,7 +12578,7 @@ "estimated_token_count_total": 1797 }, "hash": "sha256:259dcef86aadc513675258b665cc3940db65af6eb32a5db85da6ac339966fa60", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -12601,7 +12651,7 @@ "estimated_token_count_total": 3213 }, "hash": "sha256:e448294b6e52291ac0add5fa6533572814e6cd27af42bdaccc2000b86f52d775", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -12659,7 +12709,7 @@ "estimated_token_count_total": 772 }, "hash": "sha256:11bb4f113bdda5852a3115e64d5ba47f8eccd4e3619a05ad960ab3a541f31346", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -12733,7 +12783,7 @@ "estimated_token_count_total": 1473 }, "hash": "sha256:e49e063a2cc0fb5a48c6cdc3de266bb6e025a006940fea8e90cc4d5f9884900f", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -12806,7 +12856,7 @@ "estimated_token_count_total": 914 }, "hash": "sha256:8122e21c149d0863cfe3b37fc5606bcdb91668e9d265f0f05451a61ff70e4e93", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -12859,7 +12909,7 @@ "estimated_token_count_total": 1388 }, "hash": "sha256:c7d8a5a4263fd21af458ab0bd102377104affdf2431b4fe74eeff4ebe62a4a81", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -12991,7 +13041,7 @@ "estimated_token_count_total": 4087 }, "hash": "sha256:73c34bb1dc80d04f765812c3ed2f247aeda6ce55598b0680d0bd157f25456b99", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -13043,7 +13093,7 @@ "estimated_token_count_total": 1220 }, "hash": "sha256:86734ba8bcdea7913f488edf666a6104bed0a18649d57abde82c149c41c2b871", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -13075,7 +13125,7 @@ "estimated_token_count_total": 424 }, "hash": "sha256:59ec351fbb8d3a392e90f4f5bf6b62f58b21d6d7a900c5e367e5d2e09ecb3aca", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -13122,7 +13172,7 @@ "estimated_token_count_total": 619 }, "hash": "sha256:00be43ac8d666bbe15c5c2fa5a5085697d0bb5a6f341ebbb943a209f0be355df", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -13209,7 +13259,7 @@ "estimated_token_count_total": 2526 }, "hash": "sha256:231fc555eefe5f910fb36e0c03945147d0fb235272850797391751f4444b0a9c", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -13288,7 +13338,7 @@ "estimated_token_count_total": 2571 }, "hash": "sha256:8a914e4309d4fe7070e62d7abe4665b6c76c8dc5ec3219332eccb16b77b0dd95", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -13350,7 +13400,7 @@ "estimated_token_count_total": 876 }, "hash": "sha256:8239d1e8d8642cb7c10e9e5f971c99b999e9e4a87373b50bf4a691225c1e4702", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -13371,7 +13421,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -13439,7 +13489,7 @@ "estimated_token_count_total": 2300 }, "hash": "sha256:ba24e31e2ad94fbf1d73f1878da92dd2e1476db00170780bbdf0e65ab18bc961", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -13497,7 +13547,7 @@ "estimated_token_count_total": 1430 }, "hash": "sha256:1284c42be692167e01bcc44e2e134ec20615402675fac26df246c00aa1588d80", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -13565,7 +13615,7 @@ "estimated_token_count_total": 2453 }, "hash": "sha256:2c77cfb38bb2e466a8f56dabbb706fcd2e90cf1634fc9beb7f0ee95a75735653", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -13633,7 +13683,7 @@ "estimated_token_count_total": 2018 }, "hash": "sha256:a87815deff81936d7f50842f8600004990076c1a33e7e6b408ab954b6ce47259", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -13686,7 +13736,7 @@ "estimated_token_count_total": 1987 }, "hash": "sha256:2ca93b09d3bb9159bbf53816886a9b242bb3c13b996c51fd52962e049e2d5477", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -13718,7 +13768,7 @@ "estimated_token_count_total": 669 }, "hash": "sha256:a7f9c4a03153ee637a0557d2cea0b622c849667ce793b1294bb3299cf036197d", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -13791,7 +13841,7 @@ "estimated_token_count_total": 1084 }, "hash": "sha256:7f533abe61586af8438e350c41b741d74a8edb839f9dc4139bc4619ba3748258", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -13859,7 +13909,7 @@ "estimated_token_count_total": 1166 }, "hash": "sha256:ed3986f30880fefca5975fcdc847c68b4aca65862c63e3002b25391b0521781d", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -13917,7 +13967,7 @@ "estimated_token_count_total": 942 }, "hash": "sha256:8987fc35cd28602054ee018031f773e2e3837425107c51d0e2ac68a94b86e9c0", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -13970,7 +14020,7 @@ "estimated_token_count_total": 1945 }, "hash": "sha256:0795462182cb97256bb5c2acb035855fe0d6557185de8ac99482725ecb4f94c1", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -14043,7 +14093,7 @@ "estimated_token_count_total": 2187 }, "hash": "sha256:56269d9ea47f5b4e92cd7d5a1e65ab06d181a9c380f90bb3ef285529b12299f7", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -14102,7 +14152,7 @@ "estimated_token_count_total": 1700 }, "hash": "sha256:47328231d6ff4dc52cd93aaf1baf5d0bc2d9fc372f3d79339d87aafa0dabd1b8", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -14123,7 +14173,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -14160,7 +14210,7 @@ "estimated_token_count_total": 558 }, "hash": "sha256:a2490223926957381913ae0ed22e2df3611a6713ec9d77a3015d1cd6a578b3f6", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -14181,7 +14231,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -14239,7 +14289,7 @@ "estimated_token_count_total": 2671 }, "hash": "sha256:2a42198668c759f63aa602115bf2d290ec7d03bbc3a3df20e30e85027e1b1cc3", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -14260,7 +14310,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -14314,7 +14364,7 @@ "estimated_token_count_total": 2107 }, "hash": "sha256:296cba75b1d49aefa1b8636ba95ca20c3431b7eb0e93b0658add671ef5801732", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:48+00:00", "token_estimator": "heuristic-v1" }, { @@ -14368,7 +14418,7 @@ "estimated_token_count_total": 2264 }, "hash": "sha256:4e3ac6affdbe93ce9d132cbb838be1dfaf7a629b0e1f10ce4d90cc3899d656cb", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -14389,7 +14439,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -14410,7 +14460,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:15+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -14487,7 +14537,7 @@ "estimated_token_count_total": 6228 }, "hash": "sha256:72e41f816f07026d96c803f399c71852aa1151c464e79cec3e1746b282d5eaae", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -14508,7 +14558,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -14529,7 +14579,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -14550,7 +14600,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -14571,7 +14621,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -14592,7 +14642,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -14670,7 +14720,7 @@ "estimated_token_count_total": 4190 }, "hash": "sha256:1729ad83ad381a90752540644d400c60add3555e5da296ab455442be81d32f8c", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -14691,7 +14741,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -14712,7 +14762,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -14733,7 +14783,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -14775,7 +14825,7 @@ "estimated_token_count_total": 2430 }, "hash": "sha256:e3d8b84cb2cee7010978582998b2269296a042aec53fb016388690ab6adf355e", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -14796,7 +14846,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -14859,7 +14909,7 @@ "estimated_token_count_total": 1347 }, "hash": "sha256:7589fa1dbdbf5748892ab6d42fc784d833f33e254bd3f95ee58424effcd38323", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -14880,7 +14930,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -14901,7 +14951,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -14944,7 +14994,7 @@ "estimated_token_count_total": 309 }, "hash": "sha256:93e8a3043d65583e3d66f8f5f0ed6f4ef89a908ef85da2b6ca906a1100b7dded", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -14981,7 +15031,7 @@ "estimated_token_count_total": 313 }, "hash": "sha256:c609bc98cba5efa2d2a808548cf93ad9d0a06455b35a8fd9f534daf52824f506", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -15049,7 +15099,7 @@ "estimated_token_count_total": 1818 }, "hash": "sha256:f50cd1177dd4aff8eb031d6f21cb640f8187a7f2dd0edcaef5c73354a378e44d", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -15112,7 +15162,7 @@ "estimated_token_count_total": 1182 }, "hash": "sha256:9542f40acae725e628f4c3155ad1e7e0e18b2eb518484856ad439a1d9f86d1f3", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -15133,7 +15183,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -15186,7 +15236,7 @@ "estimated_token_count_total": 994 }, "hash": "sha256:6992c9a2d1b315b64d9782880105cf2d436750249a84577aceb95cc213863009", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -15243,7 +15293,7 @@ "estimated_token_count_total": 1046 }, "hash": "sha256:dd29fab6e3c00d720b10effa4e50373a6fe9ab4b7bfd3aea892c7fa9c84318a2", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -15440,7 +15490,7 @@ "estimated_token_count_total": 9750 }, "hash": "sha256:1fb7a20bc4a799a771954720428029419ec73afa640e589590c43dd041a7e307", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -15461,7 +15511,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -15519,7 +15569,7 @@ "estimated_token_count_total": 2840 }, "hash": "sha256:224a9f69d4613a5f1afdbc1f05379add8321fe159e32c71db003bbe08ff8e976", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -15540,7 +15590,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -15561,7 +15611,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -15614,7 +15664,7 @@ "estimated_token_count_total": 1627 }, "hash": "sha256:65809486f62f60c6a6ac8109f9f027361683c23f639991a045ec5c057b665026", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -15702,7 +15752,7 @@ "estimated_token_count_total": 4474 }, "hash": "sha256:c74a28d8d62369591c5734535136508db3d1f7380e486fd214f98d433cafd6e7", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -15795,7 +15845,7 @@ "estimated_token_count_total": 3891 }, "hash": "sha256:e27657e4e4a14fe86f424b96631946ec36fb90d277e6010b6cbd64c4769aba8a", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -15868,7 +15918,7 @@ "estimated_token_count_total": 3250 }, "hash": "sha256:bc771f912627fa09cad64adab1bc81c052f650d6c5a3b4f0c91883a98f6628da", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -15941,7 +15991,7 @@ "estimated_token_count_total": 3035 }, "hash": "sha256:f0d36333d0d3afff7f6374a61d0f6d1fb878c9ef4c4e4c24447745661dbe59d0", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -15994,7 +16044,7 @@ "estimated_token_count_total": 2509 }, "hash": "sha256:205892e350168b3d0da7ccc280c67c3217ad1e45e87a53d124fa1dd69661aa5e", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -16067,7 +16117,7 @@ "estimated_token_count_total": 1122 }, "hash": "sha256:ee87115c828928c82937de26f5f938cecd4c3bb1225fdb61627e8092e6ea5951", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -16088,7 +16138,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -16109,7 +16159,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -16176,7 +16226,7 @@ "estimated_token_count_total": 2276 }, "hash": "sha256:4856172c6356357818234a3b7f0828716bd32e6192f3609c51de0cafcc5a75e7", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -16243,7 +16293,7 @@ "estimated_token_count_total": 2249 }, "hash": "sha256:1368f6d49bccb7ba0e642cc58ea2c97ca95ae45e390cb9fa2ab11b0b41de52f4", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -16355,7 +16405,7 @@ "estimated_token_count_total": 4844 }, "hash": "sha256:96acff10be56dea76acdb5c915c1dde0eb15eb12eb95e7871eef56bab6cda273", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -16427,7 +16477,7 @@ "estimated_token_count_total": 2375 }, "hash": "sha256:61bc251929352f2299ca1d413d05aa9c3672b914575a285d73c7ba53dbd75bff", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -16479,7 +16529,7 @@ "estimated_token_count_total": 1461 }, "hash": "sha256:370ed10155cee84889a6d230d0bc3476597448f88a2a271ab87ef893a3268c18", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -16551,7 +16601,7 @@ "estimated_token_count_total": 7755 }, "hash": "sha256:086a87823ab67ceac102358030e316583cd733c0ec326316e7f29061fe7f6934", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -16613,7 +16663,7 @@ "estimated_token_count_total": 2764 }, "hash": "sha256:a2bba0ba575bd7e3f7199282ea5994087acf2c62e828f316e6eb62c9a43449e1", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -16695,7 +16745,7 @@ "estimated_token_count_total": 34492 }, "hash": "sha256:bef820acfe429d4a847a8de82de6c70155ac6b3ad5ebdd574a2157923b45f688", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -16748,7 +16798,7 @@ "estimated_token_count_total": 3099 }, "hash": "sha256:d2f3ab658ab29514ac161b17df23e0e7c1f63a7fa4fefcef451ef80b413ab757", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -16841,7 +16891,7 @@ "estimated_token_count_total": 5338 }, "hash": "sha256:b3530f5fc5c9e916181dbc259a7fbae9c60100cb0450fc6d47bbb0d140afa075", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -16913,7 +16963,7 @@ "estimated_token_count_total": 4358 }, "hash": "sha256:87b19f6e881611329b7015e8d8187d7d85b2b2ef14b01e832c8b8e20897e3b40", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -16970,7 +17020,7 @@ "estimated_token_count_total": 2138 }, "hash": "sha256:ff2c267284959711782c0d6ecb4b439c3a6cc31f763d5e1ff2cc3b1f6efb62b2", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -17022,7 +17072,7 @@ "estimated_token_count_total": 2929 }, "hash": "sha256:df60044893f48dd7f37a11de275a16bf32adb31317ed70a789fd7fac64150e1a", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -17114,7 +17164,7 @@ "estimated_token_count_total": 4789 }, "hash": "sha256:81750202081ff24447f4e129c49230eedb315d1b44c740b677c3495a8f7adb9a", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -17196,7 +17246,7 @@ "estimated_token_count_total": 2452 }, "hash": "sha256:1eb463c6b2732ebed0d16165425cde438688d21cc302f759b40250850c2a5e83", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -17259,7 +17309,7 @@ "estimated_token_count_total": 3255 }, "hash": "sha256:fe94de6f97fb588552f6cbc6b1a4c7399e91f5f31585f61a0dee66f5f50ff8a0", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -17326,7 +17376,7 @@ "estimated_token_count_total": 4242 }, "hash": "sha256:2f11054e0d31c003ebae5d990b559bd56741d190ca409f6ad060216245fa2d17", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -17383,7 +17433,7 @@ "estimated_token_count_total": 2263 }, "hash": "sha256:a6a535f4f5e145d3e2a7518739f752ee3ed37b7745483f414e21c97792331d18", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -17431,7 +17481,7 @@ "estimated_token_count_total": 1571 }, "hash": "sha256:3ad540d8ad636304705cccb08bc1fdf21fe2fc7dc0f99bd509b23ae96d20e0ba", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -17523,7 +17573,7 @@ "estimated_token_count_total": 2140 }, "hash": "sha256:388c988338ed84589c546bb1606d08641fb931dae307d3df92aeccd2e4986080", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-20T08:30:40+00:00", "token_estimator": "heuristic-v1" }, { @@ -17592,7 +17642,7 @@ "estimated_token_count_total": 2702 }, "hash": "sha256:1f8ab387f721d865a7ca75eaa2528f1f2ebd4528a7d65ffeb27c68953100a3cb", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -17661,7 +17711,7 @@ "estimated_token_count_total": 2564 }, "hash": "sha256:97dadddf4c27f469f552875461fc54d331fa151e4656401e15d6d4173115eecf", - "last_modified": "2025-10-20T14:59:16+00:00", + "last_modified": "2025-10-21T14:13:49+00:00", "token_estimator": "heuristic-v1" }, { @@ -17719,7 +17769,7 @@ "estimated_token_count_total": 2670 }, "hash": "sha256:07629376480e74afc7fe4d91df539b6ab22453df0f8143df11cc51ef9a78f736", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -17773,7 +17823,7 @@ "estimated_token_count_total": 2056 }, "hash": "sha256:cf9197d6909dd8865e8838cad95e3692fefaecc3d2f4773b26809a02051d620f", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -17827,7 +17877,7 @@ "estimated_token_count_total": 2220 }, "hash": "sha256:aa6371024bb78c3eeedb6820a37859670046fd0e4f756ad417b20c39fb2983b9", - "last_modified": "2025-10-18T04:12:57+00:00", + "last_modified": "2025-10-17T05:05:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -17880,7 +17930,7 @@ "estimated_token_count_total": 1760 }, "hash": "sha256:9cf70459e921b8b231a3f2e7a7c1d47a4917e45f0c4d0fe873ad4062fd540a9a", - "last_modified": "2025-10-20T14:59:17+00:00", + "last_modified": "2025-10-21T14:13:50+00:00", "token_estimator": "heuristic-v1" }, { @@ -17953,7 +18003,7 @@ "estimated_token_count_total": 5118 }, "hash": "sha256:de7fde61d4cac9c28634ee496dcabe116fe44b1b87408f202103290d78247c05", - "last_modified": "2025-10-20T14:59:21+00:00", + "last_modified": "2025-10-21T14:13:54+00:00", "token_estimator": "heuristic-v1" }, { @@ -18036,7 +18086,7 @@ "estimated_token_count_total": 6206 }, "hash": "sha256:cb8ddb4a61f6a62182420b69382f1c7ab2adc2f4ae643f7f68c6867680afe81f", - "last_modified": "2025-10-20T14:59:26+00:00", + "last_modified": "2025-10-21T14:13:58+00:00", "token_estimator": "heuristic-v1" }, { @@ -18099,7 +18149,7 @@ "estimated_token_count_total": 4135 }, "hash": "sha256:ca1d65d450f086a0eb7b81e9589e9894e04b217fe9709a1b464f09beb3ca9dc2", - "last_modified": "2025-10-20T14:59:29+00:00", + "last_modified": "2025-10-21T14:14:00+00:00", "token_estimator": "heuristic-v1" } ] \ No newline at end of file diff --git a/llms-full.jsonl b/llms-full.jsonl index 593b19635..9e7cae4b7 100644 --- a/llms-full.jsonl +++ b/llms-full.jsonl @@ -973,10 +973,20 @@ {"page_id": "parachains-customize-runtime-add-pallet-instances", "page_title": "Add Multiple Pallet Instances", "index": 4, "depth": 3, "title": "Configure the Pallet Instances", "anchor": "configure-the-pallet-instances", "start_char": 2271, "end_char": 4971, "estimated_token_count": 457, "token_estimator": "heuristic-v1", "text": "### Configure the Pallet Instances\n\nFor a single instance, the configuration would look like this:\n\n```rust hl_lines=\"1\"\nimpl pallet_collective::Config for Runtime {\n type RuntimeOrigin = RuntimeOrigin;\n type Proposal = RuntimeCall;\n type RuntimeEvent = RuntimeEvent;\n type MotionDuration = MotionDuration;\n type MaxProposals = MaxProposals;\n type MaxMembers = MaxMembers;\n type DefaultVote = pallet_collective::MoreThanMajorityThenPrimeDefaultVote;\n type SetMembersOrigin = EnsureRoot;\n type WeightInfo = pallet_collective::weights::SubstrateWeight;\n type MaxProposalWeight = MaxProposalWeight;\n type DisapproveOrigin = EnsureRoot;\n type KillOrigin = EnsureRoot;\n type Consideration = ();\n}\n```\n\nFor multiple instances, you need to create a unique identifier for each instance using the `Instance` type with a number suffix, then implement the configuration for each one:\n\n```rust hl_lines=\"2-3\"\n// Configure first instance\ntype Collective1 = pallet_collective::Instance1;\nimpl pallet_collective::Config for Runtime {\n type RuntimeOrigin = RuntimeOrigin;\n type Proposal = RuntimeCall;\n type RuntimeEvent = RuntimeEvent;\n type MotionDuration = MotionDuration;\n type MaxProposals = MaxProposals;\n type MaxMembers = MaxMembers;\n type DefaultVote = pallet_collective::MoreThanMajorityThenPrimeDefaultVote;\n type SetMembersOrigin = EnsureRoot;\n type WeightInfo = pallet_collective::weights::SubstrateWeight;\n type MaxProposalWeight = MaxProposalWeight;\n type DisapproveOrigin = EnsureRoot;\n type KillOrigin = EnsureRoot;\n type Consideration = ();\n}\n```\n```rust hl_lines=\"2-3\"\n// Configure second instance\ntype Collective2 = pallet_collective::Instance2;\nimpl pallet_collective::Config for Runtime {\n type RuntimeOrigin = RuntimeOrigin;\n type Proposal = RuntimeCall;\n type RuntimeEvent = RuntimeEvent;\n type MotionDuration = MotionDuration;\n type MaxProposals = MaxProposals;\n type MaxMembers = MaxMembers;\n type DefaultVote = pallet_collective::MoreThanMajorityThenPrimeDefaultVote;\n type SetMembersOrigin = EnsureRoot;\n type WeightInfo = pallet_collective::weights::SubstrateWeight;\n type MaxProposalWeight = MaxProposalWeight;\n type DisapproveOrigin = EnsureRoot;\n type KillOrigin = EnsureRoot;\n type Consideration = ();\n}\n```\n\nWhile the example above uses identical configurations for both instances, you can customize each instance's parameters to serve different purposes within your runtime."} {"page_id": "parachains-customize-runtime-add-pallet-instances", "page_title": "Add Multiple Pallet Instances", "index": 5, "depth": 3, "title": "Add Pallet Instances to the Runtime", "anchor": "add-pallet-instances-to-the-runtime", "start_char": 4971, "end_char": 5508, "estimated_token_count": 120, "token_estimator": "heuristic-v1", "text": "### Add Pallet Instances to the Runtime\n\nFinally, add both pallet instances to your runtime definition, ensuring each has:\n\n- A unique pallet index\n- The correct instance type specified\n\n```rust hl_lines=\"6-10\"\n#[frame_support::runtime]\nmod runtime {\n #[runtime::runtime]\n // ... other runtime configuration\n\n #[runtime::pallet_index(16)]\n pub type Collective1 = pallet_collective;\n \n #[runtime::pallet_index(17)]\n pub type Collective2 = pallet_collective;\n \n // ... other pallets\n}\n```"} {"page_id": "parachains-customize-runtime-add-pallet-instances", "page_title": "Add Multiple Pallet Instances", "index": 6, "depth": 2, "title": "Where to Go Next", "anchor": "where-to-go-next", "start_char": 5508, "end_char": 6300, "estimated_token_count": 172, "token_estimator": "heuristic-v1", "text": "## Where to Go Next\n\nIf you've followed all the steps correctly, you should now be able to compile your runtime and interact with both instances of the pallet. Each instance will operate independently with its own storage, events, and configured parameters.\n\nNow that you've mastered implementing multiple pallet instances, the next step is creating your own custom pallets. Explore the following resources:\n\n
\n\n- Guide __Make a Custom Pallet__\n\n ---\n\n Learn how to create custom pallets using FRAME, allowing for flexible, modular, and scalable blockchain development. Follow the step-by-step guide.\n\n [:octicons-arrow-right-24: Reference](/parachains/customize-runtime/pallet-development/create-a-pallet/)\n\n
"} -{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 0, "depth": 2, "title": "Introduction", "anchor": "introduction", "start_char": 36, "end_char": 704, "estimated_token_count": 118, "token_estimator": "heuristic-v1", "text": "## Introduction\n\nWhen building your custom blockchain with the Polkadot SDK, you have the flexibility to add smart contract capabilities through specialized pallets. These pallets allow blockchain users to deploy and execute smart contracts, enhancing your chain's functionality and programmability.\n\nPolkadot SDK-based blockchains support two distinct smart contract execution environments: [EVM (Ethereum Virtual Machine)](#evm-smart-contracts) and [Wasm (WebAssembly)](#wasm-smart-contracts). Each environment allows developers to deploy and execute different types of smart contracts, providing flexibility in choosing the most suitable solution for their needs."} -{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 1, "depth": 2, "title": "EVM Smart Contracts", "anchor": "evm-smart-contracts", "start_char": 704, "end_char": 1957, "estimated_token_count": 327, "token_estimator": "heuristic-v1", "text": "## EVM Smart Contracts\n\nTo enable Ethereum-compatible smart contracts in your blockchain, you'll need to integrate [Frontier](https://github.com/polkadot-evm/frontier){target=\\_blank}, the Ethereum compatibility layer for Polkadot SDK-based chains. This requires adding two essential pallets to your runtime:\n\n- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\\_blank}**: Provides the EVM execution environment.\n- **[`pallet-ethereum`](https://github.com/polkadot-evm/frontier/tree/master/frame/ethereum){target=\\_blank}**: Handles Ethereum-formatted transactions and RPC capabilities.\n\nFor step-by-step guidance on adding these pallets to your runtime, refer to [Add a Pallet to the Runtime](/parachains/customize-runtime/add-existing-pallets/){target=\\_blank}.\n\nFor a real-world example of how these pallets are implemented in production, you can check Moonbeam's implementation of [`pallet-evm`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L532){target=\\_blank} and [`pallet-ethereum`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L698){target=\\_blank}."} -{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 2, "depth": 2, "title": "Wasm Smart Contracts", "anchor": "wasm-smart-contracts", "start_char": 1957, "end_char": 2772, "estimated_token_count": 197, "token_estimator": "heuristic-v1", "text": "## Wasm Smart Contracts\n\nTo support Wasm-based smart contracts, you'll need to integrate:\n\n- **[`pallet-contracts`](https://docs.rs/pallet-contracts/latest/pallet_contracts/index.html#contracts-pallet){target=\\_blank}**: Provides the Wasm smart contract execution environment.\n\nThis pallet enables the deployment and execution of Wasm-based smart contracts on your blockchain. For detailed instructions on adding this pallet to your runtime, see [Add a Pallet to the Runtime](/parachains/customize-runtime/add-existing-pallets/){target=\\_blank}.\n\nFor a real-world example of how this pallet is implemented in production, you can check Astar's implementation of [`pallet-contracts`](https://github.com/AstarNetwork/Astar/blob/b6f7a408d31377130c3713ed52941a06b5436402/runtime/astar/src/lib.rs#L693){target=\\_blank}."} -{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 3, "depth": 2, "title": "Where to Go Next", "anchor": "where-to-go-next", "start_char": 2772, "end_char": 3865, "estimated_token_count": 259, "token_estimator": "heuristic-v1", "text": "## Where to Go Next\n\nNow that you understand how to enable smart contract functionality in your blockchain, you might want to:\n\n
\n\n- Guide __Get Started with Smart Contracts__\n\n ---\n\n Learn how developers can build smart contracts on Polkadot by leveraging the PolkaVM, Wasm/ink! or EVM contracts across many parachains.\n\n [:octicons-arrow-right-24: Reference](/smart-contracts/get-started/)\n\n- Guide __Wasm (ink!) Contracts__\n\n ---\n\n Learn to build Wasm smart contracts with ink!, a Rust-based eDSL. Explore installation, contract structure, and key features.\n\n [:octicons-arrow-right-24: Reference](/smart-contracts/overview/#wasm-ink)\n \n- Guide __EVM Contracts__\n\n ---\n\n Learn how Polkadot parachains such as Moonbeam, Astar, Acala, and Manta leverage the Ethereum Virtual Machine (EVM) and integrate it into their parachains.\n\n [:octicons-arrow-right-24: Reference](/smart-contracts/overview/#parachain-contracts)\n\n
"} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 0, "depth": 2, "title": "Introduction", "anchor": "introduction", "start_char": 36, "end_char": 723, "estimated_token_count": 135, "token_estimator": "heuristic-v1", "text": "## Introduction\n\nWhen building your custom blockchain with the Polkadot SDK, you can add smart contract capabilities through specialized pallets. These pallets enable users to deploy and execute smart contracts, enhancing your chain's programmability and allowing developers to build decentralized applications on your network.\n\nThis guide covers three approaches to adding smart contracts to your blockchain:\n\n- **[pallet-revive](#pallet-revive)** - Modern unified solution supporting both PolkaVM and EVM bytecode\n- **[Frontier](#frontier)** - Ethereum compatibility layer for Polkadot SDK-based chains\n- **[pallet-contracts](#pallet-contracts-legacy)** - Wasm smart contract support"} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 1, "depth": 2, "title": "pallet-revive", "anchor": "pallet-revive", "start_char": 723, "end_char": 1045, "estimated_token_count": 74, "token_estimator": "heuristic-v1", "text": "## pallet-revive\n\n[`pallet-revive`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/revive){target=\\_blank} is the modern smart contract solution for Polkadot SDK-based chains. It provides a unified execution environment that supports both PolkaVM and EVM bytecode through dual execution backends."} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 2, "depth": 3, "title": "Core Components", "anchor": "core-components", "start_char": 1045, "end_char": 1491, "estimated_token_count": 127, "token_estimator": "heuristic-v1", "text": "### Core Components\n\n**Essential Pallet:**\n- **[`pallet-revive`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/revive){target=\\_blank}** - Provides the core smart contract execution environment with PolkaVM and REVM backends\n\n**Optional RPC Adapter:**\n- **[`pallet-revive-eth-rpc`](https://crates.io/crates/pallet-revive-eth-rpc){target=\\_blank}** - Adds full Ethereum RPC compatibility for Ethereum tooling integration"} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 3, "depth": 3, "title": "Supported Languages and Compilers", "anchor": "supported-languages-and-compilers", "start_char": 1491, "end_char": 2071, "estimated_token_count": 183, "token_estimator": "heuristic-v1", "text": "### Supported Languages and Compilers\n\npallet-revive accepts smart contracts from multiple languages and compilation paths:\n\n| Language | Compiler | Output Bytecode | Execution Backend | Performance |\n|----------|----------|-----------------|-------------------|-------------|\n| Solidity | `resolc` | PolkaVM | PolkaVM | Optimal |\n| Solidity | `solc` | EVM | REVM | Compatible |\n| Rust (ink!) | `cargo-contract` | PolkaVM | PolkaVM | Optimal |\n\nAny language that can compile to PolkaVM bytecode and utilize pallet-revive's host functions (via `pallet-revive-uapi`) is supported."} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 4, "depth": 3, "title": "How It Works", "anchor": "how-it-works", "start_char": 2071, "end_char": 2381, "estimated_token_count": 61, "token_estimator": "heuristic-v1", "text": "### How It Works\n\n**Dual Execution Model:**\n\n1. **PolkaVM Backend**: Executes PolkaVM bytecode with native performance optimization, precise gas metering, and enhanced security features\n2. **REVM Backend**: Executes EVM bytecode for compatibility with existing Ethereum contracts, ensuring seamless migration"} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 5, "depth": 3, "title": "Key Benefits", "anchor": "key-benefits", "start_char": 2381, "end_char": 2849, "estimated_token_count": 91, "token_estimator": "heuristic-v1", "text": "### Key Benefits\n\n- **Unified Platform**: Deploy both PolkaVM-optimized and EVM-compatible contracts using a single pallet\n- **Performance**: PolkaVM execution provides superior performance compared to traditional EVM\n- **Security**: Enhanced security model including reduced re-entrancy attack surface\n- **Precise Metering**: Accurate gas metering for fair resource allocation\n- **Ethereum Compatibility**: Optional RPC adapter enables full Ethereum tooling support"} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 6, "depth": 3, "title": "Implementation Examples", "anchor": "implementation-examples", "start_char": 2849, "end_char": 3166, "estimated_token_count": 74, "token_estimator": "heuristic-v1", "text": "### Implementation Examples\n\nSee real-world implementation in the [Asset Hub system parachain runtime](https://github.com/polkadot-fellows/runtimes/blob/8914a1c70ce2a821f1d4646feaab462204e01b26/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs#L1180-L1209){target=\\_blank} in the Polkadot Fellows repository."} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 7, "depth": 2, "title": "Frontier", "anchor": "frontier", "start_char": 3166, "end_char": 3463, "estimated_token_count": 62, "token_estimator": "heuristic-v1", "text": "## Frontier\n\n[Frontier](https://github.com/polkadot-evm/frontier){target=\\_blank} is the Ethereum compatibility layer designed for maximum compatibility with the Ethereum ecosystem. It's the ideal choice when you need seamless integration with existing Ethereum tools, dapps, and infrastructure."} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 8, "depth": 3, "title": "Integration Options", "anchor": "integration-options", "start_char": 3463, "end_char": 4459, "estimated_token_count": 257, "token_estimator": "heuristic-v1", "text": "### Integration Options\n\nFrontier offers flexible integration depending on your compatibility needs:\n\n#### EVM Execution Only\n\nFor basic EVM support using Polkadot SDK native APIs:\n\n- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\\_blank}** - Provides the core EVM execution environment\n\nThis configuration allows EVM contract execution but requires using Polkadot SDK-specific APIs for interaction.\n\n#### Full Ethereum Compatibility\n\nFor complete Ethereum ecosystem integration with Ethereum RPC support:\n\n- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\\_blank}** - Core EVM execution environment\n- **[`pallet-ethereum`](https://github.com/polkadot-evm/frontier/tree/master/frame/ethereum){target=\\_blank}** - Emulates Ethereum blocks and handles Ethereum-formatted transactions\n- **[`fc-rpc`](https://github.com/polkadot-evm/frontier/tree/master/rpc){target=\\_blank}** - Provides Ethereum JSON-RPC endpoints"} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 9, "depth": 3, "title": "Key Benefits of Full Integration", "anchor": "key-benefits-of-full-integration", "start_char": 4459, "end_char": 4920, "estimated_token_count": 91, "token_estimator": "heuristic-v1", "text": "### Key Benefits of Full Integration\n\n- **Ethereum tooling compatibility**: Full compatibility with MetaMask, Hardhat, Remix, Truffle, and other Ethereum development tools\n- **Zero-friction migration**: Deploy existing Ethereum dapps with minimal or no modifications\n- **Native Ethereum formats**: Support for Ethereum transaction formats, signatures, and gas mechanics\n- **Block emulation**: Ethereum-style block structure within Substrate's block production"} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 10, "depth": 3, "title": "Implementation Examples", "anchor": "implementation-examples-2", "start_char": 4920, "end_char": 5386, "estimated_token_count": 113, "token_estimator": "heuristic-v1", "text": "### Implementation Examples\n\nProduction implementations demonstrate Frontier's capabilities:\n\n- **Moonbeam**: See their implementation of [`pallet-evm`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L532){target=\\_blank} and [`pallet-ethereum`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L698){target=\\_blank}"} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 11, "depth": 2, "title": "pallet-contracts (Legacy)", "anchor": "pallet-contracts-legacy", "start_char": 5386, "end_char": 5715, "estimated_token_count": 79, "token_estimator": "heuristic-v1", "text": "## pallet-contracts (Legacy)\n\n[`pallet-contracts`](https://docs.rs/pallet-contracts/latest/pallet_contracts/index.html#contracts-pallet){target=\\_blank} is the original Wasm-based smart contract pallet for Polkadot SDK chains. While still functional, it's considered legacy as development efforts have shifted to pallet-revive."} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 12, "depth": 3, "title": "Implementation Example", "anchor": "implementation-example", "start_char": 5715, "end_char": 5968, "estimated_token_count": 59, "token_estimator": "heuristic-v1", "text": "### Implementation Example\n\nFor reference, Astar's implementation of [`pallet-contracts`](https://github.com/AstarNetwork/Astar/blob/b6f7a408d31377130c3713ed52941a06b5436402/runtime/astar/src/lib.rs#L693){target=\\_blank} demonstrates production usage."} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 13, "depth": 2, "title": "Where to Go Next", "anchor": "where-to-go-next", "start_char": 5968, "end_char": 6319, "estimated_token_count": 92, "token_estimator": "heuristic-v1", "text": "## Where to Go Next\n\n
\n\n- Guide __Add a Pallet to the Runtime__\n\n ---\n\n Learn the step-by-step process for integrating Polkadot SDK pallets into your blockchain's runtime.\n\n [:octicons-arrow-right-24: Get Started](/parachains/customize-runtime/add-existing-pallets/)\n\n
"} {"page_id": "parachains-customize-runtime-pallet-development-add-pallet-to-runtime", "page_title": "Add Pallets to the Runtime", "index": 0, "depth": 2, "title": "Introduction", "anchor": "introduction", "start_char": 30, "end_char": 866, "estimated_token_count": 192, "token_estimator": "heuristic-v1", "text": "## Introduction\n\nIn previous tutorials, you learned how to [create a custom pallet](/tutorials/polkadot-sdk/parachains/zero-to-hero/build-custom-pallet/){target=\\_blank} and [test it](/tutorials/polkadot-sdk/parachains/zero-to-hero/pallet-unit-testing/){target=\\_blank}. The next step is to include this pallet in your runtime, integrating it into the core logic of your blockchain.\n\nThis tutorial will guide you through adding two pallets to your runtime: the custom pallet you previously developed and the [utility pallet](https://paritytech.github.io/polkadot-sdk/master/pallet_utility/index.html){target=\\_blank}. This standard Polkadot SDK pallet provides powerful dispatch functionality. The utility pallet offers, for example, batch dispatch, a stateless operation that enables executing multiple calls in a single transaction."} {"page_id": "parachains-customize-runtime-pallet-development-add-pallet-to-runtime", "page_title": "Add Pallets to the Runtime", "index": 1, "depth": 2, "title": "Add the Pallets as Dependencies", "anchor": "add-the-pallets-as-dependencies", "start_char": 866, "end_char": 8510, "estimated_token_count": 1856, "token_estimator": "heuristic-v1", "text": "## Add the Pallets as Dependencies\n\nFirst, you'll update the runtime's `Cargo.toml` file to include the Utility pallet and your custom pallets as dependencies for the runtime. Follow these steps:\n\n1. Open the `runtime/Cargo.toml` file and locate the `[dependencies]` section. Add pallet-utility as one of the features for the `polkadot-sdk` dependency with the following line:\n\n ```toml hl_lines=\"4\" title=\"runtime/Cargo.toml\"\n [dependencies]\n ...\n polkadot-sdk = { workspace = true, features = [\n \"pallet-utility\",\n ...\n ], default-features = false }\n ```\n\n2. In the same `[dependencies]` section, add the custom pallet that you built from scratch with the following line:\n\n ```toml hl_lines=\"3\" title=\"Cargo.toml\"\n [dependencies]\n ...\n custom-pallet = { path = \"../pallets/custom-pallet\", default-features = false }\n ```\n\n3. In the `[features]` section, add the custom pallet to the `std` feature list:\n\n ```toml hl_lines=\"5\" title=\"Cargo.toml\"\n [features]\n default = [\"std\"]\n std = [\n ...\n \"custom-pallet/std\",\n ...\n ]\n ```\n\n3. Save the changes and close the `Cargo.toml` file.\n\n Once you have saved your file, it should look like the following:\n\n ???- code \"runtime/Cargo.toml\"\n \n ```rust title=\"runtime/Cargo.toml\"\n [package]\n name = \"parachain-template-runtime\"\n description = \"A parachain runtime template built with Substrate and Cumulus, part of Polkadot Sdk.\"\n version = \"0.1.0\"\n license = \"Unlicense\"\n authors.workspace = true\n homepage.workspace = true\n repository.workspace = true\n edition.workspace = true\n publish = false\n\n [package.metadata.docs.rs]\n targets = [\"x86_64-unknown-linux-gnu\"]\n\n [build-dependencies]\n docify = { workspace = true }\n substrate-wasm-builder = { optional = true, workspace = true, default-features = true }\n\n [dependencies]\n codec = { features = [\"derive\"], workspace = true }\n cumulus-pallet-parachain-system.workspace = true\n docify = { workspace = true }\n hex-literal = { optional = true, workspace = true, default-features = true }\n log = { workspace = true }\n pallet-parachain-template = { path = \"../pallets/template\", default-features = false }\n polkadot-sdk = { workspace = true, features = [\n \"pallet-utility\",\n \"cumulus-pallet-aura-ext\",\n \"cumulus-pallet-session-benchmarking\",\n \"cumulus-pallet-weight-reclaim\",\n \"cumulus-pallet-xcm\",\n \"cumulus-pallet-xcmp-queue\",\n \"cumulus-primitives-aura\",\n \"cumulus-primitives-core\",\n \"cumulus-primitives-utility\",\n \"pallet-aura\",\n \"pallet-authorship\",\n \"pallet-balances\",\n \"pallet-collator-selection\",\n \"pallet-message-queue\",\n \"pallet-session\",\n \"pallet-sudo\",\n \"pallet-timestamp\",\n \"pallet-transaction-payment\",\n \"pallet-transaction-payment-rpc-runtime-api\",\n \"pallet-xcm\",\n \"parachains-common\",\n \"polkadot-parachain-primitives\",\n \"polkadot-runtime-common\",\n \"runtime\",\n \"staging-parachain-info\",\n \"staging-xcm\",\n \"staging-xcm-builder\",\n \"staging-xcm-executor\",\n ], default-features = false }\n scale-info = { features = [\"derive\"], workspace = true }\n serde_json = { workspace = true, default-features = false, features = [\n \"alloc\",\n ] }\n smallvec = { workspace = true, default-features = true }\n\n custom-pallet = { path = \"../pallets/custom-pallet\", default-features = false }\n\n [features]\n default = [\"std\"]\n std = [\n \"codec/std\",\n \"cumulus-pallet-parachain-system/std\",\n \"log/std\",\n \"pallet-parachain-template/std\",\n \"polkadot-sdk/std\",\n \"scale-info/std\",\n \"serde_json/std\",\n \"substrate-wasm-builder\",\n \"custom-pallet/std\",\n ]\n\n runtime-benchmarks = [\n \"cumulus-pallet-parachain-system/runtime-benchmarks\",\n \"hex-literal\",\n \"pallet-parachain-template/runtime-benchmarks\",\n \"polkadot-sdk/runtime-benchmarks\",\n ]\n\n try-runtime = [\n \"cumulus-pallet-parachain-system/try-runtime\",\n \"pallet-parachain-template/try-runtime\",\n \"polkadot-sdk/try-runtime\",\n ]\n\n # Enable the metadata hash generation.\n #\n # This is hidden behind a feature because it increases the compile time.\n # The wasm binary needs to be compiled twice, once to fetch the metadata,\n # generate the metadata hash and then a second time with the\n # `RUNTIME_METADATA_HASH` environment variable set for the `CheckMetadataHash`\n # extension.\n metadata-hash = [\"substrate-wasm-builder/metadata-hash\"]\n\n # A convenience feature for enabling things when doing a build\n # for an on-chain release.\n on-chain-release-build = [\"metadata-hash\"]\n\n ```\n\nUpdate your root parachain template's `Cargo.toml` file to include your custom pallet as a dependency. Follow these steps:\n\n1. Open the `./Cargo.toml` file and locate the `[workspace]` section. \n \n Make sure the `custom-pallet` is a member of the workspace:\n\n ```toml hl_lines=\"4\" title=\"Cargo.toml\"\n [workspace]\n default-members = [\"pallets/template\", \"runtime\"]\n members = [\n \"node\", \"pallets/custom-pallet\",\n \"pallets/template\",\n \"runtime\",\n ]\n ```\n\n???- code \"./Cargo.toml\"\n\n ```rust title=\"./Cargo.toml\"\n [workspace.package]\n license = \"MIT-0\"\n authors = [\"Parity Technologies \"]\n homepage = \"https://paritytech.github.io/polkadot-sdk/\"\n repository = \"https://github.com/paritytech/polkadot-sdk-parachain-template.git\"\n edition = \"2021\"\n\n [workspace]\n default-members = [\"pallets/template\", \"runtime\"]\n members = [\n \"node\", \"pallets/custom-pallet\",\n \"pallets/template\",\n \"runtime\",\n ]\n resolver = \"2\"\n\n [workspace.dependencies]\n parachain-template-runtime = { path = \"./runtime\", default-features = false }\n pallet-parachain-template = { path = \"./pallets/template\", default-features = false }\n clap = { version = \"4.5.13\" }\n color-print = { version = \"0.3.4\" }\n docify = { version = \"0.2.9\" }\n futures = { version = \"0.3.31\" }\n jsonrpsee = { version = \"0.24.3\" }\n log = { version = \"0.4.22\", default-features = false }\n polkadot-sdk = { version = \"2503.0.1\", default-features = false }\n prometheus-endpoint = { version = \"0.17.2\", default-features = false, package = \"substrate-prometheus-endpoint\" }\n serde = { version = \"1.0.214\", default-features = false }\n codec = { version = \"3.7.4\", default-features = false, package = \"parity-scale-codec\" }\n cumulus-pallet-parachain-system = { version = \"0.20.0\", default-features = false }\n hex-literal = { version = \"0.4.1\", default-features = false }\n scale-info = { version = \"2.11.6\", default-features = false }\n serde_json = { version = \"1.0.132\", default-features = false }\n smallvec = { version = \"1.11.0\", default-features = false }\n substrate-wasm-builder = { version = \"26.0.1\", default-features = false }\n frame = { version = \"0.9.1\", default-features = false, package = \"polkadot-sdk-frame\" }\n\n [profile.release]\n opt-level = 3\n panic = \"unwind\"\n\n [profile.production]\n codegen-units = 1\n inherits = \"release\"\n lto = true\n ```"} {"page_id": "parachains-customize-runtime-pallet-development-add-pallet-to-runtime", "page_title": "Add Pallets to the Runtime", "index": 2, "depth": 3, "title": "Update the Runtime Configuration", "anchor": "update-the-runtime-configuration", "start_char": 8510, "end_char": 10415, "estimated_token_count": 406, "token_estimator": "heuristic-v1", "text": "### Update the Runtime Configuration\n\nConfigure the pallets by implementing their `Config` trait and update the runtime macro to include the new pallets:\n\n1. Add the `OriginCaller` import:\n\n ```rust title=\"mod.rs\" hl_lines=\"8\"\n // Local module imports\n use super::OriginCaller;\n ...\n ```\n\n2. Implement the [`Config`](https://paritytech.github.io/polkadot-sdk/master/pallet_utility/pallet/trait.Config.html){target=\\_blank} trait for both pallets at the end of the `runtime/src/config/mod.rs` file:\n\n ```rust title=\"mod.rs\" hl_lines=\"8-25\"\n ...\n /// Configure the pallet template in pallets/template.\n impl pallet_parachain_template::Config for Runtime {\n type RuntimeEvent = RuntimeEvent;\n type WeightInfo = pallet_parachain_template::weights::SubstrateWeight;\n }\n\n // Configure utility pallet.\n impl pallet_utility::Config for Runtime {\n type RuntimeEvent = RuntimeEvent;\n type RuntimeCall = RuntimeCall;\n type PalletsOrigin = OriginCaller;\n type WeightInfo = pallet_utility::weights::SubstrateWeight;\n }\n // Define counter max value runtime constant.\n parameter_types! {\n pub const CounterMaxValue: u32 = 500;\n }\n\n // Configure custom pallet.\n impl custom_pallet::Config for Runtime {\n type RuntimeEvent = RuntimeEvent;\n type CounterMaxValue = CounterMaxValue;\n }\n ```\n\n3. Locate the `#[frame_support::runtime]` macro in the `runtime/src/lib.rs` file and add the pallets:\n\n ```rust hl_lines=\"9-14\" title=\"lib.rs\"\n #[frame_support::runtime]\n mod runtime {\n #[runtime::runtime]\n #[runtime::derive(\n ...\n )]\n pub struct Runtime;\n #[runtime::pallet_index(51)]\n pub type Utility = pallet_utility;\n\n #[runtime::pallet_index(52)]\n pub type CustomPallet = custom_pallet;\n }\n ```"} diff --git a/llms.txt b/llms.txt index 03e15c66a..2360e54a9 100644 --- a/llms.txt +++ b/llms.txt @@ -143,7 +143,7 @@ Docs: Parachains - [Write Tests](https://raw.githubusercontent.com/polkadot-developers/polkadot-docs/master/.ai/pages/develop-toolkit-parachains-spawn-chains-zombienet-write-tests.md): Write and execute tests for blockchain networks with Zombienet's DSL. Learn to evaluate metrics, logs, events, and more for robust validation. - [Add a Pallet to the Runtime](https://raw.githubusercontent.com/polkadot-developers/polkadot-docs/master/.ai/pages/parachains-customize-runtime-add-existing-pallets.md): Learn how to include and configure pallets in a Polkadot SDK-based runtime, from adding dependencies to implementing necessary traits. - [Add Multiple Pallet Instances](https://raw.githubusercontent.com/polkadot-developers/polkadot-docs/master/.ai/pages/parachains-customize-runtime-add-pallet-instances.md): Learn how to implement multiple instances of the same pallet in your Polkadot SDK-based runtime to create and interact with modular blockchain components. -- [Add Smart Contract Functionality](https://raw.githubusercontent.com/polkadot-developers/polkadot-docs/master/.ai/pages/parachains-customize-runtime-add-smart-contract-functionality.md): Add smart contract capabilities to your Polkadot SDK-based blockchain. Explore EVM and Wasm integration for enhanced chain functionality. +- [Add Smart Contract Functionality](https://raw.githubusercontent.com/polkadot-developers/polkadot-docs/master/.ai/pages/parachains-customize-runtime-add-smart-contract-functionality.md): Add smart contract capabilities to your Polkadot SDK-based blockchain. Explore PVM, EVM, and Wasm integration for enhanced chain functionality. - [Add Pallets to the Runtime](https://raw.githubusercontent.com/polkadot-developers/polkadot-docs/master/.ai/pages/parachains-customize-runtime-pallet-development-add-pallet-to-runtime.md): Add pallets to your runtime for custom functionality. Learn to configure and integrate pallets in Polkadot SDK-based blockchains. - [Benchmarking FRAME Pallets](https://raw.githubusercontent.com/polkadot-developers/polkadot-docs/master/.ai/pages/parachains-customize-runtime-pallet-development-benchmark-pallet.md): Learn how to use FRAME's benchmarking framework to measure extrinsic execution costs and provide accurate weights for on-chain computations. - [Make a Custom Pallet](https://raw.githubusercontent.com/polkadot-developers/polkadot-docs/master/.ai/pages/parachains-customize-runtime-pallet-development-create-a-pallet.md): Learn how to create custom pallets using FRAME, allowing for flexible, modular, and scalable blockchain development. Follow the step-by-step guide. diff --git a/parachains/customize-runtime/add-smart-contract-functionality.md b/parachains/customize-runtime/add-smart-contract-functionality.md index 572a2fe33..6f1ed9e8a 100644 --- a/parachains/customize-runtime/add-smart-contract-functionality.md +++ b/parachains/customize-runtime/add-smart-contract-functionality.md @@ -1,6 +1,6 @@ --- title: Add Smart Contract Functionality -description: Add smart contract capabilities to your Polkadot SDK-based blockchain. Explore EVM and Wasm integration for enhanced chain functionality. +description: Add smart contract capabilities to your Polkadot SDK-based blockchain. Explore PVM, EVM, and Wasm integration for enhanced chain functionality. categories: Parachains --- @@ -8,59 +8,112 @@ categories: Parachains ## Introduction -When building your custom blockchain with the Polkadot SDK, you have the flexibility to add smart contract capabilities through specialized pallets. These pallets allow blockchain users to deploy and execute smart contracts, enhancing your chain's functionality and programmability. +When building your custom blockchain with the Polkadot SDK, you can add smart contract capabilities through specialized pallets. These pallets enable users to deploy and execute smart contracts, enhancing your chain's programmability and allowing developers to build decentralized applications on your network. -Polkadot SDK-based blockchains support two distinct smart contract execution environments: [EVM (Ethereum Virtual Machine)](#evm-smart-contracts) and [Wasm (WebAssembly)](#wasm-smart-contracts). Each environment allows developers to deploy and execute different types of smart contracts, providing flexibility in choosing the most suitable solution for their needs. +This guide covers three approaches to adding smart contracts to your blockchain: -## EVM Smart Contracts +- **[pallet-revive](#pallet-revive)** - Modern unified solution supporting both PolkaVM and EVM bytecode +- **[Frontier](#frontier)** - Ethereum compatibility layer for Polkadot SDK-based chains +- **[pallet-contracts](#pallet-contracts-legacy)** - Wasm smart contract support -To enable Ethereum-compatible smart contracts in your blockchain, you'll need to integrate [Frontier](https://github.com/polkadot-evm/frontier){target=\_blank}, the Ethereum compatibility layer for Polkadot SDK-based chains. This requires adding two essential pallets to your runtime: +## pallet-revive -- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}**: Provides the EVM execution environment. -- **[`pallet-ethereum`](https://github.com/polkadot-evm/frontier/tree/master/frame/ethereum){target=\_blank}**: Handles Ethereum-formatted transactions and RPC capabilities. +[`pallet-revive`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/revive){target=\_blank} is the modern smart contract solution for Polkadot SDK-based chains. It provides a unified execution environment that supports both PolkaVM and EVM bytecode through dual execution backends. -For step-by-step guidance on adding these pallets to your runtime, refer to [Add a Pallet to the Runtime](/parachains/customize-runtime/add-existing-pallets/){target=\_blank}. +### Core Components -For a real-world example of how these pallets are implemented in production, you can check Moonbeam's implementation of [`pallet-evm`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L532){target=\_blank} and [`pallet-ethereum`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L698){target=\_blank}. +**Essential Pallet:** +- **[`pallet-revive`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/revive){target=\_blank}** - Provides the core smart contract execution environment with PolkaVM and REVM backends -## Wasm Smart Contracts +**Optional RPC Adapter:** +- **[`pallet-revive-eth-rpc`](https://crates.io/crates/pallet-revive-eth-rpc){target=\_blank}** - Adds full Ethereum RPC compatibility for Ethereum tooling integration -To support Wasm-based smart contracts, you'll need to integrate: +### Supported Languages and Compilers -- **[`pallet-contracts`](https://docs.rs/pallet-contracts/latest/pallet_contracts/index.html#contracts-pallet){target=\_blank}**: Provides the Wasm smart contract execution environment. +pallet-revive accepts smart contracts from multiple languages and compilation paths: -This pallet enables the deployment and execution of Wasm-based smart contracts on your blockchain. For detailed instructions on adding this pallet to your runtime, see [Add a Pallet to the Runtime](/parachains/customize-runtime/add-existing-pallets/){target=\_blank}. +| Language | Compiler | Output Bytecode | Execution Backend | Performance | +|----------|----------|-----------------|-------------------|-------------| +| Solidity | `resolc` | PolkaVM | PolkaVM | Optimal | +| Solidity | `solc` | EVM | REVM | Compatible | +| Rust (ink!) | `cargo-contract` | PolkaVM | PolkaVM | Optimal | -For a real-world example of how this pallet is implemented in production, you can check Astar's implementation of [`pallet-contracts`](https://github.com/AstarNetwork/Astar/blob/b6f7a408d31377130c3713ed52941a06b5436402/runtime/astar/src/lib.rs#L693){target=\_blank}. +Any language that can compile to PolkaVM bytecode and utilize pallet-revive's host functions (via `pallet-revive-uapi`) is supported. -## Where to Go Next +### How It Works -Now that you understand how to enable smart contract functionality in your blockchain, you might want to: +**Dual Execution Model:** -
+1. **PolkaVM Backend**: Executes PolkaVM bytecode with native performance optimization, precise gas metering, and enhanced security features +2. **REVM Backend**: Executes EVM bytecode for compatibility with existing Ethereum contracts, ensuring seamless migration -- Guide __Get Started with Smart Contracts__ +### Key Benefits - --- +- **Unified Platform**: Deploy both PolkaVM-optimized and EVM-compatible contracts using a single pallet +- **Performance**: PolkaVM execution provides superior performance compared to traditional EVM +- **Security**: Enhanced security model including reduced re-entrancy attack surface +- **Precise Metering**: Accurate gas metering for fair resource allocation +- **Ethereum Compatibility**: Optional RPC adapter enables full Ethereum tooling support - Learn how developers can build smart contracts on Polkadot by leveraging the PolkaVM, Wasm/ink! or EVM contracts across many parachains. +### Implementation Examples - [:octicons-arrow-right-24: Reference](/smart-contracts/get-started/) +See real-world implementation in the [Asset Hub system parachain runtime](https://github.com/polkadot-fellows/runtimes/blob/8914a1c70ce2a821f1d4646feaab462204e01b26/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs#L1180-L1209){target=\_blank} in the Polkadot Fellows repository. -- Guide __Wasm (ink!) Contracts__ +## Frontier - --- +[Frontier](https://github.com/polkadot-evm/frontier){target=\_blank} is the Ethereum compatibility layer designed for maximum compatibility with the Ethereum ecosystem. It's the ideal choice when you need seamless integration with existing Ethereum tools, dapps, and infrastructure. + +### Integration Options + +Frontier offers flexible integration depending on your compatibility needs: + +#### EVM Execution Only + +For basic EVM support using Polkadot SDK native APIs: + +- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}** - Provides the core EVM execution environment + +This configuration allows EVM contract execution but requires using Polkadot SDK-specific APIs for interaction. + +#### Full Ethereum Compatibility + +For complete Ethereum ecosystem integration with Ethereum RPC support: + +- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}** - Core EVM execution environment +- **[`pallet-ethereum`](https://github.com/polkadot-evm/frontier/tree/master/frame/ethereum){target=\_blank}** - Emulates Ethereum blocks and handles Ethereum-formatted transactions +- **[`fc-rpc`](https://github.com/polkadot-evm/frontier/tree/master/rpc){target=\_blank}** - Provides Ethereum JSON-RPC endpoints - Learn to build Wasm smart contracts with ink!, a Rust-based eDSL. Explore installation, contract structure, and key features. +### Key Benefits of Full Integration + +- **Ethereum tooling compatibility**: Full compatibility with MetaMask, Hardhat, Remix, Truffle, and other Ethereum development tools +- **Zero-friction migration**: Deploy existing Ethereum dapps with minimal or no modifications +- **Native Ethereum formats**: Support for Ethereum transaction formats, signatures, and gas mechanics +- **Block emulation**: Ethereum-style block structure within Substrate's block production + +### Implementation Examples + +Production implementations demonstrate Frontier's capabilities: + +- **Moonbeam**: See their implementation of [`pallet-evm`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L532){target=\_blank} and [`pallet-ethereum`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L698){target=\_blank} + +## pallet-contracts (Legacy) + +[`pallet-contracts`](https://docs.rs/pallet-contracts/latest/pallet_contracts/index.html#contracts-pallet){target=\_blank} is the original Wasm-based smart contract pallet for Polkadot SDK chains. While still functional, it's considered legacy as development efforts have shifted to pallet-revive. + +### Implementation Example + +For reference, Astar's implementation of [`pallet-contracts`](https://github.com/AstarNetwork/Astar/blob/b6f7a408d31377130c3713ed52941a06b5436402/runtime/astar/src/lib.rs#L693){target=\_blank} demonstrates production usage. + +## Where to Go Next + +
- [:octicons-arrow-right-24: Reference](/smart-contracts/overview/#wasm-ink) - -- Guide __EVM Contracts__ +- Guide __Add a Pallet to the Runtime__ --- - Learn how Polkadot parachains such as Moonbeam, Astar, Acala, and Manta leverage the Ethereum Virtual Machine (EVM) and integrate it into their parachains. + Learn the step-by-step process for integrating Polkadot SDK pallets into your blockchain's runtime. - [:octicons-arrow-right-24: Reference](/smart-contracts/overview/#parachain-contracts) + [:octicons-arrow-right-24: Get Started](/parachains/customize-runtime/add-existing-pallets/) -
\ No newline at end of file +
From a480d825ef9066a40c04988f86cdb17576ca4902 Mon Sep 17 00:00:00 2001 From: Taylor Lucero Date: Mon, 3 Nov 2025 12:33:31 -0500 Subject: [PATCH 02/10] Applied feedback/formatted/fixed links --- .../add-smart-contract-functionality.md | 58 +++++++++---------- 1 file changed, 28 insertions(+), 30 deletions(-) diff --git a/parachains/customize-runtime/add-smart-contract-functionality.md b/parachains/customize-runtime/add-smart-contract-functionality.md index 6f1ed9e8a..728edbe1e 100644 --- a/parachains/customize-runtime/add-smart-contract-functionality.md +++ b/parachains/customize-runtime/add-smart-contract-functionality.md @@ -12,9 +12,9 @@ When building your custom blockchain with the Polkadot SDK, you can add smart co This guide covers three approaches to adding smart contracts to your blockchain: -- **[pallet-revive](#pallet-revive)** - Modern unified solution supporting both PolkaVM and EVM bytecode -- **[Frontier](#frontier)** - Ethereum compatibility layer for Polkadot SDK-based chains -- **[pallet-contracts](#pallet-contracts-legacy)** - Wasm smart contract support +- **[`pallet-revive`](#pallet-revive)**: Modern unified solution supporting both PolkaVM and EVM bytecode +- **[Frontier](#frontier)**: Ethereum compatibility layer for Polkadot SDK-based chains +- **[`pallet-contracts`](#pallet-contracts-legacy)**: Wasm smart contract support ## pallet-revive @@ -23,70 +23,68 @@ This guide covers three approaches to adding smart contracts to your blockchain: ### Core Components **Essential Pallet:** -- **[`pallet-revive`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/revive){target=\_blank}** - Provides the core smart contract execution environment with PolkaVM and REVM backends +**[`pallet-revive`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/revive){target=\_blank}** provides the core smart contract execution environment with [PolkaVM](https://github.com/polkadot-developers/polkadot-docs/blob/71e1b51bb42ef55e20c2f3b953db86e8c26cd591/smart-contracts/for-eth-devs/dual-vm-stack.md#upgrade-to-polkavm){target=\_blank} and [REVM](https://github.com/polkadot-developers/polkadot-docs/blob/71e1b51bb42ef55e20c2f3b953db86e8c26cd591/smart-contracts/for-eth-devs/dual-vm-stack.md#migrate-from-evm){target=\_blank} backends. -**Optional RPC Adapter:** -- **[`pallet-revive-eth-rpc`](https://crates.io/crates/pallet-revive-eth-rpc){target=\_blank}** - Adds full Ethereum RPC compatibility for Ethereum tooling integration +**RPC Adapter:** +**[`pallet-revive-eth-rpc`](https://crates.io/crates/pallet-revive-eth-rpc){target=\_blank}** adds full Ethereum RPC compatibility for Ethereum tooling integration. ### Supported Languages and Compilers -pallet-revive accepts smart contracts from multiple languages and compilation paths: +`pallet-revive` accepts smart contracts from multiple languages and compilation paths: -| Language | Compiler | Output Bytecode | Execution Backend | Performance | -|----------|----------|-----------------|-------------------|-------------| -| Solidity | `resolc` | PolkaVM | PolkaVM | Optimal | -| Solidity | `solc` | EVM | REVM | Compatible | -| Rust (ink!) | `cargo-contract` | PolkaVM | PolkaVM | Optimal | +| Language | Compiler | Output Bytecode | Execution Backend | +|----------|----------|-----------------|-------------------| +| Solidity | `resolc` | PolkaVM | PolkaVM | +| Solidity | `solc` | EVM | REVM | +| Rust (ink!) | `cargo-contract` | PolkaVM | PolkaVM | -Any language that can compile to PolkaVM bytecode and utilize pallet-revive's host functions (via `pallet-revive-uapi`) is supported. +Any language that can compile to PolkaVM bytecode and utilize `pallet-revive`'s host functions (via [`pallet-revive-uapi`](https://paritytech.github.io/polkadot-sdk/master/pallet_revive_uapi/index.html){target=\_blank}) is supported. ### How It Works **Dual Execution Model:** -1. **PolkaVM Backend**: Executes PolkaVM bytecode with native performance optimization, precise gas metering, and enhanced security features -2. **REVM Backend**: Executes EVM bytecode for compatibility with existing Ethereum contracts, ensuring seamless migration +1. **PolkaVM Backend**: Executes PolkaVM bytecode with native performance optimization. +2. **REVM Backend**: Implements EVM bytecode for compatibility with existing Ethereum contracts, ensuring seamless migration. ### Key Benefits -- **Unified Platform**: Deploy both PolkaVM-optimized and EVM-compatible contracts using a single pallet -- **Performance**: PolkaVM execution provides superior performance compared to traditional EVM -- **Security**: Enhanced security model including reduced re-entrancy attack surface -- **Precise Metering**: Accurate gas metering for fair resource allocation -- **Ethereum Compatibility**: Optional RPC adapter enables full Ethereum tooling support +- **Unified Platform**: Deploys both PolkaVM-optimized and EVM-compatible contracts using a single pallet. +- **Performance**: PolkaVM execution provides improved performance compared to the traditional EVM, leveraging the [RISC-V](https://en.wikipedia.org/wiki/RISC-V){target=\_blank} architecture to map instructions to the CPU and requires little transpiling. +- **Ethereum Compatibility**: Supports full integration with Ethereum tooling via RPC adapter. ### Implementation Examples -See real-world implementation in the [Asset Hub system parachain runtime](https://github.com/polkadot-fellows/runtimes/blob/8914a1c70ce2a821f1d4646feaab462204e01b26/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs#L1180-L1209){target=\_blank} in the Polkadot Fellows repository. +See a real-world implementation in the [Polkadot Hub TestNet](https://github.com/paseo-network/runtimes/blob/c965c42a4e0bc9d1e9cc0a340322bc3b8e347bcf/system-parachains/asset-hub-paseo/src/lib.rs#L1122-L1157){target=\_blank} in the Polkadot Fellows repository. ## Frontier -[Frontier](https://github.com/polkadot-evm/frontier){target=\_blank} is the Ethereum compatibility layer designed for maximum compatibility with the Ethereum ecosystem. It's the ideal choice when you need seamless integration with existing Ethereum tools, dapps, and infrastructure. +[Frontier](https://github.com/polkadot-evm/frontier){target=\_blank} is the Ethereum compatibility layer designed for maximum compatibility with the Ethereum ecosystem. It's the ideal choice when you need seamless integration with existing Ethereum tools, dApps, and infrastructure. ### Integration Options Frontier offers flexible integration depending on your compatibility needs: -#### EVM Execution Only +### EVM Execution Only For basic EVM support using Polkadot SDK native APIs: -- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}** - Provides the core EVM execution environment +- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}**: Provides the core EVM execution environment This configuration allows EVM contract execution but requires using Polkadot SDK-specific APIs for interaction. -#### Full Ethereum Compatibility +### Full Ethereum Compatibility For complete Ethereum ecosystem integration with Ethereum RPC support: -- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}** - Core EVM execution environment -- **[`pallet-ethereum`](https://github.com/polkadot-evm/frontier/tree/master/frame/ethereum){target=\_blank}** - Emulates Ethereum blocks and handles Ethereum-formatted transactions -- **[`fc-rpc`](https://github.com/polkadot-evm/frontier/tree/master/rpc){target=\_blank}** - Provides Ethereum JSON-RPC endpoints +- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}**: Integrates core EVM execution environment. +- **[`pallet-ethereum`](https://github.com/polkadot-evm/frontier/tree/master/frame/ethereum){target=\_blank}**: Emulates Ethereum blocks and handles Ethereum-formatted transactions. +- **[`fc-rpc`](https://github.com/polkadot-evm/frontier/tree/master/client/rpc){target=\_blank}**: Provides Ethereum JSON-RPC endpoints. -### Key Benefits of Full Integration +### Key Benefits - **Ethereum tooling compatibility**: Full compatibility with MetaMask, Hardhat, Remix, Truffle, and other Ethereum development tools -- **Zero-friction migration**: Deploy existing Ethereum dapps with minimal or no modifications +- **Minimal-friction migration**: Deployment of existing Ethereum dApps with minimal or no modifications - **Native Ethereum formats**: Support for Ethereum transaction formats, signatures, and gas mechanics - **Block emulation**: Ethereum-style block structure within Substrate's block production From 34555828680f9d065338bd069da95adc97126638 Mon Sep 17 00:00:00 2001 From: Taylor Lucero Date: Mon, 3 Nov 2025 12:39:52 -0500 Subject: [PATCH 03/10] update llms/.ai --- .ai/categories/parachains.md | 58 +- ...untime-add-smart-contract-functionality.md | 58 +- .ai/site-index.json | 600 +++++++++--------- llms-full.jsonl | 30 +- 4 files changed, 377 insertions(+), 369 deletions(-) diff --git a/.ai/categories/parachains.md b/.ai/categories/parachains.md index 59ca8c8ba..89a7a8994 100644 --- a/.ai/categories/parachains.md +++ b/.ai/categories/parachains.md @@ -1826,9 +1826,9 @@ When building your custom blockchain with the Polkadot SDK, you can add smart co This guide covers three approaches to adding smart contracts to your blockchain: -- **[pallet-revive](#pallet-revive)** - Modern unified solution supporting both PolkaVM and EVM bytecode -- **[Frontier](#frontier)** - Ethereum compatibility layer for Polkadot SDK-based chains -- **[pallet-contracts](#pallet-contracts-legacy)** - Wasm smart contract support +- **[`pallet-revive`](#pallet-revive)**: Modern unified solution supporting both PolkaVM and EVM bytecode +- **[Frontier](#frontier)**: Ethereum compatibility layer for Polkadot SDK-based chains +- **[`pallet-contracts`](#pallet-contracts-legacy)**: Wasm smart contract support ## pallet-revive @@ -1837,70 +1837,68 @@ This guide covers three approaches to adding smart contracts to your blockchain: ### Core Components **Essential Pallet:** -- **[`pallet-revive`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/revive){target=\_blank}** - Provides the core smart contract execution environment with PolkaVM and REVM backends +**[`pallet-revive`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/revive){target=\_blank}** provides the core smart contract execution environment with [PolkaVM](https://github.com/polkadot-developers/polkadot-docs/blob/71e1b51bb42ef55e20c2f3b953db86e8c26cd591/smart-contracts/for-eth-devs/dual-vm-stack.md#upgrade-to-polkavm){target=\_blank} and [REVM](https://github.com/polkadot-developers/polkadot-docs/blob/71e1b51bb42ef55e20c2f3b953db86e8c26cd591/smart-contracts/for-eth-devs/dual-vm-stack.md#migrate-from-evm){target=\_blank} backends. -**Optional RPC Adapter:** -- **[`pallet-revive-eth-rpc`](https://crates.io/crates/pallet-revive-eth-rpc){target=\_blank}** - Adds full Ethereum RPC compatibility for Ethereum tooling integration +**RPC Adapter:** +**[`pallet-revive-eth-rpc`](https://crates.io/crates/pallet-revive-eth-rpc){target=\_blank}** adds full Ethereum RPC compatibility for Ethereum tooling integration. ### Supported Languages and Compilers -pallet-revive accepts smart contracts from multiple languages and compilation paths: +`pallet-revive` accepts smart contracts from multiple languages and compilation paths: -| Language | Compiler | Output Bytecode | Execution Backend | Performance | -|----------|----------|-----------------|-------------------|-------------| -| Solidity | `resolc` | PolkaVM | PolkaVM | Optimal | -| Solidity | `solc` | EVM | REVM | Compatible | -| Rust (ink!) | `cargo-contract` | PolkaVM | PolkaVM | Optimal | +| Language | Compiler | Output Bytecode | Execution Backend | +|----------|----------|-----------------|-------------------| +| Solidity | `resolc` | PolkaVM | PolkaVM | +| Solidity | `solc` | EVM | REVM | +| Rust (ink!) | `cargo-contract` | PolkaVM | PolkaVM | -Any language that can compile to PolkaVM bytecode and utilize pallet-revive's host functions (via `pallet-revive-uapi`) is supported. +Any language that can compile to PolkaVM bytecode and utilize `pallet-revive`'s host functions (via [`pallet-revive-uapi`](https://paritytech.github.io/polkadot-sdk/master/pallet_revive_uapi/index.html){target=\_blank}) is supported. ### How It Works **Dual Execution Model:** -1. **PolkaVM Backend**: Executes PolkaVM bytecode with native performance optimization, precise gas metering, and enhanced security features -2. **REVM Backend**: Executes EVM bytecode for compatibility with existing Ethereum contracts, ensuring seamless migration +1. **PolkaVM Backend**: Executes PolkaVM bytecode with native performance optimization. +2. **REVM Backend**: Implements EVM bytecode for compatibility with existing Ethereum contracts, ensuring seamless migration. ### Key Benefits -- **Unified Platform**: Deploy both PolkaVM-optimized and EVM-compatible contracts using a single pallet -- **Performance**: PolkaVM execution provides superior performance compared to traditional EVM -- **Security**: Enhanced security model including reduced re-entrancy attack surface -- **Precise Metering**: Accurate gas metering for fair resource allocation -- **Ethereum Compatibility**: Optional RPC adapter enables full Ethereum tooling support +- **Unified Platform**: Deploys both PolkaVM-optimized and EVM-compatible contracts using a single pallet. +- **Performance**: PolkaVM execution provides improved performance compared to the traditional EVM, leveraging the [RISC-V](https://en.wikipedia.org/wiki/RISC-V){target=\_blank} architecture to map instructions to the CPU and requires little transpiling. +- **Ethereum Compatibility**: Supports full integration with Ethereum tooling via RPC adapter. ### Implementation Examples -See real-world implementation in the [Asset Hub system parachain runtime](https://github.com/polkadot-fellows/runtimes/blob/8914a1c70ce2a821f1d4646feaab462204e01b26/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs#L1180-L1209){target=\_blank} in the Polkadot Fellows repository. +See a real-world implementation in the [Polkadot Hub TestNet](https://github.com/paseo-network/runtimes/blob/c965c42a4e0bc9d1e9cc0a340322bc3b8e347bcf/system-parachains/asset-hub-paseo/src/lib.rs#L1122-L1157){target=\_blank} in the Polkadot Fellows repository. ## Frontier -[Frontier](https://github.com/polkadot-evm/frontier){target=\_blank} is the Ethereum compatibility layer designed for maximum compatibility with the Ethereum ecosystem. It's the ideal choice when you need seamless integration with existing Ethereum tools, dapps, and infrastructure. +[Frontier](https://github.com/polkadot-evm/frontier){target=\_blank} is the Ethereum compatibility layer designed for maximum compatibility with the Ethereum ecosystem. It's the ideal choice when you need seamless integration with existing Ethereum tools, dApps, and infrastructure. ### Integration Options Frontier offers flexible integration depending on your compatibility needs: -#### EVM Execution Only +### EVM Execution Only For basic EVM support using Polkadot SDK native APIs: -- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}** - Provides the core EVM execution environment +- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}**: Provides the core EVM execution environment This configuration allows EVM contract execution but requires using Polkadot SDK-specific APIs for interaction. -#### Full Ethereum Compatibility +### Full Ethereum Compatibility For complete Ethereum ecosystem integration with Ethereum RPC support: -- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}** - Core EVM execution environment -- **[`pallet-ethereum`](https://github.com/polkadot-evm/frontier/tree/master/frame/ethereum){target=\_blank}** - Emulates Ethereum blocks and handles Ethereum-formatted transactions -- **[`fc-rpc`](https://github.com/polkadot-evm/frontier/tree/master/rpc){target=\_blank}** - Provides Ethereum JSON-RPC endpoints +- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}**: Integrates core EVM execution environment. +- **[`pallet-ethereum`](https://github.com/polkadot-evm/frontier/tree/master/frame/ethereum){target=\_blank}**: Emulates Ethereum blocks and handles Ethereum-formatted transactions. +- **[`fc-rpc`](https://github.com/polkadot-evm/frontier/tree/master/client/rpc){target=\_blank}**: Provides Ethereum JSON-RPC endpoints. -### Key Benefits of Full Integration +### Key Benefits - **Ethereum tooling compatibility**: Full compatibility with MetaMask, Hardhat, Remix, Truffle, and other Ethereum development tools -- **Zero-friction migration**: Deploy existing Ethereum dapps with minimal or no modifications +- **Minimal-friction migration**: Deployment of existing Ethereum dApps with minimal or no modifications - **Native Ethereum formats**: Support for Ethereum transaction formats, signatures, and gas mechanics - **Block emulation**: Ethereum-style block structure within Substrate's block production diff --git a/.ai/pages/parachains-customize-runtime-add-smart-contract-functionality.md b/.ai/pages/parachains-customize-runtime-add-smart-contract-functionality.md index a0fa8fa17..eda88f870 100644 --- a/.ai/pages/parachains-customize-runtime-add-smart-contract-functionality.md +++ b/.ai/pages/parachains-customize-runtime-add-smart-contract-functionality.md @@ -13,9 +13,9 @@ When building your custom blockchain with the Polkadot SDK, you can add smart co This guide covers three approaches to adding smart contracts to your blockchain: -- **[pallet-revive](#pallet-revive)** - Modern unified solution supporting both PolkaVM and EVM bytecode -- **[Frontier](#frontier)** - Ethereum compatibility layer for Polkadot SDK-based chains -- **[pallet-contracts](#pallet-contracts-legacy)** - Wasm smart contract support +- **[`pallet-revive`](#pallet-revive)**: Modern unified solution supporting both PolkaVM and EVM bytecode +- **[Frontier](#frontier)**: Ethereum compatibility layer for Polkadot SDK-based chains +- **[`pallet-contracts`](#pallet-contracts-legacy)**: Wasm smart contract support ## pallet-revive @@ -24,70 +24,68 @@ This guide covers three approaches to adding smart contracts to your blockchain: ### Core Components **Essential Pallet:** -- **[`pallet-revive`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/revive){target=\_blank}** - Provides the core smart contract execution environment with PolkaVM and REVM backends +**[`pallet-revive`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/revive){target=\_blank}** provides the core smart contract execution environment with [PolkaVM](https://github.com/polkadot-developers/polkadot-docs/blob/71e1b51bb42ef55e20c2f3b953db86e8c26cd591/smart-contracts/for-eth-devs/dual-vm-stack.md#upgrade-to-polkavm){target=\_blank} and [REVM](https://github.com/polkadot-developers/polkadot-docs/blob/71e1b51bb42ef55e20c2f3b953db86e8c26cd591/smart-contracts/for-eth-devs/dual-vm-stack.md#migrate-from-evm){target=\_blank} backends. -**Optional RPC Adapter:** -- **[`pallet-revive-eth-rpc`](https://crates.io/crates/pallet-revive-eth-rpc){target=\_blank}** - Adds full Ethereum RPC compatibility for Ethereum tooling integration +**RPC Adapter:** +**[`pallet-revive-eth-rpc`](https://crates.io/crates/pallet-revive-eth-rpc){target=\_blank}** adds full Ethereum RPC compatibility for Ethereum tooling integration. ### Supported Languages and Compilers -pallet-revive accepts smart contracts from multiple languages and compilation paths: +`pallet-revive` accepts smart contracts from multiple languages and compilation paths: -| Language | Compiler | Output Bytecode | Execution Backend | Performance | -|----------|----------|-----------------|-------------------|-------------| -| Solidity | `resolc` | PolkaVM | PolkaVM | Optimal | -| Solidity | `solc` | EVM | REVM | Compatible | -| Rust (ink!) | `cargo-contract` | PolkaVM | PolkaVM | Optimal | +| Language | Compiler | Output Bytecode | Execution Backend | +|----------|----------|-----------------|-------------------| +| Solidity | `resolc` | PolkaVM | PolkaVM | +| Solidity | `solc` | EVM | REVM | +| Rust (ink!) | `cargo-contract` | PolkaVM | PolkaVM | -Any language that can compile to PolkaVM bytecode and utilize pallet-revive's host functions (via `pallet-revive-uapi`) is supported. +Any language that can compile to PolkaVM bytecode and utilize `pallet-revive`'s host functions (via [`pallet-revive-uapi`](https://paritytech.github.io/polkadot-sdk/master/pallet_revive_uapi/index.html){target=\_blank}) is supported. ### How It Works **Dual Execution Model:** -1. **PolkaVM Backend**: Executes PolkaVM bytecode with native performance optimization, precise gas metering, and enhanced security features -2. **REVM Backend**: Executes EVM bytecode for compatibility with existing Ethereum contracts, ensuring seamless migration +1. **PolkaVM Backend**: Executes PolkaVM bytecode with native performance optimization. +2. **REVM Backend**: Implements EVM bytecode for compatibility with existing Ethereum contracts, ensuring seamless migration. ### Key Benefits -- **Unified Platform**: Deploy both PolkaVM-optimized and EVM-compatible contracts using a single pallet -- **Performance**: PolkaVM execution provides superior performance compared to traditional EVM -- **Security**: Enhanced security model including reduced re-entrancy attack surface -- **Precise Metering**: Accurate gas metering for fair resource allocation -- **Ethereum Compatibility**: Optional RPC adapter enables full Ethereum tooling support +- **Unified Platform**: Deploys both PolkaVM-optimized and EVM-compatible contracts using a single pallet. +- **Performance**: PolkaVM execution provides improved performance compared to the traditional EVM, leveraging the [RISC-V](https://en.wikipedia.org/wiki/RISC-V){target=\_blank} architecture to map instructions to the CPU and requires little transpiling. +- **Ethereum Compatibility**: Supports full integration with Ethereum tooling via RPC adapter. ### Implementation Examples -See real-world implementation in the [Asset Hub system parachain runtime](https://github.com/polkadot-fellows/runtimes/blob/8914a1c70ce2a821f1d4646feaab462204e01b26/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs#L1180-L1209){target=\_blank} in the Polkadot Fellows repository. +See a real-world implementation in the [Polkadot Hub TestNet](https://github.com/paseo-network/runtimes/blob/c965c42a4e0bc9d1e9cc0a340322bc3b8e347bcf/system-parachains/asset-hub-paseo/src/lib.rs#L1122-L1157){target=\_blank} in the Polkadot Fellows repository. ## Frontier -[Frontier](https://github.com/polkadot-evm/frontier){target=\_blank} is the Ethereum compatibility layer designed for maximum compatibility with the Ethereum ecosystem. It's the ideal choice when you need seamless integration with existing Ethereum tools, dapps, and infrastructure. +[Frontier](https://github.com/polkadot-evm/frontier){target=\_blank} is the Ethereum compatibility layer designed for maximum compatibility with the Ethereum ecosystem. It's the ideal choice when you need seamless integration with existing Ethereum tools, dApps, and infrastructure. ### Integration Options Frontier offers flexible integration depending on your compatibility needs: -#### EVM Execution Only +### EVM Execution Only For basic EVM support using Polkadot SDK native APIs: -- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}** - Provides the core EVM execution environment +- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}**: Provides the core EVM execution environment This configuration allows EVM contract execution but requires using Polkadot SDK-specific APIs for interaction. -#### Full Ethereum Compatibility +### Full Ethereum Compatibility For complete Ethereum ecosystem integration with Ethereum RPC support: -- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}** - Core EVM execution environment -- **[`pallet-ethereum`](https://github.com/polkadot-evm/frontier/tree/master/frame/ethereum){target=\_blank}** - Emulates Ethereum blocks and handles Ethereum-formatted transactions -- **[`fc-rpc`](https://github.com/polkadot-evm/frontier/tree/master/rpc){target=\_blank}** - Provides Ethereum JSON-RPC endpoints +- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}**: Integrates core EVM execution environment. +- **[`pallet-ethereum`](https://github.com/polkadot-evm/frontier/tree/master/frame/ethereum){target=\_blank}**: Emulates Ethereum blocks and handles Ethereum-formatted transactions. +- **[`fc-rpc`](https://github.com/polkadot-evm/frontier/tree/master/client/rpc){target=\_blank}**: Provides Ethereum JSON-RPC endpoints. -### Key Benefits of Full Integration +### Key Benefits - **Ethereum tooling compatibility**: Full compatibility with MetaMask, Hardhat, Remix, Truffle, and other Ethereum development tools -- **Zero-friction migration**: Deploy existing Ethereum dapps with minimal or no modifications +- **Minimal-friction migration**: Deployment of existing Ethereum dApps with minimal or no modifications - **Native Ethereum formats**: Support for Ethereum transaction formats, signatures, and gas mechanics - **Block emulation**: Ethereum-style block structure within Substrate's block production diff --git a/.ai/site-index.json b/.ai/site-index.json index 84295624f..3f0052e4f 100644 --- a/.ai/site-index.json +++ b/.ai/site-index.json @@ -17,7 +17,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:37+00:00", + "last_modified": "2025-11-03T17:39:30+00:00", "token_estimator": "heuristic-v1" }, { @@ -38,7 +38,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:37+00:00", + "last_modified": "2025-11-03T17:39:30+00:00", "token_estimator": "heuristic-v1" }, { @@ -59,7 +59,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:37+00:00", + "last_modified": "2025-11-03T17:39:30+00:00", "token_estimator": "heuristic-v1" }, { @@ -80,7 +80,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:37+00:00", + "last_modified": "2025-11-03T17:39:30+00:00", "token_estimator": "heuristic-v1" }, { @@ -101,7 +101,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:37+00:00", + "last_modified": "2025-11-03T17:39:30+00:00", "token_estimator": "heuristic-v1" }, { @@ -122,7 +122,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:37+00:00", + "last_modified": "2025-11-03T17:39:30+00:00", "token_estimator": "heuristic-v1" }, { @@ -234,7 +234,7 @@ "estimated_token_count_total": 4830 }, "hash": "sha256:a6bf7623a535e7a9162c0913b07bd59d43c8535025ad8225fb3e5adc83084c7a", - "last_modified": "2025-10-21T14:13:37+00:00", + "last_modified": "2025-11-03T17:39:30+00:00", "token_estimator": "heuristic-v1" }, { @@ -306,7 +306,7 @@ "estimated_token_count_total": 7755 }, "hash": "sha256:086a87823ab67ceac102358030e316583cd733c0ec326316e7f29061fe7f6934", - "last_modified": "2025-10-21T14:13:37+00:00", + "last_modified": "2025-11-03T17:39:30+00:00", "token_estimator": "heuristic-v1" }, { @@ -327,7 +327,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:37+00:00", + "last_modified": "2025-11-03T17:39:30+00:00", "token_estimator": "heuristic-v1" }, { @@ -389,7 +389,7 @@ "estimated_token_count_total": 5207 }, "hash": "sha256:91f59a76dd33641ca2b5bf6d58230f65034fa3cc5f8313525fb57e854a878a56", - "last_modified": "2025-10-21T14:13:37+00:00", + "last_modified": "2025-11-03T17:39:30+00:00", "token_estimator": "heuristic-v1" }, { @@ -481,7 +481,7 @@ "estimated_token_count_total": 2132 }, "hash": "sha256:1b9efd2fe00b251d3b4054c9cfcb55f9b5a1384238eeaca81a6f1542fc36d75c", - "last_modified": "2025-10-21T14:13:37+00:00", + "last_modified": "2025-11-03T17:39:30+00:00", "token_estimator": "heuristic-v1" }, { @@ -502,7 +502,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:37+00:00", + "last_modified": "2025-11-03T17:39:30+00:00", "token_estimator": "heuristic-v1" }, { @@ -569,7 +569,7 @@ "estimated_token_count_total": 4063 }, "hash": "sha256:bd07cdae71bf63786994865d2f33fba5f7bf8855dce6399414ad44ab0ec6635c", - "last_modified": "2025-10-21T14:13:37+00:00", + "last_modified": "2025-11-03T17:39:30+00:00", "token_estimator": "heuristic-v1" }, { @@ -626,7 +626,7 @@ "estimated_token_count_total": 2225 }, "hash": "sha256:e916033f54c2874eb5ce9a43d58af058eb935429f73b7b1acc7da1592218e0b8", - "last_modified": "2025-10-21T14:13:37+00:00", + "last_modified": "2025-11-03T17:39:30+00:00", "token_estimator": "heuristic-v1" }, { @@ -674,7 +674,7 @@ "estimated_token_count_total": 1523 }, "hash": "sha256:d9d85827d2c14bff8dd6b3301617345430cf63db603e37859720713004ecafae", - "last_modified": "2025-10-21T14:13:37+00:00", + "last_modified": "2025-11-03T17:39:30+00:00", "token_estimator": "heuristic-v1" }, { @@ -732,7 +732,7 @@ "estimated_token_count_total": 1505 }, "hash": "sha256:2b017d8a89f8734b9cbb501f03612a22657d2f8d4d85c51e490e4c8ca4bf771b", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -790,7 +790,7 @@ "estimated_token_count_total": 1635 }, "hash": "sha256:46252e238b0b51105148dc622da6d8809c55ec11da7ec7b2953c35ca52f5f585", - "last_modified": "2025-10-21T14:13:37+00:00", + "last_modified": "2025-11-03T17:39:30+00:00", "token_estimator": "heuristic-v1" }, { @@ -833,7 +833,7 @@ "estimated_token_count_total": 1491 }, "hash": "sha256:db37b2f5888f283b5eb5bd84a5f8c81fc66b2313e3f94f510a73dfeb310ae3f0", - "last_modified": "2025-10-21T14:13:39+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -900,7 +900,7 @@ "estimated_token_count_total": 955 }, "hash": "sha256:72ee7394fd1308c111a8d548cb4dc63c6b9bc5b6e2bb556dd1baacbaedb92286", - "last_modified": "2025-10-21T14:13:39+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -952,7 +952,7 @@ "estimated_token_count_total": 876 }, "hash": "sha256:d6cb22337280a19bdf24981dcba98f337d48ee4f79ce7ac040466ef1cb4b330b", - "last_modified": "2025-10-21T14:13:39+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -1034,7 +1034,7 @@ "estimated_token_count_total": 2744 }, "hash": "sha256:1a2d34ccab19bd71263763bbc294977acf34f5800398f51398753594cfc7d7a6", - "last_modified": "2025-10-21T14:13:39+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -1106,7 +1106,7 @@ "estimated_token_count_total": 608 }, "hash": "sha256:7bba6105d99721373aa6f494627d20af97b1851c19703f26be26c32f0c83524b", - "last_modified": "2025-10-21T14:13:39+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -1173,7 +1173,7 @@ "estimated_token_count_total": 558 }, "hash": "sha256:b79fe56c9604712825bdf30d17667fd8f237fce9691be0d8d042d38691dbba7a", - "last_modified": "2025-10-21T14:13:39+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -1225,7 +1225,7 @@ "estimated_token_count_total": 348 }, "hash": "sha256:11cd8d428fa9c3e70490da5c63ce4597cd89ec46306d2bb49b016ced6aa68c3d", - "last_modified": "2025-10-21T14:13:39+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -1273,7 +1273,7 @@ "estimated_token_count_total": 1365 }, "hash": "sha256:5f8fa89fc725c5c559975012fe2f9ae92c3b62f10024b5688dcd118331118f1a", - "last_modified": "2025-10-21T14:13:39+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -1326,7 +1326,7 @@ "estimated_token_count_total": 4979 }, "hash": "sha256:ed3b7c8101b69f9c907cca7c5edfef67fdb5e7bc3c8df8d9fbad297f9dd3c80a", - "last_modified": "2025-10-21T14:13:39+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -1383,7 +1383,7 @@ "estimated_token_count_total": 1781 }, "hash": "sha256:35c71a215558cd0642d363e4515ad240093995d42720e6495cd2994c859243e4", - "last_modified": "2025-10-21T14:13:39+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -1430,7 +1430,7 @@ "estimated_token_count_total": 1447 }, "hash": "sha256:0e39aee80fbcf3dfaa19133f31d664914ed45b42a1a929270f05d8ae876b89e2", - "last_modified": "2025-10-21T14:13:39+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -1477,7 +1477,7 @@ "estimated_token_count_total": 1082 }, "hash": "sha256:ec82957c768c2c07a272e7a28659c812b223df836e21372b1642f0bb249d7b39", - "last_modified": "2025-10-21T14:13:39+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -1519,7 +1519,7 @@ "estimated_token_count_total": 4178 }, "hash": "sha256:d480791a76082937b47c77f7cf3794e701f193452ed347fcb1c04c3c67577bf5", - "last_modified": "2025-10-21T14:13:39+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -1587,7 +1587,7 @@ "estimated_token_count_total": 6510 }, "hash": "sha256:353ad782303ef79bce1262bfa945e6f11b3c3c9ca1edf5705b778c46bada6200", - "last_modified": "2025-10-21T14:13:40+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -1650,7 +1650,7 @@ "estimated_token_count_total": 1520 }, "hash": "sha256:ed09ef7a6abe21204006186fd5791ada7597688fad67e30244dc449c51330309", - "last_modified": "2025-10-21T14:13:40+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -1712,7 +1712,7 @@ "estimated_token_count_total": 2598 }, "hash": "sha256:b2b3d8c048863e7760f633b12ab2a0202c741be3050ea4beafb9a7265cfe96b5", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -1769,7 +1769,7 @@ "estimated_token_count_total": 1219 }, "hash": "sha256:262e7a3ad3d0a0102897c52c7589e3f94c7827c441398b3b446b205f6c6753d3", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -1811,7 +1811,7 @@ "estimated_token_count_total": 905 }, "hash": "sha256:ad8e6d9c77d5451c5f4d17f8e6311b21e6ad24eae8780fd4c3ae6013744822cf", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -1878,7 +1878,7 @@ "estimated_token_count_total": 3995 }, "hash": "sha256:19997d390abf2847824024ba923f46a61106ef77544d256d50b371210816b309", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -1946,7 +1946,7 @@ "estimated_token_count_total": 2005 }, "hash": "sha256:0becb82886d34e2ed23d963efd2c14120112e6e080ea4072e864531299b59753", - "last_modified": "2025-10-21T14:13:40+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -2013,7 +2013,7 @@ "estimated_token_count_total": 1944 }, "hash": "sha256:4fc8cab40e982e860b64d9aede1058fe7fa82ec321ac215b919db00c4df0a9c0", - "last_modified": "2025-10-21T14:13:41+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -2085,7 +2085,7 @@ "estimated_token_count_total": 3068 }, "hash": "sha256:9918593a46c12a1756552ddfaf7421ad6262600735b6f1fec030911420fe1736", - "last_modified": "2025-10-21T14:13:41+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -2167,7 +2167,7 @@ "estimated_token_count_total": 3025 }, "hash": "sha256:a60fe36a5ba6d1cafe12eab75300afd24a46d3ace1e791087adb7e3e538afcc3", - "last_modified": "2025-10-21T14:13:41+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -2219,7 +2219,7 @@ "estimated_token_count_total": 1289 }, "hash": "sha256:39c58dbe2ddcd542d7074d08d72f1811318dc8a3130419025480fd5cbe9fc3e7", - "last_modified": "2025-10-21T14:13:41+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -2271,7 +2271,7 @@ "estimated_token_count_total": 744 }, "hash": "sha256:358ed14147b96b47deb61df9a1ea0e1103a139ea5edb78c5d50a48d5a779b80d", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -2354,7 +2354,7 @@ "estimated_token_count_total": 2709 }, "hash": "sha256:2ee5656f749b4bca445172f2bc66c7fc39af40ff173626662ae4c399f49cf909", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -2412,7 +2412,7 @@ "estimated_token_count_total": 1892 }, "hash": "sha256:74de798c287cae75729e7db54019507f03a361dbbd1f2bb58c4694605f83efab", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -2464,7 +2464,7 @@ "estimated_token_count_total": 4719 }, "hash": "sha256:bfad885d8053d052c55dbffc3c09e6196586795c3a1d07ab6ad58f9006ec3345", - "last_modified": "2025-10-21T14:13:41+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -2526,7 +2526,7 @@ "estimated_token_count_total": 1819 }, "hash": "sha256:b0c1535fa8e969a9bdeee426a5a35a42b4649121fb8ce6fd2b15fdeba35b5d5f", - "last_modified": "2025-10-21T14:13:41+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -2573,7 +2573,7 @@ "estimated_token_count_total": 1161 }, "hash": "sha256:07e63e1e99b9acf1cc3b5ef8fa1f06ff22182b2a801582ce800eba37d7d39408", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -2645,7 +2645,7 @@ "estimated_token_count_total": 4014 }, "hash": "sha256:55dc252fdecf1590048ce8d009b822e90231442abe81e9593cf1635944a31336", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -2697,7 +2697,7 @@ "estimated_token_count_total": 2030 }, "hash": "sha256:f4964f894f7cd2fdfd699c017b4bd25cffc322b03a5a88a36c682cf952832ccc", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -2764,7 +2764,7 @@ "estimated_token_count_total": 3342 }, "hash": "sha256:9d6daa3f4daf149ae822b60060d14ff022bd4b3440cecdc969a48c105eb82a21", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -2816,7 +2816,7 @@ "estimated_token_count_total": 1572 }, "hash": "sha256:68fc67390e24741081c9a04d78951e76c7d4ff7cf6eddaba7dcbbdc1812c71d3", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -2873,7 +2873,7 @@ "estimated_token_count_total": 1559 }, "hash": "sha256:0024f5e4c12ab7b019e5ee183e7c78d175e1125868c5458b97d3accd9fac75bc", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -2910,7 +2910,7 @@ "estimated_token_count_total": 514 }, "hash": "sha256:e8ffeaa3a17e20437a59f2c95a63821eb75bf3c33001e748c23958b2b99ac3c2", - "last_modified": "2025-10-21T14:13:41+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -2947,7 +2947,7 @@ "estimated_token_count_total": 570 }, "hash": "sha256:1247dfb5f5ac040bca81cd1002153e0ee53f4052b2a3d40b623834bd7f00d065", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -3024,7 +3024,7 @@ "estimated_token_count_total": 6228 }, "hash": "sha256:72e41f816f07026d96c803f399c71852aa1151c464e79cec3e1746b282d5eaae", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -3102,7 +3102,7 @@ "estimated_token_count_total": 4188 }, "hash": "sha256:fe008393aa37c27bb71b4483d4e2c4fbcda94f8c1be461fdd07eff40efbb4e26", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -3165,7 +3165,7 @@ "estimated_token_count_total": 1375 }, "hash": "sha256:8e6bfed5fa59bb748e80698ea702f62ce6951c48bdb955ee9ef0d3516e856887", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -3312,7 +3312,7 @@ "estimated_token_count_total": 1618 }, "hash": "sha256:5cc63ff0a377ef0ec96a064748e13b88bc852bd1862c6e344066855a7fe93b19", - "last_modified": "2025-10-21T14:13:41+00:00", + "last_modified": "2025-11-03T17:39:31+00:00", "token_estimator": "heuristic-v1" }, { @@ -3509,7 +3509,7 @@ "estimated_token_count_total": 9750 }, "hash": "sha256:1fb7a20bc4a799a771954720428029419ec73afa640e589590c43dd041a7e307", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -3597,7 +3597,7 @@ "estimated_token_count_total": 4475 }, "hash": "sha256:f0cee7ccb3cd294e8f909a220bb63987239ef8155c187a04f8c4864ffdcde288", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -3690,7 +3690,7 @@ "estimated_token_count_total": 3900 }, "hash": "sha256:a7541553a50a250521c0a280f997d614763c643b1028147f3fb61391950bda15", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -3763,7 +3763,7 @@ "estimated_token_count_total": 3250 }, "hash": "sha256:bc771f912627fa09cad64adab1bc81c052f650d6c5a3b4f0c91883a98f6628da", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -3836,7 +3836,7 @@ "estimated_token_count_total": 3033 }, "hash": "sha256:bc87533eaf42a979a0c17f50ecdc668c364889257c7e0d27b81129770660fd53", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -3889,7 +3889,7 @@ "estimated_token_count_total": 2512 }, "hash": "sha256:5d13a0873a78a9802b06686d7caafbf4d23b6ba1edf7d3518943301f2b0110c4", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -3931,7 +3931,7 @@ "estimated_token_count_total": 2432 }, "hash": "sha256:809d0ff921587f29045df1d31a5a9fe32ee13fa7b9698aa27ff9f60b2aa7a4d8", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -4004,7 +4004,7 @@ "estimated_token_count_total": 1118 }, "hash": "sha256:0468268436ffdb759cad8390a838d5fba2391118baa8fd8cd494b36397b10329", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -4086,7 +4086,7 @@ "estimated_token_count_total": 3847 }, "hash": "sha256:4b705b8dbe9b0ad8d19a897d91f3c64dbc4541297dadacbea2a31b4778e50a46", - "last_modified": "2025-10-21T14:13:44+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -4153,7 +4153,7 @@ "estimated_token_count_total": 2317 }, "hash": "sha256:605d2cbb7eabb2ea0fd928bc3ecdf9ee8b095e3dd9643f2b0918fef7b5a3f4a8", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -4206,7 +4206,7 @@ "estimated_token_count_total": 1638 }, "hash": "sha256:807cee6869059dd933905d1cf6c76e3b86e02baee3de3113f7e5b4c8697fbd22", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -4274,7 +4274,7 @@ "estimated_token_count_total": 2300 }, "hash": "sha256:ba24e31e2ad94fbf1d73f1878da92dd2e1476db00170780bbdf0e65ab18bc961", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -4327,7 +4327,7 @@ "estimated_token_count_total": 1987 }, "hash": "sha256:2ca93b09d3bb9159bbf53816886a9b242bb3c13b996c51fd52962e049e2d5477", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -4400,7 +4400,7 @@ "estimated_token_count_total": 1084 }, "hash": "sha256:7f533abe61586af8438e350c41b741d74a8edb839f9dc4139bc4619ba3748258", - "last_modified": "2025-10-20T08:30:40+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -4468,7 +4468,7 @@ "estimated_token_count_total": 1166 }, "hash": "sha256:ed3986f30880fefca5975fcdc847c68b4aca65862c63e3002b25391b0521781d", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -4526,7 +4526,7 @@ "estimated_token_count_total": 942 }, "hash": "sha256:8987fc35cd28602054ee018031f773e2e3837425107c51d0e2ac68a94b86e9c0", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -4579,7 +4579,7 @@ "estimated_token_count_total": 1945 }, "hash": "sha256:b8759f61ab57b636228b69d5770c74591998b912cd4596e89eb2ec011da7ef73", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -4652,7 +4652,7 @@ "estimated_token_count_total": 2187 }, "hash": "sha256:56269d9ea47f5b4e92cd7d5a1e65ab06d181a9c380f90bb3ef285529b12299f7", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -4690,7 +4690,7 @@ "estimated_token_count_total": 428 }, "hash": "sha256:cfcc76bb24779c9b613f2c046b6f99a0f2529c25fd82287d804f6b945b936227", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -4723,7 +4723,7 @@ "estimated_token_count_total": 245 }, "hash": "sha256:6d8e01281a5895fd2bc4438b24c170c72a496de0b838626a53e87685aea4aa25", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -4780,7 +4780,7 @@ "estimated_token_count_total": 847 }, "hash": "sha256:a206dd86fc3d80aed22384000839ca0c9c75c69ad461abd9810d96c03cf6a3bd", - "last_modified": "2025-10-21T14:13:44+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -4852,7 +4852,7 @@ "estimated_token_count_total": 6280 }, "hash": "sha256:9b03477d13a285fced6bf845c3827084f790a626989dc2c09ef9ff53643045f4", - "last_modified": "2025-10-21T14:13:44+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -4890,7 +4890,7 @@ "estimated_token_count_total": 633 }, "hash": "sha256:62c5ad101282227f79eac0e30a3ba9ce3ae1bf9e358bd58c0b17ef45db29c2ff", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -4952,7 +4952,7 @@ "estimated_token_count_total": 5209 }, "hash": "sha256:966ec1bcc014a454f6b837b503025d9fb89c30f6a65d0aaec82ea5ff976e53a9", - "last_modified": "2025-10-20T08:30:40+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -5011,7 +5011,7 @@ "estimated_token_count_total": 1700 }, "hash": "sha256:47328231d6ff4dc52cd93aaf1baf5d0bc2d9fc372f3d79339d87aafa0dabd1b8", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -5079,7 +5079,7 @@ "estimated_token_count_total": 2453 }, "hash": "sha256:2c77cfb38bb2e466a8f56dabbb706fcd2e90cf1634fc9beb7f0ee95a75735653", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -5152,7 +5152,7 @@ "estimated_token_count_total": 2614 }, "hash": "sha256:4325cdd697814b8043db808da3dee86d3d9c6fc7dd523aae7fe8914d59d1b39c", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -5209,7 +5209,7 @@ "estimated_token_count_total": 1430 }, "hash": "sha256:1284c42be692167e01bcc44e2e134ec20615402675fac26df246c00aa1588d80", - "last_modified": "2025-10-17T05:06:45+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -5277,7 +5277,7 @@ "estimated_token_count_total": 2018 }, "hash": "sha256:49866761ef638dd0683bb5558f5319b9568ff136295b3359580a6f478172c73f", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -5325,7 +5325,7 @@ "estimated_token_count_total": 999 }, "hash": "sha256:6d6c66430a7302f29113924c5208e64d7c244497e50c61ab2f45c4b5141620e4", - "last_modified": "2025-10-21T14:13:44+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -5387,7 +5387,7 @@ "estimated_token_count_total": 1863 }, "hash": "sha256:7086406b31e7aa9089b221ffaa548ee5540a3d147ec1e93136f481c883f2e434", - "last_modified": "2025-10-21T14:13:44+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -5474,7 +5474,7 @@ "estimated_token_count_total": 1870 }, "hash": "sha256:3b766e00e55a224201bc6744386a6dabc7da54ed9199b16abab3b94cff449eca", - "last_modified": "2025-10-21T14:13:44+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -5567,7 +5567,7 @@ "estimated_token_count_total": 9871 }, "hash": "sha256:0d7e04fd952cc9d5bd8cdbfd87cc4004c5f95e896a16bc7f89dfc4caeac8f371", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -5630,7 +5630,7 @@ "estimated_token_count_total": 2661 }, "hash": "sha256:04e85c4cddb58252f8253d78a3924bb56952dac2a3e9a057704a91a0d1f21d75", - "last_modified": "2025-10-21T14:13:44+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -5662,7 +5662,7 @@ "estimated_token_count_total": 2073 }, "hash": "sha256:9836ab7da420e9ca8196da77dc3ff8198cb3b622548842d0505c0aa043a5f02e", - "last_modified": "2025-10-21T14:13:44+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -5734,7 +5734,7 @@ "estimated_token_count_total": 579 }, "hash": "sha256:4c33d0ec5026128b3bfdb1dfc1f4b29487404eaa8043071d536e8638356c6e1f", - "last_modified": "2025-10-21T14:13:44+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -5776,7 +5776,7 @@ "estimated_token_count_total": 557 }, "hash": "sha256:993e93b05c8fbdfc2f7510c61ac86bc4c2ff0f03e573695b2f260933c8b62f78", - "last_modified": "2025-10-21T14:13:44+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -5843,7 +5843,7 @@ "estimated_token_count_total": 1044 }, "hash": "sha256:d84a5af1a0237a911d25a68c077f508ebbce608f673ef4f9055e8e434daa96b9", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -5910,7 +5910,7 @@ "estimated_token_count_total": 4229 }, "hash": "sha256:abd9f939f68b068a18567b875c9f7e11d102c54fc02ca0e6ee8041c539061ed0", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -5967,7 +5967,7 @@ "estimated_token_count_total": 1286 }, "hash": "sha256:0b43b452e9d709cb324bf51fd88c2fed8e6249534a7c2b852e1bd36bcb9b981a", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -6029,7 +6029,7 @@ "estimated_token_count_total": 1827 }, "hash": "sha256:1090b02689df5f4c59bb83f9c81436718d06e46f3b615bc655fef3c7b6c9fb02", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -6111,7 +6111,7 @@ "estimated_token_count_total": 2559 }, "hash": "sha256:0857a9e83aefc6d3f04e8cb320ab82d35211bbd73d2eb2614cf7b97f8e6d36b9", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -6198,7 +6198,7 @@ "estimated_token_count_total": 3827 }, "hash": "sha256:e2567b7d5377c87984622cf93afe4bd8cedf46b80597736cf53f26b5f31c5065", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -6245,7 +6245,7 @@ "estimated_token_count_total": 625 }, "hash": "sha256:9ab570299106336e5d75923b876247e8eb4a71851a77e84d68e0335e9da5e0a8", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -6357,7 +6357,7 @@ "estimated_token_count_total": 5832 }, "hash": "sha256:a7b5239c3be0341ced8f28146e240ff6061fded2e71094bd586beeb024684a50", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -6409,7 +6409,7 @@ "estimated_token_count_total": 861 }, "hash": "sha256:97655248c65e816fdf3d85dab4ace7ca0c145c50f671c25c24627cfd7660c7a6", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -6466,7 +6466,7 @@ "estimated_token_count_total": 1167 }, "hash": "sha256:b2e8abce15fc9df106a5e972f28c64f606f9dd50ba3a256093eb53bdd5126224", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -6513,7 +6513,7 @@ "estimated_token_count_total": 1477 }, "hash": "sha256:76500d1d63f4205a84f0bc5b7f9aec945781127d41c32927280ac74bc14f0296", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -6580,7 +6580,7 @@ "estimated_token_count_total": 3409 }, "hash": "sha256:abe6bedab04f463ec07f554977b8d6355a5d2fad9bcda01cbe58568152295daa", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -6632,7 +6632,7 @@ "estimated_token_count_total": 2617 }, "hash": "sha256:7d43408276d811c96b7b081a7b9f4d884893282a230b564c9eb3be2fc7857565", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -6699,7 +6699,7 @@ "estimated_token_count_total": 1044 }, "hash": "sha256:d84a5af1a0237a911d25a68c077f508ebbce608f673ef4f9055e8e434daa96b9", - "last_modified": "2025-10-21T14:13:44+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -6766,7 +6766,7 @@ "estimated_token_count_total": 4197 }, "hash": "sha256:b83e3f77bd30ac8c8fb00a193bbec33cd641d94f1a37ac611dea32326c3d77b0", - "last_modified": "2025-10-21T14:13:44+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -6823,7 +6823,7 @@ "estimated_token_count_total": 1280 }, "hash": "sha256:992082e4ad87348b283f6c37ea886ae0e7bf016852b6470000876f3d169c65a4", - "last_modified": "2025-10-21T14:13:44+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -6885,7 +6885,7 @@ "estimated_token_count_total": 1840 }, "hash": "sha256:0fb5a83835aab263c0b9aa886028c8aa8a2d6d0897d7b9fff4b5258835d30dfe", - "last_modified": "2025-10-21T14:13:44+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -6967,7 +6967,7 @@ "estimated_token_count_total": 2592 }, "hash": "sha256:d2c1c91734bc8185057d8eeec6829ea91e0316f7ba884c5dc3922a5e5778815e", - "last_modified": "2025-10-21T14:13:44+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -7054,7 +7054,7 @@ "estimated_token_count_total": 3864 }, "hash": "sha256:a4235e8d590033d5d54434143e0a5e23603c53ae70d4f0a9ebfe4ca9442baa8d", - "last_modified": "2025-10-21T14:13:45+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -7101,7 +7101,7 @@ "estimated_token_count_total": 629 }, "hash": "sha256:0d6db361bfa7a3022849bbe39989bfdac0429537498d7f534adadec131afca98", - "last_modified": "2025-10-21T14:13:45+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -7213,7 +7213,7 @@ "estimated_token_count_total": 5866 }, "hash": "sha256:81eb0fe77f05155f1ec0511cd066120fc9994961e9d91e21b6666377e65b4586", - "last_modified": "2025-10-21T14:13:45+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -7265,7 +7265,7 @@ "estimated_token_count_total": 861 }, "hash": "sha256:1af153570ce57bd5b52d08493a300996765686f2a6d04519a2e0aa91191612c1", - "last_modified": "2025-10-21T14:13:45+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -7322,7 +7322,7 @@ "estimated_token_count_total": 1185 }, "hash": "sha256:888230b128d8c648c4f06a18d3b1d1b06dd1bf22a0de4add1f28210ffccb2549", - "last_modified": "2025-10-21T14:13:45+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -7369,7 +7369,7 @@ "estimated_token_count_total": 1485 }, "hash": "sha256:46435b97c37ef6798d2c75c69df31c5e5f07e04b218c370ec5af6b1838d43aac", - "last_modified": "2025-10-21T14:13:45+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -7436,7 +7436,7 @@ "estimated_token_count_total": 3409 }, "hash": "sha256:abe6bedab04f463ec07f554977b8d6355a5d2fad9bcda01cbe58568152295daa", - "last_modified": "2025-10-21T14:13:45+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -7488,7 +7488,7 @@ "estimated_token_count_total": 2588 }, "hash": "sha256:d5d6d72eb2cf10f624d84c65f2274f7df90acb5d071bf170bc8eae8d98a810a5", - "last_modified": "2025-10-21T14:13:45+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -7550,7 +7550,7 @@ "estimated_token_count_total": 2598 }, "hash": "sha256:867727c125c6584645e9832d2cad64762d75e5b9e4a497bd8bbba25c470c67d9", - "last_modified": "2025-10-21T14:13:45+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -7607,7 +7607,7 @@ "estimated_token_count_total": 1221 }, "hash": "sha256:b1f5561be570e34e47509f6bbe04e4f58def3b7c40c870a2309e3f6ce2c39d56", - "last_modified": "2025-10-21T14:13:45+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -7668,8 +7668,18 @@ }, { "depth": 3, - "title": "Key Benefits of Full Integration", - "anchor": "key-benefits-of-full-integration" + "title": "EVM Execution Only", + "anchor": "evm-execution-only" + }, + { + "depth": 3, + "title": "Full Ethereum Compatibility", + "anchor": "full-ethereum-compatibility" + }, + { + "depth": 3, + "title": "Key Benefits", + "anchor": "key-benefits-2" }, { "depth": 3, @@ -7693,13 +7703,13 @@ } ], "stats": { - "chars": 6319, - "words": 783, - "headings": 14, - "estimated_token_count_total": 1498 + "chars": 6647, + "words": 833, + "headings": 16, + "estimated_token_count_total": 1623 }, - "hash": "sha256:0bdf251a9f2f48e8d4d64a228c9b0f1ffd3b1561ddfdc488ca29b73cddad4c23", - "last_modified": "2025-10-21T14:13:45+00:00", + "hash": "sha256:1e2f49788d47a89e528a09abe5e3cc9b533ae601a84953c7d20a5b8d271548e0", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -7752,7 +7762,7 @@ "estimated_token_count_total": 3091 }, "hash": "sha256:51cb6bb7ed2b81022ba09a02644272fd0c120032ff543d789bb4c482a79bdd94", - "last_modified": "2025-10-21T14:13:46+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -7819,7 +7829,7 @@ "estimated_token_count_total": 3338 }, "hash": "sha256:915bc91edd56cdedd516e871dbe450d70c9f99fb467cc00ff231ea3a74f61d96", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -7886,7 +7896,7 @@ "estimated_token_count_total": 3997 }, "hash": "sha256:1d324a805f33a41ae1e5c3998f2979c74217ce433a29ff48969f1ea9882cdeaa", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -7938,7 +7948,7 @@ "estimated_token_count_total": 1576 }, "hash": "sha256:733652ec4eff9b11efd858a7fd7f1094e7a2e8e7deed4c60c5805f986d877df4", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -7995,7 +8005,7 @@ "estimated_token_count_total": 1563 }, "hash": "sha256:8568dfa238b9a649a4e6e60510625c2e7879b76a93187b0b8b8dccf6bc467ae6", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -8063,7 +8073,7 @@ "estimated_token_count_total": 2292 }, "hash": "sha256:759ed27cf3d473445e33141089b652082c42a2c59eb822d6b506146fd9555e13", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -8146,7 +8156,7 @@ "estimated_token_count_total": 2709 }, "hash": "sha256:2ee5656f749b4bca445172f2bc66c7fc39af40ff173626662ae4c399f49cf909", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -8184,7 +8194,7 @@ "estimated_token_count_total": 428 }, "hash": "sha256:cfcc76bb24779c9b613f2c046b6f99a0f2529c25fd82287d804f6b945b936227", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -8217,7 +8227,7 @@ "estimated_token_count_total": 245 }, "hash": "sha256:6d8e01281a5895fd2bc4438b24c170c72a496de0b838626a53e87685aea4aa25", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -8255,7 +8265,7 @@ "estimated_token_count_total": 633 }, "hash": "sha256:62c5ad101282227f79eac0e30a3ba9ce3ae1bf9e358bd58c0b17ef45db29c2ff", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -8327,7 +8337,7 @@ "estimated_token_count_total": 2285 }, "hash": "sha256:b8de1228b9976765accd18ff724038bed6f2449367f500bc3177ab2a053abe63", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -8379,7 +8389,7 @@ "estimated_token_count_total": 1427 }, "hash": "sha256:b501d99c464fb049d46676827b6a325a195c90617becc4a7db305441c115350a", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -8437,7 +8447,7 @@ "estimated_token_count_total": 1501 }, "hash": "sha256:3b26606dd5310c4b8ade5d05270ebf1e06f59afcda4ca2b985e07948215a197e", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -8458,7 +8468,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T09:47:31+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -8479,7 +8489,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -8531,7 +8541,7 @@ "estimated_token_count_total": 744 }, "hash": "sha256:358ed14147b96b47deb61df9a1ea0e1103a139ea5edb78c5d50a48d5a779b80d", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -8609,7 +8619,7 @@ "estimated_token_count_total": 2379 }, "hash": "sha256:637b9460bb65621cbc7c1bff272ea287d5181a983bc61418167959e108e21791", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -8662,7 +8672,7 @@ "estimated_token_count_total": 1751 }, "hash": "sha256:bbef601f2645c23200a3b16bc1b8e5bcad2aafdee6d60ae860ce8b5a53122c14", - "last_modified": "2025-10-17T05:06:45+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -8709,7 +8719,7 @@ "estimated_token_count_total": 1161 }, "hash": "sha256:ec31270001a6cd9d0a8ecb7974ad161d5c1ef4d3023d5a6af9fbc5a6ca46cbca", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:32+00:00", "token_estimator": "heuristic-v1" }, { @@ -8781,7 +8791,7 @@ "estimated_token_count_total": 4014 }, "hash": "sha256:55dc252fdecf1590048ce8d009b822e90231442abe81e9593cf1635944a31336", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -8833,7 +8843,7 @@ "estimated_token_count_total": 2028 }, "hash": "sha256:e408d05199cc184fc6fe8bb212efb3c9aa6cb79258977e07566692176c912def", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -8906,7 +8916,7 @@ "estimated_token_count_total": 2614 }, "hash": "sha256:4325cdd697814b8043db808da3dee86d3d9c6fc7dd523aae7fe8914d59d1b39c", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -8999,7 +9009,7 @@ "estimated_token_count_total": 9871 }, "hash": "sha256:0d7e04fd952cc9d5bd8cdbfd87cc4004c5f95e896a16bc7f89dfc4caeac8f371", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -9047,7 +9057,7 @@ "estimated_token_count_total": 1125 }, "hash": "sha256:9875239c6071033a37a0f67fabca5a6e840c4a287620309f47b4f29c5a95a1cb", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -9111,7 +9121,7 @@ "estimated_token_count_total": 1861 }, "hash": "sha256:932c12e1af939698279ede2eacb2190e1f56119582adf2064d6cf86f7a4f3e3c", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -9158,7 +9168,7 @@ "estimated_token_count_total": 619 }, "hash": "sha256:00be43ac8d666bbe15c5c2fa5a5085697d0bb5a6f341ebbb943a209f0be355df", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -9220,7 +9230,7 @@ "estimated_token_count_total": 1440 }, "hash": "sha256:2d228c52844df8952520fafdd3e6f0e26bfd2f32b5ee60c6241cf7d38603643c", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -9299,7 +9309,7 @@ "estimated_token_count_total": 2591 }, "hash": "sha256:201e7efa0ad6b24890dd06f69714e19d9700ab7f7a51a33fe6d6e0664b7170b2", - "last_modified": "2025-10-17T05:06:45+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -9386,7 +9396,7 @@ "estimated_token_count_total": 2534 }, "hash": "sha256:191df9b098e17e9de4597c9f8ced8abbafdfabc7e0f5c0a94d767fc2c9d7742b", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -9518,7 +9528,7 @@ "estimated_token_count_total": 4105 }, "hash": "sha256:759ab6dea0ad03c3f627558ea186d9f32351fa559acde82931684efc2da59d46", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -9570,7 +9580,7 @@ "estimated_token_count_total": 1218 }, "hash": "sha256:26c156146ef9743fc26c6499294ff14186f97edbc2a34f445d3366b72f7148ae", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -9602,7 +9612,7 @@ "estimated_token_count_total": 424 }, "hash": "sha256:59ec351fbb8d3a392e90f4f5bf6b62f58b21d6d7a900c5e367e5d2e09ecb3aca", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -9644,7 +9654,7 @@ "estimated_token_count_total": 1230 }, "hash": "sha256:8d186fa56ccbbf4b6c85cffc5521b9a99a20e9517f3b4a435730745803cbf2e8", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -9712,7 +9722,7 @@ "estimated_token_count_total": 1643 }, "hash": "sha256:100377787627052a29bd1173270b5ad307639b828c331e71c85d4c00bc5692d8", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -9774,7 +9784,7 @@ "estimated_token_count_total": 876 }, "hash": "sha256:8239d1e8d8642cb7c10e9e5f971c99b999e9e4a87373b50bf4a691225c1e4702", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -10111,7 +10121,7 @@ "estimated_token_count_total": 5271 }, "hash": "sha256:f0e04286eacf23b182186f23e9854c0cd251545b8a8d561d2503f962dbfe32c0", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -10153,7 +10163,7 @@ "estimated_token_count_total": 631 }, "hash": "sha256:baba9dd41091b792d09005d55d3df0bf65b35f42b40ebe63caf425a0978a22b0", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -10221,7 +10231,7 @@ "estimated_token_count_total": 1611 }, "hash": "sha256:62beec261e72529f70e07a641177d489d2c8872f9c9d618cbadf1ac0fd881986", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -10319,7 +10329,7 @@ "estimated_token_count_total": 6521 }, "hash": "sha256:1f9ce923b3ce296571fe63837c0d3c3c791a339ef02db09ead6b2b92e9d1bfd5", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -10382,7 +10392,7 @@ "estimated_token_count_total": 1399 }, "hash": "sha256:bcad23a74d962cab72b54cdc090bf9ee0cd5ecf79f70fb642f154668c2743983", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -10480,7 +10490,7 @@ "estimated_token_count_total": 4464 }, "hash": "sha256:299597c39d0e4e4902be8e45b354fff78a862aa5799e4f16d16787a97a1e3da8", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -10613,7 +10623,7 @@ "estimated_token_count_total": 4705 }, "hash": "sha256:6675634d4c5f274a7cc69802ee0a2d259e38efd5afd1c9dacc2d0fecfb370e4c", - "last_modified": "2025-10-17T05:06:45+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -10711,7 +10721,7 @@ "estimated_token_count_total": 3782 }, "hash": "sha256:eb4da21d561e9fd9333d97805318f0e263f54570120d3852ce7eba64da604cc2", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -10794,7 +10804,7 @@ "estimated_token_count_total": 1797 }, "hash": "sha256:259dcef86aadc513675258b665cc3940db65af6eb32a5db85da6ac339966fa60", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -10867,7 +10877,7 @@ "estimated_token_count_total": 3213 }, "hash": "sha256:e448294b6e52291ac0add5fa6533572814e6cd27af42bdaccc2000b86f52d775", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -10925,7 +10935,7 @@ "estimated_token_count_total": 780 }, "hash": "sha256:077e7e5bfc9509cf09f455959a5da7a74b7af69836b3c4b334692f32e306ddf1", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -10999,7 +11009,7 @@ "estimated_token_count_total": 1473 }, "hash": "sha256:695c624a1d7a3ed6fea0f4f5c19bb2100be986cec29ba58edb4598b9e9b98494", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -11072,7 +11082,7 @@ "estimated_token_count_total": 914 }, "hash": "sha256:8122e21c149d0863cfe3b37fc5606bcdb91668e9d265f0f05451a61ff70e4e93", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -11125,7 +11135,7 @@ "estimated_token_count_total": 1394 }, "hash": "sha256:217a79109aff1607594a0238fd91bfa812827620887c4f063c7e0a7a37f967d6", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -11193,7 +11203,7 @@ "estimated_token_count_total": 1822 }, "hash": "sha256:db2b1806153242680043ced536f64fc8a2ed3c09adc1bec5aa287168b48e0994", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -11256,7 +11266,7 @@ "estimated_token_count_total": 1178 }, "hash": "sha256:9a6b3fa6c005d75c25f0f683b7d8c3b65891454743b794c12b005f910b81609c", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -11369,7 +11379,7 @@ "estimated_token_count_total": 5305 }, "hash": "sha256:fe651be49fe0a9ae899b2cbf9c663325f407718dc63f1d2c6a2dc4931be751fa", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -11437,7 +11447,7 @@ "estimated_token_count_total": 891 }, "hash": "sha256:b5acdc9acf0e44836b8a4518155eba7d16cc3b103c557a00970ffb1c44c3e9f6", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -11490,7 +11500,7 @@ "estimated_token_count_total": 2570 }, "hash": "sha256:e2cf14bcb483308f73a80c8e8871ce1a86fa694576d2e6e51beafc24488f4d58", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -11543,7 +11553,7 @@ "estimated_token_count_total": 994 }, "hash": "sha256:6992c9a2d1b315b64d9782880105cf2d436750249a84577aceb95cc213863009", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -11880,7 +11890,7 @@ "estimated_token_count_total": 5273 }, "hash": "sha256:40bd67811e7eabc79ca5d105eae388b19380d9f035022da17fc0d6bb173c817c", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -11922,7 +11932,7 @@ "estimated_token_count_total": 631 }, "hash": "sha256:baba9dd41091b792d09005d55d3df0bf65b35f42b40ebe63caf425a0978a22b0", - "last_modified": "2025-10-21T14:13:47+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -12020,7 +12030,7 @@ "estimated_token_count_total": 6507 }, "hash": "sha256:0104a9132a69345a2faac37fca0e2853a2ded1efb009511a83a98d44509ab887", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -12083,7 +12093,7 @@ "estimated_token_count_total": 1395 }, "hash": "sha256:424783c102bea5dae5b8749635858c6c59055563442a98f57521f0027dafa8d3", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -12181,7 +12191,7 @@ "estimated_token_count_total": 4464 }, "hash": "sha256:7d0c3fa7982b3e1843adb8f27422456397580b3a3eba5047b381da8517742536", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -12314,7 +12324,7 @@ "estimated_token_count_total": 4699 }, "hash": "sha256:547f062b248779f0b3e823778120c4f32e449937b6f270ddf97378bc6d795c62", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -12412,7 +12422,7 @@ "estimated_token_count_total": 3774 }, "hash": "sha256:49238d1e9e2c33e0fcd3a84b5e30f0d3840d7d23a783b538875e0a23f38efc1d", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -12433,7 +12443,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -12495,7 +12505,7 @@ "estimated_token_count_total": 1440 }, "hash": "sha256:2d228c52844df8952520fafdd3e6f0e26bfd2f32b5ee60c6241cf7d38603643c", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -12578,7 +12588,7 @@ "estimated_token_count_total": 1797 }, "hash": "sha256:259dcef86aadc513675258b665cc3940db65af6eb32a5db85da6ac339966fa60", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -12651,7 +12661,7 @@ "estimated_token_count_total": 3213 }, "hash": "sha256:e448294b6e52291ac0add5fa6533572814e6cd27af42bdaccc2000b86f52d775", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -12709,7 +12719,7 @@ "estimated_token_count_total": 772 }, "hash": "sha256:11bb4f113bdda5852a3115e64d5ba47f8eccd4e3619a05ad960ab3a541f31346", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -12783,7 +12793,7 @@ "estimated_token_count_total": 1473 }, "hash": "sha256:e49e063a2cc0fb5a48c6cdc3de266bb6e025a006940fea8e90cc4d5f9884900f", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -12856,7 +12866,7 @@ "estimated_token_count_total": 914 }, "hash": "sha256:8122e21c149d0863cfe3b37fc5606bcdb91668e9d265f0f05451a61ff70e4e93", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -12909,7 +12919,7 @@ "estimated_token_count_total": 1388 }, "hash": "sha256:c7d8a5a4263fd21af458ab0bd102377104affdf2431b4fe74eeff4ebe62a4a81", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -13041,7 +13051,7 @@ "estimated_token_count_total": 4087 }, "hash": "sha256:73c34bb1dc80d04f765812c3ed2f247aeda6ce55598b0680d0bd157f25456b99", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -13093,7 +13103,7 @@ "estimated_token_count_total": 1220 }, "hash": "sha256:86734ba8bcdea7913f488edf666a6104bed0a18649d57abde82c149c41c2b871", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -13125,7 +13135,7 @@ "estimated_token_count_total": 424 }, "hash": "sha256:59ec351fbb8d3a392e90f4f5bf6b62f58b21d6d7a900c5e367e5d2e09ecb3aca", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -13172,7 +13182,7 @@ "estimated_token_count_total": 619 }, "hash": "sha256:00be43ac8d666bbe15c5c2fa5a5085697d0bb5a6f341ebbb943a209f0be355df", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -13259,7 +13269,7 @@ "estimated_token_count_total": 2526 }, "hash": "sha256:231fc555eefe5f910fb36e0c03945147d0fb235272850797391751f4444b0a9c", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -13338,7 +13348,7 @@ "estimated_token_count_total": 2571 }, "hash": "sha256:8a914e4309d4fe7070e62d7abe4665b6c76c8dc5ec3219332eccb16b77b0dd95", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -13400,7 +13410,7 @@ "estimated_token_count_total": 876 }, "hash": "sha256:8239d1e8d8642cb7c10e9e5f971c99b999e9e4a87373b50bf4a691225c1e4702", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -13421,7 +13431,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -13489,7 +13499,7 @@ "estimated_token_count_total": 2300 }, "hash": "sha256:ba24e31e2ad94fbf1d73f1878da92dd2e1476db00170780bbdf0e65ab18bc961", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -13547,7 +13557,7 @@ "estimated_token_count_total": 1430 }, "hash": "sha256:1284c42be692167e01bcc44e2e134ec20615402675fac26df246c00aa1588d80", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -13615,7 +13625,7 @@ "estimated_token_count_total": 2453 }, "hash": "sha256:2c77cfb38bb2e466a8f56dabbb706fcd2e90cf1634fc9beb7f0ee95a75735653", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -13683,7 +13693,7 @@ "estimated_token_count_total": 2018 }, "hash": "sha256:a87815deff81936d7f50842f8600004990076c1a33e7e6b408ab954b6ce47259", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -13736,7 +13746,7 @@ "estimated_token_count_total": 1987 }, "hash": "sha256:2ca93b09d3bb9159bbf53816886a9b242bb3c13b996c51fd52962e049e2d5477", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -13768,7 +13778,7 @@ "estimated_token_count_total": 669 }, "hash": "sha256:a7f9c4a03153ee637a0557d2cea0b622c849667ce793b1294bb3299cf036197d", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -13841,7 +13851,7 @@ "estimated_token_count_total": 1084 }, "hash": "sha256:7f533abe61586af8438e350c41b741d74a8edb839f9dc4139bc4619ba3748258", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -13909,7 +13919,7 @@ "estimated_token_count_total": 1166 }, "hash": "sha256:ed3986f30880fefca5975fcdc847c68b4aca65862c63e3002b25391b0521781d", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -13967,7 +13977,7 @@ "estimated_token_count_total": 942 }, "hash": "sha256:8987fc35cd28602054ee018031f773e2e3837425107c51d0e2ac68a94b86e9c0", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14020,7 +14030,7 @@ "estimated_token_count_total": 1945 }, "hash": "sha256:0795462182cb97256bb5c2acb035855fe0d6557185de8ac99482725ecb4f94c1", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14093,7 +14103,7 @@ "estimated_token_count_total": 2187 }, "hash": "sha256:56269d9ea47f5b4e92cd7d5a1e65ab06d181a9c380f90bb3ef285529b12299f7", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14152,7 +14162,7 @@ "estimated_token_count_total": 1700 }, "hash": "sha256:47328231d6ff4dc52cd93aaf1baf5d0bc2d9fc372f3d79339d87aafa0dabd1b8", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14173,7 +14183,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14210,7 +14220,7 @@ "estimated_token_count_total": 558 }, "hash": "sha256:a2490223926957381913ae0ed22e2df3611a6713ec9d77a3015d1cd6a578b3f6", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14231,7 +14241,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14289,7 +14299,7 @@ "estimated_token_count_total": 2671 }, "hash": "sha256:2a42198668c759f63aa602115bf2d290ec7d03bbc3a3df20e30e85027e1b1cc3", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14310,7 +14320,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14364,7 +14374,7 @@ "estimated_token_count_total": 2107 }, "hash": "sha256:296cba75b1d49aefa1b8636ba95ca20c3431b7eb0e93b0658add671ef5801732", - "last_modified": "2025-10-21T14:13:48+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14418,7 +14428,7 @@ "estimated_token_count_total": 2264 }, "hash": "sha256:4e3ac6affdbe93ce9d132cbb838be1dfaf7a629b0e1f10ce4d90cc3899d656cb", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14439,7 +14449,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14460,7 +14470,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14537,7 +14547,7 @@ "estimated_token_count_total": 6228 }, "hash": "sha256:72e41f816f07026d96c803f399c71852aa1151c464e79cec3e1746b282d5eaae", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14558,7 +14568,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14579,7 +14589,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14600,7 +14610,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14621,7 +14631,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14642,7 +14652,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14720,7 +14730,7 @@ "estimated_token_count_total": 4190 }, "hash": "sha256:1729ad83ad381a90752540644d400c60add3555e5da296ab455442be81d32f8c", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14741,7 +14751,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14762,7 +14772,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14783,7 +14793,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14825,7 +14835,7 @@ "estimated_token_count_total": 2430 }, "hash": "sha256:e3d8b84cb2cee7010978582998b2269296a042aec53fb016388690ab6adf355e", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14846,7 +14856,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14909,7 +14919,7 @@ "estimated_token_count_total": 1347 }, "hash": "sha256:7589fa1dbdbf5748892ab6d42fc784d833f33e254bd3f95ee58424effcd38323", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14930,7 +14940,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14951,7 +14961,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -14994,7 +15004,7 @@ "estimated_token_count_total": 309 }, "hash": "sha256:93e8a3043d65583e3d66f8f5f0ed6f4ef89a908ef85da2b6ca906a1100b7dded", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -15031,7 +15041,7 @@ "estimated_token_count_total": 313 }, "hash": "sha256:c609bc98cba5efa2d2a808548cf93ad9d0a06455b35a8fd9f534daf52824f506", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -15099,7 +15109,7 @@ "estimated_token_count_total": 1818 }, "hash": "sha256:f50cd1177dd4aff8eb031d6f21cb640f8187a7f2dd0edcaef5c73354a378e44d", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -15162,7 +15172,7 @@ "estimated_token_count_total": 1182 }, "hash": "sha256:9542f40acae725e628f4c3155ad1e7e0e18b2eb518484856ad439a1d9f86d1f3", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -15183,7 +15193,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -15236,7 +15246,7 @@ "estimated_token_count_total": 994 }, "hash": "sha256:6992c9a2d1b315b64d9782880105cf2d436750249a84577aceb95cc213863009", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -15293,7 +15303,7 @@ "estimated_token_count_total": 1046 }, "hash": "sha256:dd29fab6e3c00d720b10effa4e50373a6fe9ab4b7bfd3aea892c7fa9c84318a2", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -15490,7 +15500,7 @@ "estimated_token_count_total": 9750 }, "hash": "sha256:1fb7a20bc4a799a771954720428029419ec73afa640e589590c43dd041a7e307", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -15511,7 +15521,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -15569,7 +15579,7 @@ "estimated_token_count_total": 2840 }, "hash": "sha256:224a9f69d4613a5f1afdbc1f05379add8321fe159e32c71db003bbe08ff8e976", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -15590,7 +15600,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -15611,7 +15621,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -15664,7 +15674,7 @@ "estimated_token_count_total": 1627 }, "hash": "sha256:65809486f62f60c6a6ac8109f9f027361683c23f639991a045ec5c057b665026", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -15752,7 +15762,7 @@ "estimated_token_count_total": 4474 }, "hash": "sha256:c74a28d8d62369591c5734535136508db3d1f7380e486fd214f98d433cafd6e7", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -15845,7 +15855,7 @@ "estimated_token_count_total": 3891 }, "hash": "sha256:e27657e4e4a14fe86f424b96631946ec36fb90d277e6010b6cbd64c4769aba8a", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -15918,7 +15928,7 @@ "estimated_token_count_total": 3250 }, "hash": "sha256:bc771f912627fa09cad64adab1bc81c052f650d6c5a3b4f0c91883a98f6628da", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -15991,7 +16001,7 @@ "estimated_token_count_total": 3035 }, "hash": "sha256:f0d36333d0d3afff7f6374a61d0f6d1fb878c9ef4c4e4c24447745661dbe59d0", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -16044,7 +16054,7 @@ "estimated_token_count_total": 2509 }, "hash": "sha256:205892e350168b3d0da7ccc280c67c3217ad1e45e87a53d124fa1dd69661aa5e", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -16117,7 +16127,7 @@ "estimated_token_count_total": 1122 }, "hash": "sha256:ee87115c828928c82937de26f5f938cecd4c3bb1225fdb61627e8092e6ea5951", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -16138,7 +16148,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -16159,7 +16169,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -16226,7 +16236,7 @@ "estimated_token_count_total": 2276 }, "hash": "sha256:4856172c6356357818234a3b7f0828716bd32e6192f3609c51de0cafcc5a75e7", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -16293,7 +16303,7 @@ "estimated_token_count_total": 2249 }, "hash": "sha256:1368f6d49bccb7ba0e642cc58ea2c97ca95ae45e390cb9fa2ab11b0b41de52f4", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -16405,7 +16415,7 @@ "estimated_token_count_total": 4844 }, "hash": "sha256:96acff10be56dea76acdb5c915c1dde0eb15eb12eb95e7871eef56bab6cda273", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -16477,7 +16487,7 @@ "estimated_token_count_total": 2375 }, "hash": "sha256:61bc251929352f2299ca1d413d05aa9c3672b914575a285d73c7ba53dbd75bff", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -16529,7 +16539,7 @@ "estimated_token_count_total": 1461 }, "hash": "sha256:370ed10155cee84889a6d230d0bc3476597448f88a2a271ab87ef893a3268c18", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -16601,7 +16611,7 @@ "estimated_token_count_total": 7755 }, "hash": "sha256:086a87823ab67ceac102358030e316583cd733c0ec326316e7f29061fe7f6934", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -16663,7 +16673,7 @@ "estimated_token_count_total": 2764 }, "hash": "sha256:a2bba0ba575bd7e3f7199282ea5994087acf2c62e828f316e6eb62c9a43449e1", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -16745,7 +16755,7 @@ "estimated_token_count_total": 34492 }, "hash": "sha256:bef820acfe429d4a847a8de82de6c70155ac6b3ad5ebdd574a2157923b45f688", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -16798,7 +16808,7 @@ "estimated_token_count_total": 3099 }, "hash": "sha256:d2f3ab658ab29514ac161b17df23e0e7c1f63a7fa4fefcef451ef80b413ab757", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -16891,7 +16901,7 @@ "estimated_token_count_total": 5338 }, "hash": "sha256:b3530f5fc5c9e916181dbc259a7fbae9c60100cb0450fc6d47bbb0d140afa075", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -16963,7 +16973,7 @@ "estimated_token_count_total": 4358 }, "hash": "sha256:87b19f6e881611329b7015e8d8187d7d85b2b2ef14b01e832c8b8e20897e3b40", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -17020,7 +17030,7 @@ "estimated_token_count_total": 2138 }, "hash": "sha256:ff2c267284959711782c0d6ecb4b439c3a6cc31f763d5e1ff2cc3b1f6efb62b2", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -17072,7 +17082,7 @@ "estimated_token_count_total": 2929 }, "hash": "sha256:df60044893f48dd7f37a11de275a16bf32adb31317ed70a789fd7fac64150e1a", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -17164,7 +17174,7 @@ "estimated_token_count_total": 4789 }, "hash": "sha256:81750202081ff24447f4e129c49230eedb315d1b44c740b677c3495a8f7adb9a", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -17246,7 +17256,7 @@ "estimated_token_count_total": 2452 }, "hash": "sha256:1eb463c6b2732ebed0d16165425cde438688d21cc302f759b40250850c2a5e83", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -17309,7 +17319,7 @@ "estimated_token_count_total": 3255 }, "hash": "sha256:fe94de6f97fb588552f6cbc6b1a4c7399e91f5f31585f61a0dee66f5f50ff8a0", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -17376,7 +17386,7 @@ "estimated_token_count_total": 4242 }, "hash": "sha256:2f11054e0d31c003ebae5d990b559bd56741d190ca409f6ad060216245fa2d17", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -17433,7 +17443,7 @@ "estimated_token_count_total": 2263 }, "hash": "sha256:a6a535f4f5e145d3e2a7518739f752ee3ed37b7745483f414e21c97792331d18", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -17481,7 +17491,7 @@ "estimated_token_count_total": 1571 }, "hash": "sha256:3ad540d8ad636304705cccb08bc1fdf21fe2fc7dc0f99bd509b23ae96d20e0ba", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -17573,7 +17583,7 @@ "estimated_token_count_total": 2140 }, "hash": "sha256:388c988338ed84589c546bb1606d08641fb931dae307d3df92aeccd2e4986080", - "last_modified": "2025-10-20T08:30:40+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -17642,7 +17652,7 @@ "estimated_token_count_total": 2702 }, "hash": "sha256:1f8ab387f721d865a7ca75eaa2528f1f2ebd4528a7d65ffeb27c68953100a3cb", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -17711,7 +17721,7 @@ "estimated_token_count_total": 2564 }, "hash": "sha256:97dadddf4c27f469f552875461fc54d331fa151e4656401e15d6d4173115eecf", - "last_modified": "2025-10-21T14:13:49+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -17769,7 +17779,7 @@ "estimated_token_count_total": 2670 }, "hash": "sha256:07629376480e74afc7fe4d91df539b6ab22453df0f8143df11cc51ef9a78f736", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -17823,7 +17833,7 @@ "estimated_token_count_total": 2056 }, "hash": "sha256:cf9197d6909dd8865e8838cad95e3692fefaecc3d2f4773b26809a02051d620f", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -17877,7 +17887,7 @@ "estimated_token_count_total": 2220 }, "hash": "sha256:aa6371024bb78c3eeedb6820a37859670046fd0e4f756ad417b20c39fb2983b9", - "last_modified": "2025-10-17T05:05:50+00:00", + "last_modified": "2025-11-03T15:36:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -17930,7 +17940,7 @@ "estimated_token_count_total": 1760 }, "hash": "sha256:9cf70459e921b8b231a3f2e7a7c1d47a4917e45f0c4d0fe873ad4062fd540a9a", - "last_modified": "2025-10-21T14:13:50+00:00", + "last_modified": "2025-11-03T17:39:33+00:00", "token_estimator": "heuristic-v1" }, { @@ -18003,7 +18013,7 @@ "estimated_token_count_total": 5118 }, "hash": "sha256:de7fde61d4cac9c28634ee496dcabe116fe44b1b87408f202103290d78247c05", - "last_modified": "2025-10-21T14:13:54+00:00", + "last_modified": "2025-11-03T17:39:34+00:00", "token_estimator": "heuristic-v1" }, { @@ -18086,7 +18096,7 @@ "estimated_token_count_total": 6206 }, "hash": "sha256:cb8ddb4a61f6a62182420b69382f1c7ab2adc2f4ae643f7f68c6867680afe81f", - "last_modified": "2025-10-21T14:13:58+00:00", + "last_modified": "2025-11-03T17:39:35+00:00", "token_estimator": "heuristic-v1" }, { @@ -18149,7 +18159,7 @@ "estimated_token_count_total": 4135 }, "hash": "sha256:ca1d65d450f086a0eb7b81e9589e9894e04b217fe9709a1b464f09beb3ca9dc2", - "last_modified": "2025-10-21T14:14:00+00:00", + "last_modified": "2025-11-03T17:39:36+00:00", "token_estimator": "heuristic-v1" } ] \ No newline at end of file diff --git a/llms-full.jsonl b/llms-full.jsonl index 9e7cae4b7..ef2a11e1e 100644 --- a/llms-full.jsonl +++ b/llms-full.jsonl @@ -973,20 +973,22 @@ {"page_id": "parachains-customize-runtime-add-pallet-instances", "page_title": "Add Multiple Pallet Instances", "index": 4, "depth": 3, "title": "Configure the Pallet Instances", "anchor": "configure-the-pallet-instances", "start_char": 2271, "end_char": 4971, "estimated_token_count": 457, "token_estimator": "heuristic-v1", "text": "### Configure the Pallet Instances\n\nFor a single instance, the configuration would look like this:\n\n```rust hl_lines=\"1\"\nimpl pallet_collective::Config for Runtime {\n type RuntimeOrigin = RuntimeOrigin;\n type Proposal = RuntimeCall;\n type RuntimeEvent = RuntimeEvent;\n type MotionDuration = MotionDuration;\n type MaxProposals = MaxProposals;\n type MaxMembers = MaxMembers;\n type DefaultVote = pallet_collective::MoreThanMajorityThenPrimeDefaultVote;\n type SetMembersOrigin = EnsureRoot;\n type WeightInfo = pallet_collective::weights::SubstrateWeight;\n type MaxProposalWeight = MaxProposalWeight;\n type DisapproveOrigin = EnsureRoot;\n type KillOrigin = EnsureRoot;\n type Consideration = ();\n}\n```\n\nFor multiple instances, you need to create a unique identifier for each instance using the `Instance` type with a number suffix, then implement the configuration for each one:\n\n```rust hl_lines=\"2-3\"\n// Configure first instance\ntype Collective1 = pallet_collective::Instance1;\nimpl pallet_collective::Config for Runtime {\n type RuntimeOrigin = RuntimeOrigin;\n type Proposal = RuntimeCall;\n type RuntimeEvent = RuntimeEvent;\n type MotionDuration = MotionDuration;\n type MaxProposals = MaxProposals;\n type MaxMembers = MaxMembers;\n type DefaultVote = pallet_collective::MoreThanMajorityThenPrimeDefaultVote;\n type SetMembersOrigin = EnsureRoot;\n type WeightInfo = pallet_collective::weights::SubstrateWeight;\n type MaxProposalWeight = MaxProposalWeight;\n type DisapproveOrigin = EnsureRoot;\n type KillOrigin = EnsureRoot;\n type Consideration = ();\n}\n```\n```rust hl_lines=\"2-3\"\n// Configure second instance\ntype Collective2 = pallet_collective::Instance2;\nimpl pallet_collective::Config for Runtime {\n type RuntimeOrigin = RuntimeOrigin;\n type Proposal = RuntimeCall;\n type RuntimeEvent = RuntimeEvent;\n type MotionDuration = MotionDuration;\n type MaxProposals = MaxProposals;\n type MaxMembers = MaxMembers;\n type DefaultVote = pallet_collective::MoreThanMajorityThenPrimeDefaultVote;\n type SetMembersOrigin = EnsureRoot;\n type WeightInfo = pallet_collective::weights::SubstrateWeight;\n type MaxProposalWeight = MaxProposalWeight;\n type DisapproveOrigin = EnsureRoot;\n type KillOrigin = EnsureRoot;\n type Consideration = ();\n}\n```\n\nWhile the example above uses identical configurations for both instances, you can customize each instance's parameters to serve different purposes within your runtime."} {"page_id": "parachains-customize-runtime-add-pallet-instances", "page_title": "Add Multiple Pallet Instances", "index": 5, "depth": 3, "title": "Add Pallet Instances to the Runtime", "anchor": "add-pallet-instances-to-the-runtime", "start_char": 4971, "end_char": 5508, "estimated_token_count": 120, "token_estimator": "heuristic-v1", "text": "### Add Pallet Instances to the Runtime\n\nFinally, add both pallet instances to your runtime definition, ensuring each has:\n\n- A unique pallet index\n- The correct instance type specified\n\n```rust hl_lines=\"6-10\"\n#[frame_support::runtime]\nmod runtime {\n #[runtime::runtime]\n // ... other runtime configuration\n\n #[runtime::pallet_index(16)]\n pub type Collective1 = pallet_collective;\n \n #[runtime::pallet_index(17)]\n pub type Collective2 = pallet_collective;\n \n // ... other pallets\n}\n```"} {"page_id": "parachains-customize-runtime-add-pallet-instances", "page_title": "Add Multiple Pallet Instances", "index": 6, "depth": 2, "title": "Where to Go Next", "anchor": "where-to-go-next", "start_char": 5508, "end_char": 6300, "estimated_token_count": 172, "token_estimator": "heuristic-v1", "text": "## Where to Go Next\n\nIf you've followed all the steps correctly, you should now be able to compile your runtime and interact with both instances of the pallet. Each instance will operate independently with its own storage, events, and configured parameters.\n\nNow that you've mastered implementing multiple pallet instances, the next step is creating your own custom pallets. Explore the following resources:\n\n
\n\n- Guide __Make a Custom Pallet__\n\n ---\n\n Learn how to create custom pallets using FRAME, allowing for flexible, modular, and scalable blockchain development. Follow the step-by-step guide.\n\n [:octicons-arrow-right-24: Reference](/parachains/customize-runtime/pallet-development/create-a-pallet/)\n\n
"} -{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 0, "depth": 2, "title": "Introduction", "anchor": "introduction", "start_char": 36, "end_char": 723, "estimated_token_count": 135, "token_estimator": "heuristic-v1", "text": "## Introduction\n\nWhen building your custom blockchain with the Polkadot SDK, you can add smart contract capabilities through specialized pallets. These pallets enable users to deploy and execute smart contracts, enhancing your chain's programmability and allowing developers to build decentralized applications on your network.\n\nThis guide covers three approaches to adding smart contracts to your blockchain:\n\n- **[pallet-revive](#pallet-revive)** - Modern unified solution supporting both PolkaVM and EVM bytecode\n- **[Frontier](#frontier)** - Ethereum compatibility layer for Polkadot SDK-based chains\n- **[pallet-contracts](#pallet-contracts-legacy)** - Wasm smart contract support"} -{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 1, "depth": 2, "title": "pallet-revive", "anchor": "pallet-revive", "start_char": 723, "end_char": 1045, "estimated_token_count": 74, "token_estimator": "heuristic-v1", "text": "## pallet-revive\n\n[`pallet-revive`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/revive){target=\\_blank} is the modern smart contract solution for Polkadot SDK-based chains. It provides a unified execution environment that supports both PolkaVM and EVM bytecode through dual execution backends."} -{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 2, "depth": 3, "title": "Core Components", "anchor": "core-components", "start_char": 1045, "end_char": 1491, "estimated_token_count": 127, "token_estimator": "heuristic-v1", "text": "### Core Components\n\n**Essential Pallet:**\n- **[`pallet-revive`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/revive){target=\\_blank}** - Provides the core smart contract execution environment with PolkaVM and REVM backends\n\n**Optional RPC Adapter:**\n- **[`pallet-revive-eth-rpc`](https://crates.io/crates/pallet-revive-eth-rpc){target=\\_blank}** - Adds full Ethereum RPC compatibility for Ethereum tooling integration"} -{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 3, "depth": 3, "title": "Supported Languages and Compilers", "anchor": "supported-languages-and-compilers", "start_char": 1491, "end_char": 2071, "estimated_token_count": 183, "token_estimator": "heuristic-v1", "text": "### Supported Languages and Compilers\n\npallet-revive accepts smart contracts from multiple languages and compilation paths:\n\n| Language | Compiler | Output Bytecode | Execution Backend | Performance |\n|----------|----------|-----------------|-------------------|-------------|\n| Solidity | `resolc` | PolkaVM | PolkaVM | Optimal |\n| Solidity | `solc` | EVM | REVM | Compatible |\n| Rust (ink!) | `cargo-contract` | PolkaVM | PolkaVM | Optimal |\n\nAny language that can compile to PolkaVM bytecode and utilize pallet-revive's host functions (via `pallet-revive-uapi`) is supported."} -{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 4, "depth": 3, "title": "How It Works", "anchor": "how-it-works", "start_char": 2071, "end_char": 2381, "estimated_token_count": 61, "token_estimator": "heuristic-v1", "text": "### How It Works\n\n**Dual Execution Model:**\n\n1. **PolkaVM Backend**: Executes PolkaVM bytecode with native performance optimization, precise gas metering, and enhanced security features\n2. **REVM Backend**: Executes EVM bytecode for compatibility with existing Ethereum contracts, ensuring seamless migration"} -{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 5, "depth": 3, "title": "Key Benefits", "anchor": "key-benefits", "start_char": 2381, "end_char": 2849, "estimated_token_count": 91, "token_estimator": "heuristic-v1", "text": "### Key Benefits\n\n- **Unified Platform**: Deploy both PolkaVM-optimized and EVM-compatible contracts using a single pallet\n- **Performance**: PolkaVM execution provides superior performance compared to traditional EVM\n- **Security**: Enhanced security model including reduced re-entrancy attack surface\n- **Precise Metering**: Accurate gas metering for fair resource allocation\n- **Ethereum Compatibility**: Optional RPC adapter enables full Ethereum tooling support"} -{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 6, "depth": 3, "title": "Implementation Examples", "anchor": "implementation-examples", "start_char": 2849, "end_char": 3166, "estimated_token_count": 74, "token_estimator": "heuristic-v1", "text": "### Implementation Examples\n\nSee real-world implementation in the [Asset Hub system parachain runtime](https://github.com/polkadot-fellows/runtimes/blob/8914a1c70ce2a821f1d4646feaab462204e01b26/system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs#L1180-L1209){target=\\_blank} in the Polkadot Fellows repository."} -{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 7, "depth": 2, "title": "Frontier", "anchor": "frontier", "start_char": 3166, "end_char": 3463, "estimated_token_count": 62, "token_estimator": "heuristic-v1", "text": "## Frontier\n\n[Frontier](https://github.com/polkadot-evm/frontier){target=\\_blank} is the Ethereum compatibility layer designed for maximum compatibility with the Ethereum ecosystem. It's the ideal choice when you need seamless integration with existing Ethereum tools, dapps, and infrastructure."} -{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 8, "depth": 3, "title": "Integration Options", "anchor": "integration-options", "start_char": 3463, "end_char": 4459, "estimated_token_count": 257, "token_estimator": "heuristic-v1", "text": "### Integration Options\n\nFrontier offers flexible integration depending on your compatibility needs:\n\n#### EVM Execution Only\n\nFor basic EVM support using Polkadot SDK native APIs:\n\n- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\\_blank}** - Provides the core EVM execution environment\n\nThis configuration allows EVM contract execution but requires using Polkadot SDK-specific APIs for interaction.\n\n#### Full Ethereum Compatibility\n\nFor complete Ethereum ecosystem integration with Ethereum RPC support:\n\n- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\\_blank}** - Core EVM execution environment\n- **[`pallet-ethereum`](https://github.com/polkadot-evm/frontier/tree/master/frame/ethereum){target=\\_blank}** - Emulates Ethereum blocks and handles Ethereum-formatted transactions\n- **[`fc-rpc`](https://github.com/polkadot-evm/frontier/tree/master/rpc){target=\\_blank}** - Provides Ethereum JSON-RPC endpoints"} -{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 9, "depth": 3, "title": "Key Benefits of Full Integration", "anchor": "key-benefits-of-full-integration", "start_char": 4459, "end_char": 4920, "estimated_token_count": 91, "token_estimator": "heuristic-v1", "text": "### Key Benefits of Full Integration\n\n- **Ethereum tooling compatibility**: Full compatibility with MetaMask, Hardhat, Remix, Truffle, and other Ethereum development tools\n- **Zero-friction migration**: Deploy existing Ethereum dapps with minimal or no modifications\n- **Native Ethereum formats**: Support for Ethereum transaction formats, signatures, and gas mechanics\n- **Block emulation**: Ethereum-style block structure within Substrate's block production"} -{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 10, "depth": 3, "title": "Implementation Examples", "anchor": "implementation-examples-2", "start_char": 4920, "end_char": 5386, "estimated_token_count": 113, "token_estimator": "heuristic-v1", "text": "### Implementation Examples\n\nProduction implementations demonstrate Frontier's capabilities:\n\n- **Moonbeam**: See their implementation of [`pallet-evm`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L532){target=\\_blank} and [`pallet-ethereum`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L698){target=\\_blank}"} -{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 11, "depth": 2, "title": "pallet-contracts (Legacy)", "anchor": "pallet-contracts-legacy", "start_char": 5386, "end_char": 5715, "estimated_token_count": 79, "token_estimator": "heuristic-v1", "text": "## pallet-contracts (Legacy)\n\n[`pallet-contracts`](https://docs.rs/pallet-contracts/latest/pallet_contracts/index.html#contracts-pallet){target=\\_blank} is the original Wasm-based smart contract pallet for Polkadot SDK chains. While still functional, it's considered legacy as development efforts have shifted to pallet-revive."} -{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 12, "depth": 3, "title": "Implementation Example", "anchor": "implementation-example", "start_char": 5715, "end_char": 5968, "estimated_token_count": 59, "token_estimator": "heuristic-v1", "text": "### Implementation Example\n\nFor reference, Astar's implementation of [`pallet-contracts`](https://github.com/AstarNetwork/Astar/blob/b6f7a408d31377130c3713ed52941a06b5436402/runtime/astar/src/lib.rs#L693){target=\\_blank} demonstrates production usage."} -{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 13, "depth": 2, "title": "Where to Go Next", "anchor": "where-to-go-next", "start_char": 5968, "end_char": 6319, "estimated_token_count": 92, "token_estimator": "heuristic-v1", "text": "## Where to Go Next\n\n
\n\n- Guide __Add a Pallet to the Runtime__\n\n ---\n\n Learn the step-by-step process for integrating Polkadot SDK pallets into your blockchain's runtime.\n\n [:octicons-arrow-right-24: Get Started](/parachains/customize-runtime/add-existing-pallets/)\n\n
"} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 0, "depth": 2, "title": "Introduction", "anchor": "introduction", "start_char": 36, "end_char": 724, "estimated_token_count": 139, "token_estimator": "heuristic-v1", "text": "## Introduction\n\nWhen building your custom blockchain with the Polkadot SDK, you can add smart contract capabilities through specialized pallets. These pallets enable users to deploy and execute smart contracts, enhancing your chain's programmability and allowing developers to build decentralized applications on your network.\n\nThis guide covers three approaches to adding smart contracts to your blockchain:\n\n- **[`pallet-revive`](#pallet-revive)**: Modern unified solution supporting both PolkaVM and EVM bytecode\n- **[Frontier](#frontier)**: Ethereum compatibility layer for Polkadot SDK-based chains\n- **[`pallet-contracts`](#pallet-contracts-legacy)**: Wasm smart contract support"} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 1, "depth": 2, "title": "pallet-revive", "anchor": "pallet-revive", "start_char": 724, "end_char": 1046, "estimated_token_count": 74, "token_estimator": "heuristic-v1", "text": "## pallet-revive\n\n[`pallet-revive`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/revive){target=\\_blank} is the modern smart contract solution for Polkadot SDK-based chains. It provides a unified execution environment that supports both PolkaVM and EVM bytecode through dual execution backends."} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 2, "depth": 3, "title": "Core Components", "anchor": "core-components", "start_char": 1046, "end_char": 1841, "estimated_token_count": 230, "token_estimator": "heuristic-v1", "text": "### Core Components\n\n**Essential Pallet:**\n**[`pallet-revive`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/revive){target=\\_blank}** provides the core smart contract execution environment with [PolkaVM](https://github.com/polkadot-developers/polkadot-docs/blob/71e1b51bb42ef55e20c2f3b953db86e8c26cd591/smart-contracts/for-eth-devs/dual-vm-stack.md#upgrade-to-polkavm){target=\\_blank} and [REVM](https://github.com/polkadot-developers/polkadot-docs/blob/71e1b51bb42ef55e20c2f3b953db86e8c26cd591/smart-contracts/for-eth-devs/dual-vm-stack.md#migrate-from-evm){target=\\_blank} backends.\n\n**RPC Adapter:**\n**[`pallet-revive-eth-rpc`](https://crates.io/crates/pallet-revive-eth-rpc){target=\\_blank}** adds full Ethereum RPC compatibility for Ethereum tooling integration."} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 3, "depth": 3, "title": "Supported Languages and Compilers", "anchor": "supported-languages-and-compilers", "start_char": 1841, "end_char": 2463, "estimated_token_count": 196, "token_estimator": "heuristic-v1", "text": "### Supported Languages and Compilers\n\n`pallet-revive` accepts smart contracts from multiple languages and compilation paths:\n\n| Language | Compiler | Output Bytecode | Execution Backend |\n|----------|----------|-----------------|-------------------|\n| Solidity | `resolc` | PolkaVM | PolkaVM |\n| Solidity | `solc` | EVM | REVM |\n| Rust (ink!) | `cargo-contract` | PolkaVM | PolkaVM | \n\nAny language that can compile to PolkaVM bytecode and utilize `pallet-revive`'s host functions (via [`pallet-revive-uapi`](https://paritytech.github.io/polkadot-sdk/master/pallet_revive_uapi/index.html){target=\\_blank}) is supported."} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 4, "depth": 3, "title": "How It Works", "anchor": "how-it-works", "start_char": 2463, "end_char": 2723, "estimated_token_count": 54, "token_estimator": "heuristic-v1", "text": "### How It Works\n\n**Dual Execution Model:**\n\n1. **PolkaVM Backend**: Executes PolkaVM bytecode with native performance optimization.\n2. **REVM Backend**: Implements EVM bytecode for compatibility with existing Ethereum contracts, ensuring seamless migration."} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 5, "depth": 3, "title": "Key Benefits", "anchor": "key-benefits", "start_char": 2723, "end_char": 3199, "estimated_token_count": 106, "token_estimator": "heuristic-v1", "text": "### Key Benefits\n\n- **Unified Platform**: Deploys both PolkaVM-optimized and EVM-compatible contracts using a single pallet.\n- **Performance**: PolkaVM execution provides improved performance compared to the traditional EVM, leveraging the [RISC-V](https://en.wikipedia.org/wiki/RISC-V){target=\\_blank} architecture to map instructions to the CPU and requires little transpiling.\n- **Ethereum Compatibility**: Supports full integration with Ethereum tooling via RPC adapter."} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 6, "depth": 3, "title": "Implementation Examples", "anchor": "implementation-examples", "start_char": 3199, "end_char": 3489, "estimated_token_count": 69, "token_estimator": "heuristic-v1", "text": "### Implementation Examples\n\nSee a real-world implementation in the [Polkadot Hub TestNet](https://github.com/paseo-network/runtimes/blob/c965c42a4e0bc9d1e9cc0a340322bc3b8e347bcf/system-parachains/asset-hub-paseo/src/lib.rs#L1122-L1157){target=\\_blank} in the Polkadot Fellows repository."} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 7, "depth": 2, "title": "Frontier", "anchor": "frontier", "start_char": 3489, "end_char": 3786, "estimated_token_count": 62, "token_estimator": "heuristic-v1", "text": "## Frontier\n\n[Frontier](https://github.com/polkadot-evm/frontier){target=\\_blank} is the Ethereum compatibility layer designed for maximum compatibility with the Ethereum ecosystem. It's the ideal choice when you need seamless integration with existing Ethereum tools, dApps, and infrastructure."} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 8, "depth": 3, "title": "Integration Options", "anchor": "integration-options", "start_char": 3786, "end_char": 3888, "estimated_token_count": 15, "token_estimator": "heuristic-v1", "text": "### Integration Options\n\nFrontier offers flexible integration depending on your compatibility needs:"} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 9, "depth": 3, "title": "EVM Execution Only", "anchor": "evm-execution-only", "start_char": 3888, "end_char": 4227, "estimated_token_count": 81, "token_estimator": "heuristic-v1", "text": "### EVM Execution Only\n\nFor basic EVM support using Polkadot SDK native APIs:\n\n- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\\_blank}**: Provides the core EVM execution environment\n\nThis configuration allows EVM contract execution but requires using Polkadot SDK-specific APIs for interaction."} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 10, "depth": 3, "title": "Full Ethereum Compatibility", "anchor": "full-ethereum-compatibility", "start_char": 4227, "end_char": 4797, "estimated_token_count": 165, "token_estimator": "heuristic-v1", "text": "### Full Ethereum Compatibility\n\nFor complete Ethereum ecosystem integration with Ethereum RPC support:\n\n- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\\_blank}**: Integrates core EVM execution environment.\n- **[`pallet-ethereum`](https://github.com/polkadot-evm/frontier/tree/master/frame/ethereum){target=\\_blank}**: Emulates Ethereum blocks and handles Ethereum-formatted transactions.\n- **[`fc-rpc`](https://github.com/polkadot-evm/frontier/tree/master/client/rpc){target=\\_blank}**: Provides Ethereum JSON-RPC endpoints."} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 11, "depth": 3, "title": "Key Benefits", "anchor": "key-benefits-2", "start_char": 4797, "end_char": 5248, "estimated_token_count": 89, "token_estimator": "heuristic-v1", "text": "### Key Benefits\n\n- **Ethereum tooling compatibility**: Full compatibility with MetaMask, Hardhat, Remix, Truffle, and other Ethereum development tools\n- **Minimal-friction migration**: Deployment of existing Ethereum dApps with minimal or no modifications\n- **Native Ethereum formats**: Support for Ethereum transaction formats, signatures, and gas mechanics\n- **Block emulation**: Ethereum-style block structure within Substrate's block production"} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 12, "depth": 3, "title": "Implementation Examples", "anchor": "implementation-examples-2", "start_char": 5248, "end_char": 5714, "estimated_token_count": 113, "token_estimator": "heuristic-v1", "text": "### Implementation Examples\n\nProduction implementations demonstrate Frontier's capabilities:\n\n- **Moonbeam**: See their implementation of [`pallet-evm`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L532){target=\\_blank} and [`pallet-ethereum`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L698){target=\\_blank}"} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 13, "depth": 2, "title": "pallet-contracts (Legacy)", "anchor": "pallet-contracts-legacy", "start_char": 5714, "end_char": 6043, "estimated_token_count": 79, "token_estimator": "heuristic-v1", "text": "## pallet-contracts (Legacy)\n\n[`pallet-contracts`](https://docs.rs/pallet-contracts/latest/pallet_contracts/index.html#contracts-pallet){target=\\_blank} is the original Wasm-based smart contract pallet for Polkadot SDK chains. While still functional, it's considered legacy as development efforts have shifted to pallet-revive."} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 14, "depth": 3, "title": "Implementation Example", "anchor": "implementation-example", "start_char": 6043, "end_char": 6296, "estimated_token_count": 59, "token_estimator": "heuristic-v1", "text": "### Implementation Example\n\nFor reference, Astar's implementation of [`pallet-contracts`](https://github.com/AstarNetwork/Astar/blob/b6f7a408d31377130c3713ed52941a06b5436402/runtime/astar/src/lib.rs#L693){target=\\_blank} demonstrates production usage."} +{"page_id": "parachains-customize-runtime-add-smart-contract-functionality", "page_title": "Add Smart Contract Functionality", "index": 15, "depth": 2, "title": "Where to Go Next", "anchor": "where-to-go-next", "start_char": 6296, "end_char": 6647, "estimated_token_count": 92, "token_estimator": "heuristic-v1", "text": "## Where to Go Next\n\n
\n\n- Guide __Add a Pallet to the Runtime__\n\n ---\n\n Learn the step-by-step process for integrating Polkadot SDK pallets into your blockchain's runtime.\n\n [:octicons-arrow-right-24: Get Started](/parachains/customize-runtime/add-existing-pallets/)\n\n
"} {"page_id": "parachains-customize-runtime-pallet-development-add-pallet-to-runtime", "page_title": "Add Pallets to the Runtime", "index": 0, "depth": 2, "title": "Introduction", "anchor": "introduction", "start_char": 30, "end_char": 866, "estimated_token_count": 192, "token_estimator": "heuristic-v1", "text": "## Introduction\n\nIn previous tutorials, you learned how to [create a custom pallet](/tutorials/polkadot-sdk/parachains/zero-to-hero/build-custom-pallet/){target=\\_blank} and [test it](/tutorials/polkadot-sdk/parachains/zero-to-hero/pallet-unit-testing/){target=\\_blank}. The next step is to include this pallet in your runtime, integrating it into the core logic of your blockchain.\n\nThis tutorial will guide you through adding two pallets to your runtime: the custom pallet you previously developed and the [utility pallet](https://paritytech.github.io/polkadot-sdk/master/pallet_utility/index.html){target=\\_blank}. This standard Polkadot SDK pallet provides powerful dispatch functionality. The utility pallet offers, for example, batch dispatch, a stateless operation that enables executing multiple calls in a single transaction."} {"page_id": "parachains-customize-runtime-pallet-development-add-pallet-to-runtime", "page_title": "Add Pallets to the Runtime", "index": 1, "depth": 2, "title": "Add the Pallets as Dependencies", "anchor": "add-the-pallets-as-dependencies", "start_char": 866, "end_char": 8510, "estimated_token_count": 1856, "token_estimator": "heuristic-v1", "text": "## Add the Pallets as Dependencies\n\nFirst, you'll update the runtime's `Cargo.toml` file to include the Utility pallet and your custom pallets as dependencies for the runtime. Follow these steps:\n\n1. Open the `runtime/Cargo.toml` file and locate the `[dependencies]` section. Add pallet-utility as one of the features for the `polkadot-sdk` dependency with the following line:\n\n ```toml hl_lines=\"4\" title=\"runtime/Cargo.toml\"\n [dependencies]\n ...\n polkadot-sdk = { workspace = true, features = [\n \"pallet-utility\",\n ...\n ], default-features = false }\n ```\n\n2. In the same `[dependencies]` section, add the custom pallet that you built from scratch with the following line:\n\n ```toml hl_lines=\"3\" title=\"Cargo.toml\"\n [dependencies]\n ...\n custom-pallet = { path = \"../pallets/custom-pallet\", default-features = false }\n ```\n\n3. In the `[features]` section, add the custom pallet to the `std` feature list:\n\n ```toml hl_lines=\"5\" title=\"Cargo.toml\"\n [features]\n default = [\"std\"]\n std = [\n ...\n \"custom-pallet/std\",\n ...\n ]\n ```\n\n3. Save the changes and close the `Cargo.toml` file.\n\n Once you have saved your file, it should look like the following:\n\n ???- code \"runtime/Cargo.toml\"\n \n ```rust title=\"runtime/Cargo.toml\"\n [package]\n name = \"parachain-template-runtime\"\n description = \"A parachain runtime template built with Substrate and Cumulus, part of Polkadot Sdk.\"\n version = \"0.1.0\"\n license = \"Unlicense\"\n authors.workspace = true\n homepage.workspace = true\n repository.workspace = true\n edition.workspace = true\n publish = false\n\n [package.metadata.docs.rs]\n targets = [\"x86_64-unknown-linux-gnu\"]\n\n [build-dependencies]\n docify = { workspace = true }\n substrate-wasm-builder = { optional = true, workspace = true, default-features = true }\n\n [dependencies]\n codec = { features = [\"derive\"], workspace = true }\n cumulus-pallet-parachain-system.workspace = true\n docify = { workspace = true }\n hex-literal = { optional = true, workspace = true, default-features = true }\n log = { workspace = true }\n pallet-parachain-template = { path = \"../pallets/template\", default-features = false }\n polkadot-sdk = { workspace = true, features = [\n \"pallet-utility\",\n \"cumulus-pallet-aura-ext\",\n \"cumulus-pallet-session-benchmarking\",\n \"cumulus-pallet-weight-reclaim\",\n \"cumulus-pallet-xcm\",\n \"cumulus-pallet-xcmp-queue\",\n \"cumulus-primitives-aura\",\n \"cumulus-primitives-core\",\n \"cumulus-primitives-utility\",\n \"pallet-aura\",\n \"pallet-authorship\",\n \"pallet-balances\",\n \"pallet-collator-selection\",\n \"pallet-message-queue\",\n \"pallet-session\",\n \"pallet-sudo\",\n \"pallet-timestamp\",\n \"pallet-transaction-payment\",\n \"pallet-transaction-payment-rpc-runtime-api\",\n \"pallet-xcm\",\n \"parachains-common\",\n \"polkadot-parachain-primitives\",\n \"polkadot-runtime-common\",\n \"runtime\",\n \"staging-parachain-info\",\n \"staging-xcm\",\n \"staging-xcm-builder\",\n \"staging-xcm-executor\",\n ], default-features = false }\n scale-info = { features = [\"derive\"], workspace = true }\n serde_json = { workspace = true, default-features = false, features = [\n \"alloc\",\n ] }\n smallvec = { workspace = true, default-features = true }\n\n custom-pallet = { path = \"../pallets/custom-pallet\", default-features = false }\n\n [features]\n default = [\"std\"]\n std = [\n \"codec/std\",\n \"cumulus-pallet-parachain-system/std\",\n \"log/std\",\n \"pallet-parachain-template/std\",\n \"polkadot-sdk/std\",\n \"scale-info/std\",\n \"serde_json/std\",\n \"substrate-wasm-builder\",\n \"custom-pallet/std\",\n ]\n\n runtime-benchmarks = [\n \"cumulus-pallet-parachain-system/runtime-benchmarks\",\n \"hex-literal\",\n \"pallet-parachain-template/runtime-benchmarks\",\n \"polkadot-sdk/runtime-benchmarks\",\n ]\n\n try-runtime = [\n \"cumulus-pallet-parachain-system/try-runtime\",\n \"pallet-parachain-template/try-runtime\",\n \"polkadot-sdk/try-runtime\",\n ]\n\n # Enable the metadata hash generation.\n #\n # This is hidden behind a feature because it increases the compile time.\n # The wasm binary needs to be compiled twice, once to fetch the metadata,\n # generate the metadata hash and then a second time with the\n # `RUNTIME_METADATA_HASH` environment variable set for the `CheckMetadataHash`\n # extension.\n metadata-hash = [\"substrate-wasm-builder/metadata-hash\"]\n\n # A convenience feature for enabling things when doing a build\n # for an on-chain release.\n on-chain-release-build = [\"metadata-hash\"]\n\n ```\n\nUpdate your root parachain template's `Cargo.toml` file to include your custom pallet as a dependency. Follow these steps:\n\n1. Open the `./Cargo.toml` file and locate the `[workspace]` section. \n \n Make sure the `custom-pallet` is a member of the workspace:\n\n ```toml hl_lines=\"4\" title=\"Cargo.toml\"\n [workspace]\n default-members = [\"pallets/template\", \"runtime\"]\n members = [\n \"node\", \"pallets/custom-pallet\",\n \"pallets/template\",\n \"runtime\",\n ]\n ```\n\n???- code \"./Cargo.toml\"\n\n ```rust title=\"./Cargo.toml\"\n [workspace.package]\n license = \"MIT-0\"\n authors = [\"Parity Technologies \"]\n homepage = \"https://paritytech.github.io/polkadot-sdk/\"\n repository = \"https://github.com/paritytech/polkadot-sdk-parachain-template.git\"\n edition = \"2021\"\n\n [workspace]\n default-members = [\"pallets/template\", \"runtime\"]\n members = [\n \"node\", \"pallets/custom-pallet\",\n \"pallets/template\",\n \"runtime\",\n ]\n resolver = \"2\"\n\n [workspace.dependencies]\n parachain-template-runtime = { path = \"./runtime\", default-features = false }\n pallet-parachain-template = { path = \"./pallets/template\", default-features = false }\n clap = { version = \"4.5.13\" }\n color-print = { version = \"0.3.4\" }\n docify = { version = \"0.2.9\" }\n futures = { version = \"0.3.31\" }\n jsonrpsee = { version = \"0.24.3\" }\n log = { version = \"0.4.22\", default-features = false }\n polkadot-sdk = { version = \"2503.0.1\", default-features = false }\n prometheus-endpoint = { version = \"0.17.2\", default-features = false, package = \"substrate-prometheus-endpoint\" }\n serde = { version = \"1.0.214\", default-features = false }\n codec = { version = \"3.7.4\", default-features = false, package = \"parity-scale-codec\" }\n cumulus-pallet-parachain-system = { version = \"0.20.0\", default-features = false }\n hex-literal = { version = \"0.4.1\", default-features = false }\n scale-info = { version = \"2.11.6\", default-features = false }\n serde_json = { version = \"1.0.132\", default-features = false }\n smallvec = { version = \"1.11.0\", default-features = false }\n substrate-wasm-builder = { version = \"26.0.1\", default-features = false }\n frame = { version = \"0.9.1\", default-features = false, package = \"polkadot-sdk-frame\" }\n\n [profile.release]\n opt-level = 3\n panic = \"unwind\"\n\n [profile.production]\n codegen-units = 1\n inherits = \"release\"\n lto = true\n ```"} {"page_id": "parachains-customize-runtime-pallet-development-add-pallet-to-runtime", "page_title": "Add Pallets to the Runtime", "index": 2, "depth": 3, "title": "Update the Runtime Configuration", "anchor": "update-the-runtime-configuration", "start_char": 8510, "end_char": 10415, "estimated_token_count": 406, "token_estimator": "heuristic-v1", "text": "### Update the Runtime Configuration\n\nConfigure the pallets by implementing their `Config` trait and update the runtime macro to include the new pallets:\n\n1. Add the `OriginCaller` import:\n\n ```rust title=\"mod.rs\" hl_lines=\"8\"\n // Local module imports\n use super::OriginCaller;\n ...\n ```\n\n2. Implement the [`Config`](https://paritytech.github.io/polkadot-sdk/master/pallet_utility/pallet/trait.Config.html){target=\\_blank} trait for both pallets at the end of the `runtime/src/config/mod.rs` file:\n\n ```rust title=\"mod.rs\" hl_lines=\"8-25\"\n ...\n /// Configure the pallet template in pallets/template.\n impl pallet_parachain_template::Config for Runtime {\n type RuntimeEvent = RuntimeEvent;\n type WeightInfo = pallet_parachain_template::weights::SubstrateWeight;\n }\n\n // Configure utility pallet.\n impl pallet_utility::Config for Runtime {\n type RuntimeEvent = RuntimeEvent;\n type RuntimeCall = RuntimeCall;\n type PalletsOrigin = OriginCaller;\n type WeightInfo = pallet_utility::weights::SubstrateWeight;\n }\n // Define counter max value runtime constant.\n parameter_types! {\n pub const CounterMaxValue: u32 = 500;\n }\n\n // Configure custom pallet.\n impl custom_pallet::Config for Runtime {\n type RuntimeEvent = RuntimeEvent;\n type CounterMaxValue = CounterMaxValue;\n }\n ```\n\n3. Locate the `#[frame_support::runtime]` macro in the `runtime/src/lib.rs` file and add the pallets:\n\n ```rust hl_lines=\"9-14\" title=\"lib.rs\"\n #[frame_support::runtime]\n mod runtime {\n #[runtime::runtime]\n #[runtime::derive(\n ...\n )]\n pub struct Runtime;\n #[runtime::pallet_index(51)]\n pub type Utility = pallet_utility;\n\n #[runtime::pallet_index(52)]\n pub type CustomPallet = custom_pallet;\n }\n ```"} From 4f874da2f926e2e874f2191b9a38b5f16ad6e95a Mon Sep 17 00:00:00 2001 From: Taylor Lucero Date: Mon, 3 Nov 2025 12:48:22 -0500 Subject: [PATCH 04/10] resolving conflicts --- .ai/site-index.json | 576 +++++++++--------- .../add-smart-contract-functionality.md | 2 +- 2 files changed, 289 insertions(+), 289 deletions(-) diff --git a/.ai/site-index.json b/.ai/site-index.json index 3f0052e4f..82519673e 100644 --- a/.ai/site-index.json +++ b/.ai/site-index.json @@ -17,7 +17,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:30+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -38,7 +38,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:30+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -59,7 +59,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:30+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -80,7 +80,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:30+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -101,7 +101,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:30+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -122,7 +122,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:30+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -234,7 +234,7 @@ "estimated_token_count_total": 4830 }, "hash": "sha256:a6bf7623a535e7a9162c0913b07bd59d43c8535025ad8225fb3e5adc83084c7a", - "last_modified": "2025-11-03T17:39:30+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -306,7 +306,7 @@ "estimated_token_count_total": 7755 }, "hash": "sha256:086a87823ab67ceac102358030e316583cd733c0ec326316e7f29061fe7f6934", - "last_modified": "2025-11-03T17:39:30+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -327,7 +327,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:30+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -389,7 +389,7 @@ "estimated_token_count_total": 5207 }, "hash": "sha256:91f59a76dd33641ca2b5bf6d58230f65034fa3cc5f8313525fb57e854a878a56", - "last_modified": "2025-11-03T17:39:30+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -481,7 +481,7 @@ "estimated_token_count_total": 2132 }, "hash": "sha256:1b9efd2fe00b251d3b4054c9cfcb55f9b5a1384238eeaca81a6f1542fc36d75c", - "last_modified": "2025-11-03T17:39:30+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -502,7 +502,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:30+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -569,7 +569,7 @@ "estimated_token_count_total": 4063 }, "hash": "sha256:bd07cdae71bf63786994865d2f33fba5f7bf8855dce6399414ad44ab0ec6635c", - "last_modified": "2025-11-03T17:39:30+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -626,7 +626,7 @@ "estimated_token_count_total": 2225 }, "hash": "sha256:e916033f54c2874eb5ce9a43d58af058eb935429f73b7b1acc7da1592218e0b8", - "last_modified": "2025-11-03T17:39:30+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -674,7 +674,7 @@ "estimated_token_count_total": 1523 }, "hash": "sha256:d9d85827d2c14bff8dd6b3301617345430cf63db603e37859720713004ecafae", - "last_modified": "2025-11-03T17:39:30+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -732,7 +732,7 @@ "estimated_token_count_total": 1505 }, "hash": "sha256:2b017d8a89f8734b9cbb501f03612a22657d2f8d4d85c51e490e4c8ca4bf771b", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -790,7 +790,7 @@ "estimated_token_count_total": 1635 }, "hash": "sha256:46252e238b0b51105148dc622da6d8809c55ec11da7ec7b2953c35ca52f5f585", - "last_modified": "2025-11-03T17:39:30+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -833,7 +833,7 @@ "estimated_token_count_total": 1491 }, "hash": "sha256:db37b2f5888f283b5eb5bd84a5f8c81fc66b2313e3f94f510a73dfeb310ae3f0", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -900,7 +900,7 @@ "estimated_token_count_total": 955 }, "hash": "sha256:72ee7394fd1308c111a8d548cb4dc63c6b9bc5b6e2bb556dd1baacbaedb92286", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -952,7 +952,7 @@ "estimated_token_count_total": 876 }, "hash": "sha256:d6cb22337280a19bdf24981dcba98f337d48ee4f79ce7ac040466ef1cb4b330b", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -1034,7 +1034,7 @@ "estimated_token_count_total": 2744 }, "hash": "sha256:1a2d34ccab19bd71263763bbc294977acf34f5800398f51398753594cfc7d7a6", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -1106,7 +1106,7 @@ "estimated_token_count_total": 608 }, "hash": "sha256:7bba6105d99721373aa6f494627d20af97b1851c19703f26be26c32f0c83524b", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -1173,7 +1173,7 @@ "estimated_token_count_total": 558 }, "hash": "sha256:b79fe56c9604712825bdf30d17667fd8f237fce9691be0d8d042d38691dbba7a", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -1225,7 +1225,7 @@ "estimated_token_count_total": 348 }, "hash": "sha256:11cd8d428fa9c3e70490da5c63ce4597cd89ec46306d2bb49b016ced6aa68c3d", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -1273,7 +1273,7 @@ "estimated_token_count_total": 1365 }, "hash": "sha256:5f8fa89fc725c5c559975012fe2f9ae92c3b62f10024b5688dcd118331118f1a", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -1326,7 +1326,7 @@ "estimated_token_count_total": 4979 }, "hash": "sha256:ed3b7c8101b69f9c907cca7c5edfef67fdb5e7bc3c8df8d9fbad297f9dd3c80a", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -1383,7 +1383,7 @@ "estimated_token_count_total": 1781 }, "hash": "sha256:35c71a215558cd0642d363e4515ad240093995d42720e6495cd2994c859243e4", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -1430,7 +1430,7 @@ "estimated_token_count_total": 1447 }, "hash": "sha256:0e39aee80fbcf3dfaa19133f31d664914ed45b42a1a929270f05d8ae876b89e2", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -1477,7 +1477,7 @@ "estimated_token_count_total": 1082 }, "hash": "sha256:ec82957c768c2c07a272e7a28659c812b223df836e21372b1642f0bb249d7b39", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -1519,7 +1519,7 @@ "estimated_token_count_total": 4178 }, "hash": "sha256:d480791a76082937b47c77f7cf3794e701f193452ed347fcb1c04c3c67577bf5", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:03+00:00", "token_estimator": "heuristic-v1" }, { @@ -1587,7 +1587,7 @@ "estimated_token_count_total": 6510 }, "hash": "sha256:353ad782303ef79bce1262bfa945e6f11b3c3c9ca1edf5705b778c46bada6200", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -1650,7 +1650,7 @@ "estimated_token_count_total": 1520 }, "hash": "sha256:ed09ef7a6abe21204006186fd5791ada7597688fad67e30244dc449c51330309", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -1712,7 +1712,7 @@ "estimated_token_count_total": 2598 }, "hash": "sha256:b2b3d8c048863e7760f633b12ab2a0202c741be3050ea4beafb9a7265cfe96b5", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -1769,7 +1769,7 @@ "estimated_token_count_total": 1219 }, "hash": "sha256:262e7a3ad3d0a0102897c52c7589e3f94c7827c441398b3b446b205f6c6753d3", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -1811,7 +1811,7 @@ "estimated_token_count_total": 905 }, "hash": "sha256:ad8e6d9c77d5451c5f4d17f8e6311b21e6ad24eae8780fd4c3ae6013744822cf", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -1878,7 +1878,7 @@ "estimated_token_count_total": 3995 }, "hash": "sha256:19997d390abf2847824024ba923f46a61106ef77544d256d50b371210816b309", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -1946,7 +1946,7 @@ "estimated_token_count_total": 2005 }, "hash": "sha256:0becb82886d34e2ed23d963efd2c14120112e6e080ea4072e864531299b59753", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -2013,7 +2013,7 @@ "estimated_token_count_total": 1944 }, "hash": "sha256:4fc8cab40e982e860b64d9aede1058fe7fa82ec321ac215b919db00c4df0a9c0", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -2085,7 +2085,7 @@ "estimated_token_count_total": 3068 }, "hash": "sha256:9918593a46c12a1756552ddfaf7421ad6262600735b6f1fec030911420fe1736", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -2167,7 +2167,7 @@ "estimated_token_count_total": 3025 }, "hash": "sha256:a60fe36a5ba6d1cafe12eab75300afd24a46d3ace1e791087adb7e3e538afcc3", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -2219,7 +2219,7 @@ "estimated_token_count_total": 1289 }, "hash": "sha256:39c58dbe2ddcd542d7074d08d72f1811318dc8a3130419025480fd5cbe9fc3e7", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -2271,7 +2271,7 @@ "estimated_token_count_total": 744 }, "hash": "sha256:358ed14147b96b47deb61df9a1ea0e1103a139ea5edb78c5d50a48d5a779b80d", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -2354,7 +2354,7 @@ "estimated_token_count_total": 2709 }, "hash": "sha256:2ee5656f749b4bca445172f2bc66c7fc39af40ff173626662ae4c399f49cf909", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -2412,7 +2412,7 @@ "estimated_token_count_total": 1892 }, "hash": "sha256:74de798c287cae75729e7db54019507f03a361dbbd1f2bb58c4694605f83efab", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -2464,7 +2464,7 @@ "estimated_token_count_total": 4719 }, "hash": "sha256:bfad885d8053d052c55dbffc3c09e6196586795c3a1d07ab6ad58f9006ec3345", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -2526,7 +2526,7 @@ "estimated_token_count_total": 1819 }, "hash": "sha256:b0c1535fa8e969a9bdeee426a5a35a42b4649121fb8ce6fd2b15fdeba35b5d5f", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -2573,7 +2573,7 @@ "estimated_token_count_total": 1161 }, "hash": "sha256:07e63e1e99b9acf1cc3b5ef8fa1f06ff22182b2a801582ce800eba37d7d39408", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -2645,7 +2645,7 @@ "estimated_token_count_total": 4014 }, "hash": "sha256:55dc252fdecf1590048ce8d009b822e90231442abe81e9593cf1635944a31336", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -2697,7 +2697,7 @@ "estimated_token_count_total": 2030 }, "hash": "sha256:f4964f894f7cd2fdfd699c017b4bd25cffc322b03a5a88a36c682cf952832ccc", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -2764,7 +2764,7 @@ "estimated_token_count_total": 3342 }, "hash": "sha256:9d6daa3f4daf149ae822b60060d14ff022bd4b3440cecdc969a48c105eb82a21", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -2816,7 +2816,7 @@ "estimated_token_count_total": 1572 }, "hash": "sha256:68fc67390e24741081c9a04d78951e76c7d4ff7cf6eddaba7dcbbdc1812c71d3", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -2873,7 +2873,7 @@ "estimated_token_count_total": 1559 }, "hash": "sha256:0024f5e4c12ab7b019e5ee183e7c78d175e1125868c5458b97d3accd9fac75bc", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -2910,7 +2910,7 @@ "estimated_token_count_total": 514 }, "hash": "sha256:e8ffeaa3a17e20437a59f2c95a63821eb75bf3c33001e748c23958b2b99ac3c2", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -2947,7 +2947,7 @@ "estimated_token_count_total": 570 }, "hash": "sha256:1247dfb5f5ac040bca81cd1002153e0ee53f4052b2a3d40b623834bd7f00d065", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -3024,7 +3024,7 @@ "estimated_token_count_total": 6228 }, "hash": "sha256:72e41f816f07026d96c803f399c71852aa1151c464e79cec3e1746b282d5eaae", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -3102,7 +3102,7 @@ "estimated_token_count_total": 4188 }, "hash": "sha256:fe008393aa37c27bb71b4483d4e2c4fbcda94f8c1be461fdd07eff40efbb4e26", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -3165,7 +3165,7 @@ "estimated_token_count_total": 1375 }, "hash": "sha256:8e6bfed5fa59bb748e80698ea702f62ce6951c48bdb955ee9ef0d3516e856887", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -3312,7 +3312,7 @@ "estimated_token_count_total": 1618 }, "hash": "sha256:5cc63ff0a377ef0ec96a064748e13b88bc852bd1862c6e344066855a7fe93b19", - "last_modified": "2025-11-03T17:39:31+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -3509,7 +3509,7 @@ "estimated_token_count_total": 9750 }, "hash": "sha256:1fb7a20bc4a799a771954720428029419ec73afa640e589590c43dd041a7e307", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -3597,7 +3597,7 @@ "estimated_token_count_total": 4475 }, "hash": "sha256:f0cee7ccb3cd294e8f909a220bb63987239ef8155c187a04f8c4864ffdcde288", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -3690,7 +3690,7 @@ "estimated_token_count_total": 3900 }, "hash": "sha256:a7541553a50a250521c0a280f997d614763c643b1028147f3fb61391950bda15", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -3763,7 +3763,7 @@ "estimated_token_count_total": 3250 }, "hash": "sha256:bc771f912627fa09cad64adab1bc81c052f650d6c5a3b4f0c91883a98f6628da", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -3836,7 +3836,7 @@ "estimated_token_count_total": 3033 }, "hash": "sha256:bc87533eaf42a979a0c17f50ecdc668c364889257c7e0d27b81129770660fd53", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -3889,7 +3889,7 @@ "estimated_token_count_total": 2512 }, "hash": "sha256:5d13a0873a78a9802b06686d7caafbf4d23b6ba1edf7d3518943301f2b0110c4", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -3931,7 +3931,7 @@ "estimated_token_count_total": 2432 }, "hash": "sha256:809d0ff921587f29045df1d31a5a9fe32ee13fa7b9698aa27ff9f60b2aa7a4d8", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -4004,7 +4004,7 @@ "estimated_token_count_total": 1118 }, "hash": "sha256:0468268436ffdb759cad8390a838d5fba2391118baa8fd8cd494b36397b10329", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -4086,7 +4086,7 @@ "estimated_token_count_total": 3847 }, "hash": "sha256:4b705b8dbe9b0ad8d19a897d91f3c64dbc4541297dadacbea2a31b4778e50a46", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -4153,7 +4153,7 @@ "estimated_token_count_total": 2317 }, "hash": "sha256:605d2cbb7eabb2ea0fd928bc3ecdf9ee8b095e3dd9643f2b0918fef7b5a3f4a8", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -4206,7 +4206,7 @@ "estimated_token_count_total": 1638 }, "hash": "sha256:807cee6869059dd933905d1cf6c76e3b86e02baee3de3113f7e5b4c8697fbd22", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -4274,7 +4274,7 @@ "estimated_token_count_total": 2300 }, "hash": "sha256:ba24e31e2ad94fbf1d73f1878da92dd2e1476db00170780bbdf0e65ab18bc961", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -4327,7 +4327,7 @@ "estimated_token_count_total": 1987 }, "hash": "sha256:2ca93b09d3bb9159bbf53816886a9b242bb3c13b996c51fd52962e049e2d5477", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -4400,7 +4400,7 @@ "estimated_token_count_total": 1084 }, "hash": "sha256:7f533abe61586af8438e350c41b741d74a8edb839f9dc4139bc4619ba3748258", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -4468,7 +4468,7 @@ "estimated_token_count_total": 1166 }, "hash": "sha256:ed3986f30880fefca5975fcdc847c68b4aca65862c63e3002b25391b0521781d", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -4526,7 +4526,7 @@ "estimated_token_count_total": 942 }, "hash": "sha256:8987fc35cd28602054ee018031f773e2e3837425107c51d0e2ac68a94b86e9c0", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -4579,7 +4579,7 @@ "estimated_token_count_total": 1945 }, "hash": "sha256:b8759f61ab57b636228b69d5770c74591998b912cd4596e89eb2ec011da7ef73", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -4652,7 +4652,7 @@ "estimated_token_count_total": 2187 }, "hash": "sha256:56269d9ea47f5b4e92cd7d5a1e65ab06d181a9c380f90bb3ef285529b12299f7", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -4690,7 +4690,7 @@ "estimated_token_count_total": 428 }, "hash": "sha256:cfcc76bb24779c9b613f2c046b6f99a0f2529c25fd82287d804f6b945b936227", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -4723,7 +4723,7 @@ "estimated_token_count_total": 245 }, "hash": "sha256:6d8e01281a5895fd2bc4438b24c170c72a496de0b838626a53e87685aea4aa25", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -4780,7 +4780,7 @@ "estimated_token_count_total": 847 }, "hash": "sha256:a206dd86fc3d80aed22384000839ca0c9c75c69ad461abd9810d96c03cf6a3bd", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -4852,7 +4852,7 @@ "estimated_token_count_total": 6280 }, "hash": "sha256:9b03477d13a285fced6bf845c3827084f790a626989dc2c09ef9ff53643045f4", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -4890,7 +4890,7 @@ "estimated_token_count_total": 633 }, "hash": "sha256:62c5ad101282227f79eac0e30a3ba9ce3ae1bf9e358bd58c0b17ef45db29c2ff", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -4952,7 +4952,7 @@ "estimated_token_count_total": 5209 }, "hash": "sha256:966ec1bcc014a454f6b837b503025d9fb89c30f6a65d0aaec82ea5ff976e53a9", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -5011,7 +5011,7 @@ "estimated_token_count_total": 1700 }, "hash": "sha256:47328231d6ff4dc52cd93aaf1baf5d0bc2d9fc372f3d79339d87aafa0dabd1b8", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -5079,7 +5079,7 @@ "estimated_token_count_total": 2453 }, "hash": "sha256:2c77cfb38bb2e466a8f56dabbb706fcd2e90cf1634fc9beb7f0ee95a75735653", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -5152,7 +5152,7 @@ "estimated_token_count_total": 2614 }, "hash": "sha256:4325cdd697814b8043db808da3dee86d3d9c6fc7dd523aae7fe8914d59d1b39c", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -5209,7 +5209,7 @@ "estimated_token_count_total": 1430 }, "hash": "sha256:1284c42be692167e01bcc44e2e134ec20615402675fac26df246c00aa1588d80", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -5277,7 +5277,7 @@ "estimated_token_count_total": 2018 }, "hash": "sha256:49866761ef638dd0683bb5558f5319b9568ff136295b3359580a6f478172c73f", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -5325,7 +5325,7 @@ "estimated_token_count_total": 999 }, "hash": "sha256:6d6c66430a7302f29113924c5208e64d7c244497e50c61ab2f45c4b5141620e4", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -5387,7 +5387,7 @@ "estimated_token_count_total": 1863 }, "hash": "sha256:7086406b31e7aa9089b221ffaa548ee5540a3d147ec1e93136f481c883f2e434", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -5474,7 +5474,7 @@ "estimated_token_count_total": 1870 }, "hash": "sha256:3b766e00e55a224201bc6744386a6dabc7da54ed9199b16abab3b94cff449eca", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -5567,7 +5567,7 @@ "estimated_token_count_total": 9871 }, "hash": "sha256:0d7e04fd952cc9d5bd8cdbfd87cc4004c5f95e896a16bc7f89dfc4caeac8f371", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -5630,7 +5630,7 @@ "estimated_token_count_total": 2661 }, "hash": "sha256:04e85c4cddb58252f8253d78a3924bb56952dac2a3e9a057704a91a0d1f21d75", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -5662,7 +5662,7 @@ "estimated_token_count_total": 2073 }, "hash": "sha256:9836ab7da420e9ca8196da77dc3ff8198cb3b622548842d0505c0aa043a5f02e", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -5734,7 +5734,7 @@ "estimated_token_count_total": 579 }, "hash": "sha256:4c33d0ec5026128b3bfdb1dfc1f4b29487404eaa8043071d536e8638356c6e1f", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -5776,7 +5776,7 @@ "estimated_token_count_total": 557 }, "hash": "sha256:993e93b05c8fbdfc2f7510c61ac86bc4c2ff0f03e573695b2f260933c8b62f78", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -5843,7 +5843,7 @@ "estimated_token_count_total": 1044 }, "hash": "sha256:d84a5af1a0237a911d25a68c077f508ebbce608f673ef4f9055e8e434daa96b9", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -5910,7 +5910,7 @@ "estimated_token_count_total": 4229 }, "hash": "sha256:abd9f939f68b068a18567b875c9f7e11d102c54fc02ca0e6ee8041c539061ed0", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -5967,7 +5967,7 @@ "estimated_token_count_total": 1286 }, "hash": "sha256:0b43b452e9d709cb324bf51fd88c2fed8e6249534a7c2b852e1bd36bcb9b981a", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -6029,7 +6029,7 @@ "estimated_token_count_total": 1827 }, "hash": "sha256:1090b02689df5f4c59bb83f9c81436718d06e46f3b615bc655fef3c7b6c9fb02", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -6111,7 +6111,7 @@ "estimated_token_count_total": 2559 }, "hash": "sha256:0857a9e83aefc6d3f04e8cb320ab82d35211bbd73d2eb2614cf7b97f8e6d36b9", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -6198,7 +6198,7 @@ "estimated_token_count_total": 3827 }, "hash": "sha256:e2567b7d5377c87984622cf93afe4bd8cedf46b80597736cf53f26b5f31c5065", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -6245,7 +6245,7 @@ "estimated_token_count_total": 625 }, "hash": "sha256:9ab570299106336e5d75923b876247e8eb4a71851a77e84d68e0335e9da5e0a8", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -6357,7 +6357,7 @@ "estimated_token_count_total": 5832 }, "hash": "sha256:a7b5239c3be0341ced8f28146e240ff6061fded2e71094bd586beeb024684a50", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -6409,7 +6409,7 @@ "estimated_token_count_total": 861 }, "hash": "sha256:97655248c65e816fdf3d85dab4ace7ca0c145c50f671c25c24627cfd7660c7a6", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -6466,7 +6466,7 @@ "estimated_token_count_total": 1167 }, "hash": "sha256:b2e8abce15fc9df106a5e972f28c64f606f9dd50ba3a256093eb53bdd5126224", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -6513,7 +6513,7 @@ "estimated_token_count_total": 1477 }, "hash": "sha256:76500d1d63f4205a84f0bc5b7f9aec945781127d41c32927280ac74bc14f0296", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -6580,7 +6580,7 @@ "estimated_token_count_total": 3409 }, "hash": "sha256:abe6bedab04f463ec07f554977b8d6355a5d2fad9bcda01cbe58568152295daa", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -6632,7 +6632,7 @@ "estimated_token_count_total": 2617 }, "hash": "sha256:7d43408276d811c96b7b081a7b9f4d884893282a230b564c9eb3be2fc7857565", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -6699,7 +6699,7 @@ "estimated_token_count_total": 1044 }, "hash": "sha256:d84a5af1a0237a911d25a68c077f508ebbce608f673ef4f9055e8e434daa96b9", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -6766,7 +6766,7 @@ "estimated_token_count_total": 4197 }, "hash": "sha256:b83e3f77bd30ac8c8fb00a193bbec33cd641d94f1a37ac611dea32326c3d77b0", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -6823,7 +6823,7 @@ "estimated_token_count_total": 1280 }, "hash": "sha256:992082e4ad87348b283f6c37ea886ae0e7bf016852b6470000876f3d169c65a4", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -6885,7 +6885,7 @@ "estimated_token_count_total": 1840 }, "hash": "sha256:0fb5a83835aab263c0b9aa886028c8aa8a2d6d0897d7b9fff4b5258835d30dfe", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -6967,7 +6967,7 @@ "estimated_token_count_total": 2592 }, "hash": "sha256:d2c1c91734bc8185057d8eeec6829ea91e0316f7ba884c5dc3922a5e5778815e", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -7054,7 +7054,7 @@ "estimated_token_count_total": 3864 }, "hash": "sha256:a4235e8d590033d5d54434143e0a5e23603c53ae70d4f0a9ebfe4ca9442baa8d", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -7101,7 +7101,7 @@ "estimated_token_count_total": 629 }, "hash": "sha256:0d6db361bfa7a3022849bbe39989bfdac0429537498d7f534adadec131afca98", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -7213,7 +7213,7 @@ "estimated_token_count_total": 5866 }, "hash": "sha256:81eb0fe77f05155f1ec0511cd066120fc9994961e9d91e21b6666377e65b4586", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -7265,7 +7265,7 @@ "estimated_token_count_total": 861 }, "hash": "sha256:1af153570ce57bd5b52d08493a300996765686f2a6d04519a2e0aa91191612c1", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -7322,7 +7322,7 @@ "estimated_token_count_total": 1185 }, "hash": "sha256:888230b128d8c648c4f06a18d3b1d1b06dd1bf22a0de4add1f28210ffccb2549", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -7369,7 +7369,7 @@ "estimated_token_count_total": 1485 }, "hash": "sha256:46435b97c37ef6798d2c75c69df31c5e5f07e04b218c370ec5af6b1838d43aac", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -7436,7 +7436,7 @@ "estimated_token_count_total": 3409 }, "hash": "sha256:abe6bedab04f463ec07f554977b8d6355a5d2fad9bcda01cbe58568152295daa", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -7488,7 +7488,7 @@ "estimated_token_count_total": 2588 }, "hash": "sha256:d5d6d72eb2cf10f624d84c65f2274f7df90acb5d071bf170bc8eae8d98a810a5", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -7550,7 +7550,7 @@ "estimated_token_count_total": 2598 }, "hash": "sha256:867727c125c6584645e9832d2cad64762d75e5b9e4a497bd8bbba25c470c67d9", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -7607,7 +7607,7 @@ "estimated_token_count_total": 1221 }, "hash": "sha256:b1f5561be570e34e47509f6bbe04e4f58def3b7c40c870a2309e3f6ce2c39d56", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -7709,7 +7709,7 @@ "estimated_token_count_total": 1623 }, "hash": "sha256:1e2f49788d47a89e528a09abe5e3cc9b533ae601a84953c7d20a5b8d271548e0", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:04+00:00", "token_estimator": "heuristic-v1" }, { @@ -7762,7 +7762,7 @@ "estimated_token_count_total": 3091 }, "hash": "sha256:51cb6bb7ed2b81022ba09a02644272fd0c120032ff543d789bb4c482a79bdd94", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -7829,7 +7829,7 @@ "estimated_token_count_total": 3338 }, "hash": "sha256:915bc91edd56cdedd516e871dbe450d70c9f99fb467cc00ff231ea3a74f61d96", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -7896,7 +7896,7 @@ "estimated_token_count_total": 3997 }, "hash": "sha256:1d324a805f33a41ae1e5c3998f2979c74217ce433a29ff48969f1ea9882cdeaa", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -7948,7 +7948,7 @@ "estimated_token_count_total": 1576 }, "hash": "sha256:733652ec4eff9b11efd858a7fd7f1094e7a2e8e7deed4c60c5805f986d877df4", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -8005,7 +8005,7 @@ "estimated_token_count_total": 1563 }, "hash": "sha256:8568dfa238b9a649a4e6e60510625c2e7879b76a93187b0b8b8dccf6bc467ae6", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -8073,7 +8073,7 @@ "estimated_token_count_total": 2292 }, "hash": "sha256:759ed27cf3d473445e33141089b652082c42a2c59eb822d6b506146fd9555e13", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -8156,7 +8156,7 @@ "estimated_token_count_total": 2709 }, "hash": "sha256:2ee5656f749b4bca445172f2bc66c7fc39af40ff173626662ae4c399f49cf909", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -8194,7 +8194,7 @@ "estimated_token_count_total": 428 }, "hash": "sha256:cfcc76bb24779c9b613f2c046b6f99a0f2529c25fd82287d804f6b945b936227", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -8227,7 +8227,7 @@ "estimated_token_count_total": 245 }, "hash": "sha256:6d8e01281a5895fd2bc4438b24c170c72a496de0b838626a53e87685aea4aa25", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -8265,7 +8265,7 @@ "estimated_token_count_total": 633 }, "hash": "sha256:62c5ad101282227f79eac0e30a3ba9ce3ae1bf9e358bd58c0b17ef45db29c2ff", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -8337,7 +8337,7 @@ "estimated_token_count_total": 2285 }, "hash": "sha256:b8de1228b9976765accd18ff724038bed6f2449367f500bc3177ab2a053abe63", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -8389,7 +8389,7 @@ "estimated_token_count_total": 1427 }, "hash": "sha256:b501d99c464fb049d46676827b6a325a195c90617becc4a7db305441c115350a", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -8447,7 +8447,7 @@ "estimated_token_count_total": 1501 }, "hash": "sha256:3b26606dd5310c4b8ade5d05270ebf1e06f59afcda4ca2b985e07948215a197e", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -8468,7 +8468,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -8489,7 +8489,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -8541,7 +8541,7 @@ "estimated_token_count_total": 744 }, "hash": "sha256:358ed14147b96b47deb61df9a1ea0e1103a139ea5edb78c5d50a48d5a779b80d", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -8619,7 +8619,7 @@ "estimated_token_count_total": 2379 }, "hash": "sha256:637b9460bb65621cbc7c1bff272ea287d5181a983bc61418167959e108e21791", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -8672,7 +8672,7 @@ "estimated_token_count_total": 1751 }, "hash": "sha256:bbef601f2645c23200a3b16bc1b8e5bcad2aafdee6d60ae860ce8b5a53122c14", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -8719,7 +8719,7 @@ "estimated_token_count_total": 1161 }, "hash": "sha256:ec31270001a6cd9d0a8ecb7974ad161d5c1ef4d3023d5a6af9fbc5a6ca46cbca", - "last_modified": "2025-11-03T17:39:32+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -8791,7 +8791,7 @@ "estimated_token_count_total": 4014 }, "hash": "sha256:55dc252fdecf1590048ce8d009b822e90231442abe81e9593cf1635944a31336", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -8843,7 +8843,7 @@ "estimated_token_count_total": 2028 }, "hash": "sha256:e408d05199cc184fc6fe8bb212efb3c9aa6cb79258977e07566692176c912def", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -8916,7 +8916,7 @@ "estimated_token_count_total": 2614 }, "hash": "sha256:4325cdd697814b8043db808da3dee86d3d9c6fc7dd523aae7fe8914d59d1b39c", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -9009,7 +9009,7 @@ "estimated_token_count_total": 9871 }, "hash": "sha256:0d7e04fd952cc9d5bd8cdbfd87cc4004c5f95e896a16bc7f89dfc4caeac8f371", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -9057,7 +9057,7 @@ "estimated_token_count_total": 1125 }, "hash": "sha256:9875239c6071033a37a0f67fabca5a6e840c4a287620309f47b4f29c5a95a1cb", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -9121,7 +9121,7 @@ "estimated_token_count_total": 1861 }, "hash": "sha256:932c12e1af939698279ede2eacb2190e1f56119582adf2064d6cf86f7a4f3e3c", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -9168,7 +9168,7 @@ "estimated_token_count_total": 619 }, "hash": "sha256:00be43ac8d666bbe15c5c2fa5a5085697d0bb5a6f341ebbb943a209f0be355df", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -9230,7 +9230,7 @@ "estimated_token_count_total": 1440 }, "hash": "sha256:2d228c52844df8952520fafdd3e6f0e26bfd2f32b5ee60c6241cf7d38603643c", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -9309,7 +9309,7 @@ "estimated_token_count_total": 2591 }, "hash": "sha256:201e7efa0ad6b24890dd06f69714e19d9700ab7f7a51a33fe6d6e0664b7170b2", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -9396,7 +9396,7 @@ "estimated_token_count_total": 2534 }, "hash": "sha256:191df9b098e17e9de4597c9f8ced8abbafdfabc7e0f5c0a94d767fc2c9d7742b", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -9528,7 +9528,7 @@ "estimated_token_count_total": 4105 }, "hash": "sha256:759ab6dea0ad03c3f627558ea186d9f32351fa559acde82931684efc2da59d46", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -9580,7 +9580,7 @@ "estimated_token_count_total": 1218 }, "hash": "sha256:26c156146ef9743fc26c6499294ff14186f97edbc2a34f445d3366b72f7148ae", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -9612,7 +9612,7 @@ "estimated_token_count_total": 424 }, "hash": "sha256:59ec351fbb8d3a392e90f4f5bf6b62f58b21d6d7a900c5e367e5d2e09ecb3aca", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -9654,7 +9654,7 @@ "estimated_token_count_total": 1230 }, "hash": "sha256:8d186fa56ccbbf4b6c85cffc5521b9a99a20e9517f3b4a435730745803cbf2e8", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -9722,7 +9722,7 @@ "estimated_token_count_total": 1643 }, "hash": "sha256:100377787627052a29bd1173270b5ad307639b828c331e71c85d4c00bc5692d8", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -9784,7 +9784,7 @@ "estimated_token_count_total": 876 }, "hash": "sha256:8239d1e8d8642cb7c10e9e5f971c99b999e9e4a87373b50bf4a691225c1e4702", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -10121,7 +10121,7 @@ "estimated_token_count_total": 5271 }, "hash": "sha256:f0e04286eacf23b182186f23e9854c0cd251545b8a8d561d2503f962dbfe32c0", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -10163,7 +10163,7 @@ "estimated_token_count_total": 631 }, "hash": "sha256:baba9dd41091b792d09005d55d3df0bf65b35f42b40ebe63caf425a0978a22b0", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -10231,7 +10231,7 @@ "estimated_token_count_total": 1611 }, "hash": "sha256:62beec261e72529f70e07a641177d489d2c8872f9c9d618cbadf1ac0fd881986", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -10329,7 +10329,7 @@ "estimated_token_count_total": 6521 }, "hash": "sha256:1f9ce923b3ce296571fe63837c0d3c3c791a339ef02db09ead6b2b92e9d1bfd5", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -10392,7 +10392,7 @@ "estimated_token_count_total": 1399 }, "hash": "sha256:bcad23a74d962cab72b54cdc090bf9ee0cd5ecf79f70fb642f154668c2743983", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -10490,7 +10490,7 @@ "estimated_token_count_total": 4464 }, "hash": "sha256:299597c39d0e4e4902be8e45b354fff78a862aa5799e4f16d16787a97a1e3da8", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -10623,7 +10623,7 @@ "estimated_token_count_total": 4705 }, "hash": "sha256:6675634d4c5f274a7cc69802ee0a2d259e38efd5afd1c9dacc2d0fecfb370e4c", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -10721,7 +10721,7 @@ "estimated_token_count_total": 3782 }, "hash": "sha256:eb4da21d561e9fd9333d97805318f0e263f54570120d3852ce7eba64da604cc2", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -10804,7 +10804,7 @@ "estimated_token_count_total": 1797 }, "hash": "sha256:259dcef86aadc513675258b665cc3940db65af6eb32a5db85da6ac339966fa60", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -10877,7 +10877,7 @@ "estimated_token_count_total": 3213 }, "hash": "sha256:e448294b6e52291ac0add5fa6533572814e6cd27af42bdaccc2000b86f52d775", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -10935,7 +10935,7 @@ "estimated_token_count_total": 780 }, "hash": "sha256:077e7e5bfc9509cf09f455959a5da7a74b7af69836b3c4b334692f32e306ddf1", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -11009,7 +11009,7 @@ "estimated_token_count_total": 1473 }, "hash": "sha256:695c624a1d7a3ed6fea0f4f5c19bb2100be986cec29ba58edb4598b9e9b98494", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -11082,7 +11082,7 @@ "estimated_token_count_total": 914 }, "hash": "sha256:8122e21c149d0863cfe3b37fc5606bcdb91668e9d265f0f05451a61ff70e4e93", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -11135,7 +11135,7 @@ "estimated_token_count_total": 1394 }, "hash": "sha256:217a79109aff1607594a0238fd91bfa812827620887c4f063c7e0a7a37f967d6", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -11203,7 +11203,7 @@ "estimated_token_count_total": 1822 }, "hash": "sha256:db2b1806153242680043ced536f64fc8a2ed3c09adc1bec5aa287168b48e0994", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -11266,7 +11266,7 @@ "estimated_token_count_total": 1178 }, "hash": "sha256:9a6b3fa6c005d75c25f0f683b7d8c3b65891454743b794c12b005f910b81609c", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -11379,7 +11379,7 @@ "estimated_token_count_total": 5305 }, "hash": "sha256:fe651be49fe0a9ae899b2cbf9c663325f407718dc63f1d2c6a2dc4931be751fa", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -11447,7 +11447,7 @@ "estimated_token_count_total": 891 }, "hash": "sha256:b5acdc9acf0e44836b8a4518155eba7d16cc3b103c557a00970ffb1c44c3e9f6", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -11500,7 +11500,7 @@ "estimated_token_count_total": 2570 }, "hash": "sha256:e2cf14bcb483308f73a80c8e8871ce1a86fa694576d2e6e51beafc24488f4d58", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -11553,7 +11553,7 @@ "estimated_token_count_total": 994 }, "hash": "sha256:6992c9a2d1b315b64d9782880105cf2d436750249a84577aceb95cc213863009", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -11890,7 +11890,7 @@ "estimated_token_count_total": 5273 }, "hash": "sha256:40bd67811e7eabc79ca5d105eae388b19380d9f035022da17fc0d6bb173c817c", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -11932,7 +11932,7 @@ "estimated_token_count_total": 631 }, "hash": "sha256:baba9dd41091b792d09005d55d3df0bf65b35f42b40ebe63caf425a0978a22b0", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -12030,7 +12030,7 @@ "estimated_token_count_total": 6507 }, "hash": "sha256:0104a9132a69345a2faac37fca0e2853a2ded1efb009511a83a98d44509ab887", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -12093,7 +12093,7 @@ "estimated_token_count_total": 1395 }, "hash": "sha256:424783c102bea5dae5b8749635858c6c59055563442a98f57521f0027dafa8d3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -12191,7 +12191,7 @@ "estimated_token_count_total": 4464 }, "hash": "sha256:7d0c3fa7982b3e1843adb8f27422456397580b3a3eba5047b381da8517742536", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -12324,7 +12324,7 @@ "estimated_token_count_total": 4699 }, "hash": "sha256:547f062b248779f0b3e823778120c4f32e449937b6f270ddf97378bc6d795c62", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -12422,7 +12422,7 @@ "estimated_token_count_total": 3774 }, "hash": "sha256:49238d1e9e2c33e0fcd3a84b5e30f0d3840d7d23a783b538875e0a23f38efc1d", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -12443,7 +12443,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -12505,7 +12505,7 @@ "estimated_token_count_total": 1440 }, "hash": "sha256:2d228c52844df8952520fafdd3e6f0e26bfd2f32b5ee60c6241cf7d38603643c", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -12588,7 +12588,7 @@ "estimated_token_count_total": 1797 }, "hash": "sha256:259dcef86aadc513675258b665cc3940db65af6eb32a5db85da6ac339966fa60", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -12661,7 +12661,7 @@ "estimated_token_count_total": 3213 }, "hash": "sha256:e448294b6e52291ac0add5fa6533572814e6cd27af42bdaccc2000b86f52d775", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -12719,7 +12719,7 @@ "estimated_token_count_total": 772 }, "hash": "sha256:11bb4f113bdda5852a3115e64d5ba47f8eccd4e3619a05ad960ab3a541f31346", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -12793,7 +12793,7 @@ "estimated_token_count_total": 1473 }, "hash": "sha256:e49e063a2cc0fb5a48c6cdc3de266bb6e025a006940fea8e90cc4d5f9884900f", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -12866,7 +12866,7 @@ "estimated_token_count_total": 914 }, "hash": "sha256:8122e21c149d0863cfe3b37fc5606bcdb91668e9d265f0f05451a61ff70e4e93", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -12919,7 +12919,7 @@ "estimated_token_count_total": 1388 }, "hash": "sha256:c7d8a5a4263fd21af458ab0bd102377104affdf2431b4fe74eeff4ebe62a4a81", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -13051,7 +13051,7 @@ "estimated_token_count_total": 4087 }, "hash": "sha256:73c34bb1dc80d04f765812c3ed2f247aeda6ce55598b0680d0bd157f25456b99", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -13103,7 +13103,7 @@ "estimated_token_count_total": 1220 }, "hash": "sha256:86734ba8bcdea7913f488edf666a6104bed0a18649d57abde82c149c41c2b871", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -13135,7 +13135,7 @@ "estimated_token_count_total": 424 }, "hash": "sha256:59ec351fbb8d3a392e90f4f5bf6b62f58b21d6d7a900c5e367e5d2e09ecb3aca", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -13182,7 +13182,7 @@ "estimated_token_count_total": 619 }, "hash": "sha256:00be43ac8d666bbe15c5c2fa5a5085697d0bb5a6f341ebbb943a209f0be355df", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -13269,7 +13269,7 @@ "estimated_token_count_total": 2526 }, "hash": "sha256:231fc555eefe5f910fb36e0c03945147d0fb235272850797391751f4444b0a9c", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -13348,7 +13348,7 @@ "estimated_token_count_total": 2571 }, "hash": "sha256:8a914e4309d4fe7070e62d7abe4665b6c76c8dc5ec3219332eccb16b77b0dd95", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -13410,7 +13410,7 @@ "estimated_token_count_total": 876 }, "hash": "sha256:8239d1e8d8642cb7c10e9e5f971c99b999e9e4a87373b50bf4a691225c1e4702", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -13431,7 +13431,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -13499,7 +13499,7 @@ "estimated_token_count_total": 2300 }, "hash": "sha256:ba24e31e2ad94fbf1d73f1878da92dd2e1476db00170780bbdf0e65ab18bc961", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -13557,7 +13557,7 @@ "estimated_token_count_total": 1430 }, "hash": "sha256:1284c42be692167e01bcc44e2e134ec20615402675fac26df246c00aa1588d80", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -13625,7 +13625,7 @@ "estimated_token_count_total": 2453 }, "hash": "sha256:2c77cfb38bb2e466a8f56dabbb706fcd2e90cf1634fc9beb7f0ee95a75735653", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -13693,7 +13693,7 @@ "estimated_token_count_total": 2018 }, "hash": "sha256:a87815deff81936d7f50842f8600004990076c1a33e7e6b408ab954b6ce47259", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -13746,7 +13746,7 @@ "estimated_token_count_total": 1987 }, "hash": "sha256:2ca93b09d3bb9159bbf53816886a9b242bb3c13b996c51fd52962e049e2d5477", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -13778,7 +13778,7 @@ "estimated_token_count_total": 669 }, "hash": "sha256:a7f9c4a03153ee637a0557d2cea0b622c849667ce793b1294bb3299cf036197d", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -13851,7 +13851,7 @@ "estimated_token_count_total": 1084 }, "hash": "sha256:7f533abe61586af8438e350c41b741d74a8edb839f9dc4139bc4619ba3748258", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -13919,7 +13919,7 @@ "estimated_token_count_total": 1166 }, "hash": "sha256:ed3986f30880fefca5975fcdc847c68b4aca65862c63e3002b25391b0521781d", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -13977,7 +13977,7 @@ "estimated_token_count_total": 942 }, "hash": "sha256:8987fc35cd28602054ee018031f773e2e3837425107c51d0e2ac68a94b86e9c0", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -14030,7 +14030,7 @@ "estimated_token_count_total": 1945 }, "hash": "sha256:0795462182cb97256bb5c2acb035855fe0d6557185de8ac99482725ecb4f94c1", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -14103,7 +14103,7 @@ "estimated_token_count_total": 2187 }, "hash": "sha256:56269d9ea47f5b4e92cd7d5a1e65ab06d181a9c380f90bb3ef285529b12299f7", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -14162,7 +14162,7 @@ "estimated_token_count_total": 1700 }, "hash": "sha256:47328231d6ff4dc52cd93aaf1baf5d0bc2d9fc372f3d79339d87aafa0dabd1b8", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -14183,7 +14183,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -14220,7 +14220,7 @@ "estimated_token_count_total": 558 }, "hash": "sha256:a2490223926957381913ae0ed22e2df3611a6713ec9d77a3015d1cd6a578b3f6", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -14241,7 +14241,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -14299,7 +14299,7 @@ "estimated_token_count_total": 2671 }, "hash": "sha256:2a42198668c759f63aa602115bf2d290ec7d03bbc3a3df20e30e85027e1b1cc3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -14320,7 +14320,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -14374,7 +14374,7 @@ "estimated_token_count_total": 2107 }, "hash": "sha256:296cba75b1d49aefa1b8636ba95ca20c3431b7eb0e93b0658add671ef5801732", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:05+00:00", "token_estimator": "heuristic-v1" }, { @@ -14428,7 +14428,7 @@ "estimated_token_count_total": 2264 }, "hash": "sha256:4e3ac6affdbe93ce9d132cbb838be1dfaf7a629b0e1f10ce4d90cc3899d656cb", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -14449,7 +14449,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -14470,7 +14470,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -14547,7 +14547,7 @@ "estimated_token_count_total": 6228 }, "hash": "sha256:72e41f816f07026d96c803f399c71852aa1151c464e79cec3e1746b282d5eaae", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -14568,7 +14568,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -14589,7 +14589,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -14610,7 +14610,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -14631,7 +14631,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -14652,7 +14652,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -14730,7 +14730,7 @@ "estimated_token_count_total": 4190 }, "hash": "sha256:1729ad83ad381a90752540644d400c60add3555e5da296ab455442be81d32f8c", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -14751,7 +14751,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -14772,7 +14772,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -14793,7 +14793,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -14835,7 +14835,7 @@ "estimated_token_count_total": 2430 }, "hash": "sha256:e3d8b84cb2cee7010978582998b2269296a042aec53fb016388690ab6adf355e", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -14856,7 +14856,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -14919,7 +14919,7 @@ "estimated_token_count_total": 1347 }, "hash": "sha256:7589fa1dbdbf5748892ab6d42fc784d833f33e254bd3f95ee58424effcd38323", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -14940,7 +14940,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -14961,7 +14961,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -15004,7 +15004,7 @@ "estimated_token_count_total": 309 }, "hash": "sha256:93e8a3043d65583e3d66f8f5f0ed6f4ef89a908ef85da2b6ca906a1100b7dded", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -15041,7 +15041,7 @@ "estimated_token_count_total": 313 }, "hash": "sha256:c609bc98cba5efa2d2a808548cf93ad9d0a06455b35a8fd9f534daf52824f506", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -15109,7 +15109,7 @@ "estimated_token_count_total": 1818 }, "hash": "sha256:f50cd1177dd4aff8eb031d6f21cb640f8187a7f2dd0edcaef5c73354a378e44d", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -15172,7 +15172,7 @@ "estimated_token_count_total": 1182 }, "hash": "sha256:9542f40acae725e628f4c3155ad1e7e0e18b2eb518484856ad439a1d9f86d1f3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -15193,7 +15193,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -15246,7 +15246,7 @@ "estimated_token_count_total": 994 }, "hash": "sha256:6992c9a2d1b315b64d9782880105cf2d436750249a84577aceb95cc213863009", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -15303,7 +15303,7 @@ "estimated_token_count_total": 1046 }, "hash": "sha256:dd29fab6e3c00d720b10effa4e50373a6fe9ab4b7bfd3aea892c7fa9c84318a2", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -15500,7 +15500,7 @@ "estimated_token_count_total": 9750 }, "hash": "sha256:1fb7a20bc4a799a771954720428029419ec73afa640e589590c43dd041a7e307", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -15521,7 +15521,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -15579,7 +15579,7 @@ "estimated_token_count_total": 2840 }, "hash": "sha256:224a9f69d4613a5f1afdbc1f05379add8321fe159e32c71db003bbe08ff8e976", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -15600,7 +15600,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -15621,7 +15621,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -15674,7 +15674,7 @@ "estimated_token_count_total": 1627 }, "hash": "sha256:65809486f62f60c6a6ac8109f9f027361683c23f639991a045ec5c057b665026", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -15762,7 +15762,7 @@ "estimated_token_count_total": 4474 }, "hash": "sha256:c74a28d8d62369591c5734535136508db3d1f7380e486fd214f98d433cafd6e7", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -15855,7 +15855,7 @@ "estimated_token_count_total": 3891 }, "hash": "sha256:e27657e4e4a14fe86f424b96631946ec36fb90d277e6010b6cbd64c4769aba8a", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -15928,7 +15928,7 @@ "estimated_token_count_total": 3250 }, "hash": "sha256:bc771f912627fa09cad64adab1bc81c052f650d6c5a3b4f0c91883a98f6628da", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -16001,7 +16001,7 @@ "estimated_token_count_total": 3035 }, "hash": "sha256:f0d36333d0d3afff7f6374a61d0f6d1fb878c9ef4c4e4c24447745661dbe59d0", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -16054,7 +16054,7 @@ "estimated_token_count_total": 2509 }, "hash": "sha256:205892e350168b3d0da7ccc280c67c3217ad1e45e87a53d124fa1dd69661aa5e", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -16127,7 +16127,7 @@ "estimated_token_count_total": 1122 }, "hash": "sha256:ee87115c828928c82937de26f5f938cecd4c3bb1225fdb61627e8092e6ea5951", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -16148,7 +16148,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -16169,7 +16169,7 @@ "estimated_token_count_total": 0 }, "hash": "sha256:56ba36249ea8216ad513b13df3de6c0e490ba214897674d30331f1c7e7edbef3", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -16236,7 +16236,7 @@ "estimated_token_count_total": 2276 }, "hash": "sha256:4856172c6356357818234a3b7f0828716bd32e6192f3609c51de0cafcc5a75e7", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -16303,7 +16303,7 @@ "estimated_token_count_total": 2249 }, "hash": "sha256:1368f6d49bccb7ba0e642cc58ea2c97ca95ae45e390cb9fa2ab11b0b41de52f4", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -16415,7 +16415,7 @@ "estimated_token_count_total": 4844 }, "hash": "sha256:96acff10be56dea76acdb5c915c1dde0eb15eb12eb95e7871eef56bab6cda273", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -16487,7 +16487,7 @@ "estimated_token_count_total": 2375 }, "hash": "sha256:61bc251929352f2299ca1d413d05aa9c3672b914575a285d73c7ba53dbd75bff", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -16539,7 +16539,7 @@ "estimated_token_count_total": 1461 }, "hash": "sha256:370ed10155cee84889a6d230d0bc3476597448f88a2a271ab87ef893a3268c18", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -16611,7 +16611,7 @@ "estimated_token_count_total": 7755 }, "hash": "sha256:086a87823ab67ceac102358030e316583cd733c0ec326316e7f29061fe7f6934", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -16673,7 +16673,7 @@ "estimated_token_count_total": 2764 }, "hash": "sha256:a2bba0ba575bd7e3f7199282ea5994087acf2c62e828f316e6eb62c9a43449e1", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -16755,7 +16755,7 @@ "estimated_token_count_total": 34492 }, "hash": "sha256:bef820acfe429d4a847a8de82de6c70155ac6b3ad5ebdd574a2157923b45f688", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -16808,7 +16808,7 @@ "estimated_token_count_total": 3099 }, "hash": "sha256:d2f3ab658ab29514ac161b17df23e0e7c1f63a7fa4fefcef451ef80b413ab757", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -16901,7 +16901,7 @@ "estimated_token_count_total": 5338 }, "hash": "sha256:b3530f5fc5c9e916181dbc259a7fbae9c60100cb0450fc6d47bbb0d140afa075", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -16973,7 +16973,7 @@ "estimated_token_count_total": 4358 }, "hash": "sha256:87b19f6e881611329b7015e8d8187d7d85b2b2ef14b01e832c8b8e20897e3b40", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -17030,7 +17030,7 @@ "estimated_token_count_total": 2138 }, "hash": "sha256:ff2c267284959711782c0d6ecb4b439c3a6cc31f763d5e1ff2cc3b1f6efb62b2", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -17082,7 +17082,7 @@ "estimated_token_count_total": 2929 }, "hash": "sha256:df60044893f48dd7f37a11de275a16bf32adb31317ed70a789fd7fac64150e1a", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -17174,7 +17174,7 @@ "estimated_token_count_total": 4789 }, "hash": "sha256:81750202081ff24447f4e129c49230eedb315d1b44c740b677c3495a8f7adb9a", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -17256,7 +17256,7 @@ "estimated_token_count_total": 2452 }, "hash": "sha256:1eb463c6b2732ebed0d16165425cde438688d21cc302f759b40250850c2a5e83", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -17319,7 +17319,7 @@ "estimated_token_count_total": 3255 }, "hash": "sha256:fe94de6f97fb588552f6cbc6b1a4c7399e91f5f31585f61a0dee66f5f50ff8a0", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -17386,7 +17386,7 @@ "estimated_token_count_total": 4242 }, "hash": "sha256:2f11054e0d31c003ebae5d990b559bd56741d190ca409f6ad060216245fa2d17", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -17443,7 +17443,7 @@ "estimated_token_count_total": 2263 }, "hash": "sha256:a6a535f4f5e145d3e2a7518739f752ee3ed37b7745483f414e21c97792331d18", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -17491,7 +17491,7 @@ "estimated_token_count_total": 1571 }, "hash": "sha256:3ad540d8ad636304705cccb08bc1fdf21fe2fc7dc0f99bd509b23ae96d20e0ba", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -17583,7 +17583,7 @@ "estimated_token_count_total": 2140 }, "hash": "sha256:388c988338ed84589c546bb1606d08641fb931dae307d3df92aeccd2e4986080", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -17652,7 +17652,7 @@ "estimated_token_count_total": 2702 }, "hash": "sha256:1f8ab387f721d865a7ca75eaa2528f1f2ebd4528a7d65ffeb27c68953100a3cb", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -17721,7 +17721,7 @@ "estimated_token_count_total": 2564 }, "hash": "sha256:97dadddf4c27f469f552875461fc54d331fa151e4656401e15d6d4173115eecf", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -17779,7 +17779,7 @@ "estimated_token_count_total": 2670 }, "hash": "sha256:07629376480e74afc7fe4d91df539b6ab22453df0f8143df11cc51ef9a78f736", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -17833,7 +17833,7 @@ "estimated_token_count_total": 2056 }, "hash": "sha256:cf9197d6909dd8865e8838cad95e3692fefaecc3d2f4773b26809a02051d620f", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -17887,7 +17887,7 @@ "estimated_token_count_total": 2220 }, "hash": "sha256:aa6371024bb78c3eeedb6820a37859670046fd0e4f756ad417b20c39fb2983b9", - "last_modified": "2025-11-03T15:36:04+00:00", + "last_modified": "2025-11-03T17:43:57+00:00", "token_estimator": "heuristic-v1" }, { @@ -17940,7 +17940,7 @@ "estimated_token_count_total": 1760 }, "hash": "sha256:9cf70459e921b8b231a3f2e7a7c1d47a4917e45f0c4d0fe873ad4062fd540a9a", - "last_modified": "2025-11-03T17:39:33+00:00", + "last_modified": "2025-11-03T17:48:06+00:00", "token_estimator": "heuristic-v1" }, { @@ -18013,7 +18013,7 @@ "estimated_token_count_total": 5118 }, "hash": "sha256:de7fde61d4cac9c28634ee496dcabe116fe44b1b87408f202103290d78247c05", - "last_modified": "2025-11-03T17:39:34+00:00", + "last_modified": "2025-11-03T17:48:07+00:00", "token_estimator": "heuristic-v1" }, { @@ -18096,7 +18096,7 @@ "estimated_token_count_total": 6206 }, "hash": "sha256:cb8ddb4a61f6a62182420b69382f1c7ab2adc2f4ae643f7f68c6867680afe81f", - "last_modified": "2025-11-03T17:39:35+00:00", + "last_modified": "2025-11-03T17:48:08+00:00", "token_estimator": "heuristic-v1" }, { @@ -18159,7 +18159,7 @@ "estimated_token_count_total": 4135 }, "hash": "sha256:ca1d65d450f086a0eb7b81e9589e9894e04b217fe9709a1b464f09beb3ca9dc2", - "last_modified": "2025-11-03T17:39:36+00:00", + "last_modified": "2025-11-03T17:48:08+00:00", "token_estimator": "heuristic-v1" } ] \ No newline at end of file diff --git a/parachains/customize-runtime/add-smart-contract-functionality.md b/parachains/customize-runtime/add-smart-contract-functionality.md index 728edbe1e..3fedfbb4b 100644 --- a/parachains/customize-runtime/add-smart-contract-functionality.md +++ b/parachains/customize-runtime/add-smart-contract-functionality.md @@ -114,4 +114,4 @@ For reference, Astar's implementation of [`pallet-contracts`](https://github.com [:octicons-arrow-right-24: Get Started](/parachains/customize-runtime/add-existing-pallets/) -
+
\ No newline at end of file From 2b9705db291559bbc44ab0110b38d3f3c21b0ccf Mon Sep 17 00:00:00 2001 From: Taylor Lucero <67010424+Telucero@users.noreply.github.com> Date: Thu, 6 Nov 2025 02:00:44 +0900 Subject: [PATCH 05/10] Apply suggestion from @eshaben Co-authored-by: Erin Shaben --- .../customize-runtime/add-smart-contract-functionality.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parachains/customize-runtime/add-smart-contract-functionality.md b/parachains/customize-runtime/add-smart-contract-functionality.md index 3fedfbb4b..ef9e83de2 100644 --- a/parachains/customize-runtime/add-smart-contract-functionality.md +++ b/parachains/customize-runtime/add-smart-contract-functionality.md @@ -96,7 +96,7 @@ Production implementations demonstrate Frontier's capabilities: ## pallet-contracts (Legacy) -[`pallet-contracts`](https://docs.rs/pallet-contracts/latest/pallet_contracts/index.html#contracts-pallet){target=\_blank} is the original Wasm-based smart contract pallet for Polkadot SDK chains. While still functional, it's considered legacy as development efforts have shifted to pallet-revive. +[`pallet-contracts`](https://docs.rs/pallet-contracts/latest/pallet_contracts/index.html#contracts-pallet){target=\_blank} is the original Wasm-based smart contract pallet for Polkadot SDK chains. While still functional, it's considered legacy as development efforts have shifted to `pallet-revive`. ### Implementation Example From 27344e74b5e3775d15ff3fadba1267627996a29d Mon Sep 17 00:00:00 2001 From: Taylor Lucero <67010424+Telucero@users.noreply.github.com> Date: Thu, 6 Nov 2025 02:00:52 +0900 Subject: [PATCH 06/10] Apply suggestion from @eshaben Co-authored-by: Erin Shaben --- .../customize-runtime/add-smart-contract-functionality.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/parachains/customize-runtime/add-smart-contract-functionality.md b/parachains/customize-runtime/add-smart-contract-functionality.md index ef9e83de2..4ee7219df 100644 --- a/parachains/customize-runtime/add-smart-contract-functionality.md +++ b/parachains/customize-runtime/add-smart-contract-functionality.md @@ -49,9 +49,9 @@ Any language that can compile to PolkaVM bytecode and utilize `pallet-revive`'s ### Key Benefits -- **Unified Platform**: Deploys both PolkaVM-optimized and EVM-compatible contracts using a single pallet. +- **Unified platform**: Deploys both PolkaVM-optimized and EVM-compatible contracts using a single pallet. - **Performance**: PolkaVM execution provides improved performance compared to the traditional EVM, leveraging the [RISC-V](https://en.wikipedia.org/wiki/RISC-V){target=\_blank} architecture to map instructions to the CPU and requires little transpiling. -- **Ethereum Compatibility**: Supports full integration with Ethereum tooling via RPC adapter. +- **Ethereum compatibility**: Supports full integration with Ethereum tooling via RPC adapter. ### Implementation Examples From ca4c1553ecbafdc3d2cba0bf95546f2518307981 Mon Sep 17 00:00:00 2001 From: Taylor Lucero <67010424+Telucero@users.noreply.github.com> Date: Thu, 6 Nov 2025 02:01:21 +0900 Subject: [PATCH 07/10] Apply suggestion from @eshaben Co-authored-by: Erin Shaben --- .../customize-runtime/add-smart-contract-functionality.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parachains/customize-runtime/add-smart-contract-functionality.md b/parachains/customize-runtime/add-smart-contract-functionality.md index 4ee7219df..644a79972 100644 --- a/parachains/customize-runtime/add-smart-contract-functionality.md +++ b/parachains/customize-runtime/add-smart-contract-functionality.md @@ -69,7 +69,7 @@ Frontier offers flexible integration depending on your compatibility needs: For basic EVM support using Polkadot SDK native APIs: -- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}**: Provides the core EVM execution environment +- **[`pallet-evm`](https://github.com/polkadot-evm/frontier/tree/master/frame/evm){target=\_blank}**: Provides the core EVM execution environment. This configuration allows EVM contract execution but requires using Polkadot SDK-specific APIs for interaction. From 2dafc63d962f56eeec97bf6050aec10db7dee461 Mon Sep 17 00:00:00 2001 From: Taylor Lucero <67010424+Telucero@users.noreply.github.com> Date: Thu, 6 Nov 2025 02:01:29 +0900 Subject: [PATCH 08/10] Apply suggestion from @eshaben Co-authored-by: Erin Shaben --- .../customize-runtime/add-smart-contract-functionality.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/parachains/customize-runtime/add-smart-contract-functionality.md b/parachains/customize-runtime/add-smart-contract-functionality.md index 644a79972..b596fc236 100644 --- a/parachains/customize-runtime/add-smart-contract-functionality.md +++ b/parachains/customize-runtime/add-smart-contract-functionality.md @@ -84,9 +84,9 @@ For complete Ethereum ecosystem integration with Ethereum RPC support: ### Key Benefits - **Ethereum tooling compatibility**: Full compatibility with MetaMask, Hardhat, Remix, Truffle, and other Ethereum development tools -- **Minimal-friction migration**: Deployment of existing Ethereum dApps with minimal or no modifications -- **Native Ethereum formats**: Support for Ethereum transaction formats, signatures, and gas mechanics -- **Block emulation**: Ethereum-style block structure within Substrate's block production +- **Minimal-friction migration**: Deployment of existing Ethereum dApps with minimal or no modifications. +- **Native Ethereum formats**: Support for Ethereum transaction formats, signatures, and gas mechanics. +- **Block emulation**: Ethereum-style block structure within Substrate's block production. ### Implementation Examples From 037a9221080d14a69b8fc24b2336ec0e3080e6b3 Mon Sep 17 00:00:00 2001 From: Taylor Lucero <67010424+Telucero@users.noreply.github.com> Date: Thu, 6 Nov 2025 02:01:40 +0900 Subject: [PATCH 09/10] Apply suggestion from @eshaben Co-authored-by: Erin Shaben --- .../customize-runtime/add-smart-contract-functionality.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parachains/customize-runtime/add-smart-contract-functionality.md b/parachains/customize-runtime/add-smart-contract-functionality.md index b596fc236..073c14d5f 100644 --- a/parachains/customize-runtime/add-smart-contract-functionality.md +++ b/parachains/customize-runtime/add-smart-contract-functionality.md @@ -92,7 +92,7 @@ For complete Ethereum ecosystem integration with Ethereum RPC support: Production implementations demonstrate Frontier's capabilities: -- **Moonbeam**: See their implementation of [`pallet-evm`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L532){target=\_blank} and [`pallet-ethereum`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L698){target=\_blank} +- **Moonbeam**: See their implementation of [`pallet-evm`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L532){target=\_blank} and [`pallet-ethereum`](https://github.com/moonbeam-foundation/moonbeam/blob/9e2ddbc9ae8bf65f11701e7ccde50075e5fe2790/runtime/moonbeam/src/lib.rs#L698){target=\_blank}. ## pallet-contracts (Legacy) From 35816885b1537e32e64e794a74cfb7e45fff7c89 Mon Sep 17 00:00:00 2001 From: Taylor Lucero <67010424+Telucero@users.noreply.github.com> Date: Thu, 6 Nov 2025 02:02:58 +0900 Subject: [PATCH 10/10] Apply suggestion from @eshaben Co-authored-by: Erin Shaben --- .../customize-runtime/add-smart-contract-functionality.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parachains/customize-runtime/add-smart-contract-functionality.md b/parachains/customize-runtime/add-smart-contract-functionality.md index 073c14d5f..951b67eb5 100644 --- a/parachains/customize-runtime/add-smart-contract-functionality.md +++ b/parachains/customize-runtime/add-smart-contract-functionality.md @@ -83,7 +83,7 @@ For complete Ethereum ecosystem integration with Ethereum RPC support: ### Key Benefits -- **Ethereum tooling compatibility**: Full compatibility with MetaMask, Hardhat, Remix, Truffle, and other Ethereum development tools +- **Ethereum tooling compatibility**: Full compatibility with MetaMask, Hardhat, Remix, Foundry, and other Ethereum development tools. - **Minimal-friction migration**: Deployment of existing Ethereum dApps with minimal or no modifications. - **Native Ethereum formats**: Support for Ethereum transaction formats, signatures, and gas mechanics. - **Block emulation**: Ethereum-style block structure within Substrate's block production.