diff --git a/.claude/skills/test/pallet.md b/.claude/skills/test/pallet.md index 61087cc2..f4f94e5c 100644 --- a/.claude/skills/test/pallet.md +++ b/.claude/skills/test/pallet.md @@ -186,6 +186,6 @@ fn test_provider_registered_event() { ## Links -- [Pallet Source](/pallet/src/lib.rs) +- [Pallet Source](/crates/pallets/storage-provider/src/lib.rs) - For end-to-end exercise: `just demo` (Layer-0 PAPI), `just fs-demo-ci`, `just s3-demo-ci` -- [Runtime](/runtime/src/lib.rs) +- [Runtime](/runtime/src/lib.rs) \ No newline at end of file diff --git a/.github/workflows/check-runtime-migration.yml b/.github/workflows/check-runtime-migration.yml index 4fb72df4..12a23eca 100644 --- a/.github/workflows/check-runtime-migration.yml +++ b/.github/workflows/check-runtime-migration.yml @@ -51,9 +51,8 @@ jobs: filters: | runtime: - 'runtimes/**' - - 'pallet/**' + - 'crates/pallets/**' - 'primitives/**' - - 'storage-interfaces/**/pallet-*/**' - '**/Cargo.toml' - 'Cargo.lock' - '.github/workflows/check-runtime-migration.yml' diff --git a/CLAUDE.md b/CLAUDE.md index 5e3fd220..d504b04d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -212,9 +212,11 @@ export function sameAddress(a, b) { ``` web3-storage/ -├── pallet/ # Substrate pallet (on-chain logic - Layer 0) -│ ├── src/lib.rs # Core pallet implementation -│ └── Cargo.toml # Pallet dependencies +├── crates/ +│ └── pallets/ # FRAME pallets (on-chain logic) +│ ├── storage-provider/ # Storage provider pallet (Layer 0) +│ ├── drive-registry/ # Drive Registry pallet (Layer 1 file system) +│ └── s3-registry/ # S3 Registry pallet (Layer 1 S3) ├── runtimes/ # Parachain runtimes │ ├── web3-storage-local/ # Local testnet runtime (storage-parachain-runtime) │ │ ├── src/lib.rs # Runtime configuration @@ -242,7 +244,6 @@ web3-storage/ ├── storage-interfaces/ # Layer 1 - High-level interfaces │ └── file-system/ # File System Interface │ ├── primitives/ # File system types (DriveInfo, CommitStrategy, etc.) -│ ├── pallet-registry/ # Drive Registry pallet (on-chain) │ └── client/ # File System Client SDK │ ├── src/ │ │ ├── lib.rs # Main file system client @@ -275,7 +276,7 @@ web3-storage/ #### Layer 0 (Raw Storage) -**Pallet (`pallet/`)**: On-chain logic for provider registration, bucket creation, storage agreements, checkpoints, and challenge/slashing mechanism. +**Pallet (`crates/pallets/storage-provider/`)**: On-chain logic for provider registration, bucket creation, storage agreements, checkpoints, and challenge/slashing mechanism. **Runtime (`runtimes/web3-storage-local/`)**: Parachain runtime that includes the storage provider pallet and configures its parameters (stake requirements, challenge periods, etc.). @@ -304,7 +305,7 @@ web3-storage/ - `CommitStrategy`: Checkpoint strategies (Immediate, Batched, Manual) - Helper functions for CID computation and path handling -**Drive Registry Pallet (`storage-interfaces/file-system/pallet-registry/`)**: On-chain drive management: +**Drive Registry Pallet (`crates/pallets/drive-registry/`)**: On-chain drive management: - Drive creation with automatic infrastructure setup - Root CID tracking for drive state - User-to-drive mapping diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c85fbf7c..0bbc9360 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -62,7 +62,7 @@ This repository is dual-licensed. The license that applies depends on the crate: | License | Crates | |---------|--------| | [GPL-3.0-only](LICENSE-GPL3) | `runtimes/`, `provider-node/`, `user-interfaces/` | -| [Apache-2.0](LICENSE-APACHE2) | `pallet/`, `primitives/`, `client/`, `precompiles/`, `storage-interfaces/` | +| [Apache-2.0](LICENSE-APACHE2) | `crates/pallets/`, `primitives/`, `client/`, `precompiles/`, `storage-interfaces/` | Each crate declares its applicable license in its `Cargo.toml` or `package.json`. diff --git a/Cargo.toml b/Cargo.toml index fc63de2e..b5d6aa73 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,9 +1,10 @@ [workspace] resolver = "2" members = [ - # Layer 0: Scalable Web3 Storage "client", - "pallet", + "crates/pallets/drive-registry", + "crates/pallets/s3-registry", + "crates/pallets/storage-provider", "primitives", "provider-node", "provider/negotiation", @@ -17,12 +18,10 @@ members = [ # Storage Interfaces: File System Interface "storage-interfaces/file-system/client", - "storage-interfaces/file-system/pallet-registry", "storage-interfaces/file-system/primitives", # Storage Interfaces: S3-Compatible Interface "storage-interfaces/s3/client", - "storage-interfaces/s3/pallet-s3-registry", "storage-interfaces/s3/primitives", ] @@ -36,7 +35,7 @@ repository = "https://github.com/paritytech/web3-storage" # Layer 0: Scalable Web3 Storage (Internal crates) pallet-drive-registry-precompile = { path = "precompiles/drive-registry-precompile", default-features = false } pallet-s3-registry-precompile = { path = "precompiles/s3-registry-precompile", default-features = false } -pallet-storage-provider = { path = "pallet", default-features = false } +pallet-storage-provider = { path = "crates/pallets/storage-provider", default-features = false } pallet-storage-provider-precompile = { path = "precompiles/storage-provider-precompile", default-features = false } provider-negotiation = { path = "provider/negotiation" } storage-client = { path = "client" } @@ -47,10 +46,10 @@ storage-provider-node = { path = "provider-node" } # Storage Interfaces: File System Interface file-system-client = { path = "storage-interfaces/file-system/client" } file-system-primitives = { path = "storage-interfaces/file-system/primitives", default-features = false } -pallet-drive-registry = { path = "storage-interfaces/file-system/pallet-registry", default-features = false } +pallet-drive-registry = { path = "crates/pallets/drive-registry", default-features = false } # Storage Interfaces: S3-Compatible Interface -pallet-s3-registry = { path = "storage-interfaces/s3/pallet-s3-registry", default-features = false } +pallet-s3-registry = { path = "crates/pallets/s3-registry", default-features = false } s3-client = { path = "storage-interfaces/s3/client" } s3-primitives = { path = "storage-interfaces/s3/primitives", default-features = false } diff --git a/README.md b/README.md index 20afc0a8..7313906d 100644 --- a/README.md +++ b/README.md @@ -186,7 +186,7 @@ Two types of nodes work together: ``` scalable-web3-storage/ -├── pallet/ # Substrate pallet (on-chain logic) +├── crates/pallets/ # FRAME pallets (on-chain logic) ├── runtimes/ # Parachain runtimes (web3-storage-local, web3-storage-paseo) ├── provider-node/ # Off-chain storage server (HTTP API) ├── client/ # Client SDK for applications diff --git a/storage-interfaces/file-system/pallet-registry/Cargo.toml b/crates/pallets/drive-registry/Cargo.toml similarity index 100% rename from storage-interfaces/file-system/pallet-registry/Cargo.toml rename to crates/pallets/drive-registry/Cargo.toml diff --git a/storage-interfaces/file-system/pallet-registry/src/bechmarking.rs b/crates/pallets/drive-registry/src/bechmarking.rs similarity index 100% rename from storage-interfaces/file-system/pallet-registry/src/bechmarking.rs rename to crates/pallets/drive-registry/src/bechmarking.rs diff --git a/storage-interfaces/file-system/pallet-registry/src/lib.rs b/crates/pallets/drive-registry/src/lib.rs similarity index 100% rename from storage-interfaces/file-system/pallet-registry/src/lib.rs rename to crates/pallets/drive-registry/src/lib.rs diff --git a/storage-interfaces/file-system/pallet-registry/src/migrations.rs b/crates/pallets/drive-registry/src/migrations.rs similarity index 100% rename from storage-interfaces/file-system/pallet-registry/src/migrations.rs rename to crates/pallets/drive-registry/src/migrations.rs diff --git a/storage-interfaces/file-system/pallet-registry/src/mock.rs b/crates/pallets/drive-registry/src/mock.rs similarity index 100% rename from storage-interfaces/file-system/pallet-registry/src/mock.rs rename to crates/pallets/drive-registry/src/mock.rs diff --git a/storage-interfaces/file-system/pallet-registry/src/tests.rs b/crates/pallets/drive-registry/src/tests.rs similarity index 100% rename from storage-interfaces/file-system/pallet-registry/src/tests.rs rename to crates/pallets/drive-registry/src/tests.rs diff --git a/storage-interfaces/file-system/pallet-registry/src/weights.rs b/crates/pallets/drive-registry/src/weights.rs similarity index 100% rename from storage-interfaces/file-system/pallet-registry/src/weights.rs rename to crates/pallets/drive-registry/src/weights.rs diff --git a/storage-interfaces/s3/pallet-s3-registry/Cargo.toml b/crates/pallets/s3-registry/Cargo.toml similarity index 100% rename from storage-interfaces/s3/pallet-s3-registry/Cargo.toml rename to crates/pallets/s3-registry/Cargo.toml diff --git a/storage-interfaces/s3/pallet-s3-registry/src/benchmarking.rs b/crates/pallets/s3-registry/src/benchmarking.rs similarity index 100% rename from storage-interfaces/s3/pallet-s3-registry/src/benchmarking.rs rename to crates/pallets/s3-registry/src/benchmarking.rs diff --git a/storage-interfaces/s3/pallet-s3-registry/src/lib.rs b/crates/pallets/s3-registry/src/lib.rs similarity index 100% rename from storage-interfaces/s3/pallet-s3-registry/src/lib.rs rename to crates/pallets/s3-registry/src/lib.rs diff --git a/storage-interfaces/s3/pallet-s3-registry/src/mock.rs b/crates/pallets/s3-registry/src/mock.rs similarity index 100% rename from storage-interfaces/s3/pallet-s3-registry/src/mock.rs rename to crates/pallets/s3-registry/src/mock.rs diff --git a/storage-interfaces/s3/pallet-s3-registry/src/tests.rs b/crates/pallets/s3-registry/src/tests.rs similarity index 100% rename from storage-interfaces/s3/pallet-s3-registry/src/tests.rs rename to crates/pallets/s3-registry/src/tests.rs diff --git a/storage-interfaces/s3/pallet-s3-registry/src/weights.rs b/crates/pallets/s3-registry/src/weights.rs similarity index 100% rename from storage-interfaces/s3/pallet-s3-registry/src/weights.rs rename to crates/pallets/s3-registry/src/weights.rs diff --git a/pallet/Cargo.toml b/crates/pallets/storage-provider/Cargo.toml similarity index 100% rename from pallet/Cargo.toml rename to crates/pallets/storage-provider/Cargo.toml diff --git a/pallet/src/benchmarking.rs b/crates/pallets/storage-provider/src/benchmarking.rs similarity index 100% rename from pallet/src/benchmarking.rs rename to crates/pallets/storage-provider/src/benchmarking.rs diff --git a/pallet/src/impls/agreements.rs b/crates/pallets/storage-provider/src/impls/agreements.rs similarity index 100% rename from pallet/src/impls/agreements.rs rename to crates/pallets/storage-provider/src/impls/agreements.rs diff --git a/pallet/src/impls/buckets.rs b/crates/pallets/storage-provider/src/impls/buckets.rs similarity index 100% rename from pallet/src/impls/buckets.rs rename to crates/pallets/storage-provider/src/impls/buckets.rs diff --git a/pallet/src/impls/challenges.rs b/crates/pallets/storage-provider/src/impls/challenges.rs similarity index 100% rename from pallet/src/impls/challenges.rs rename to crates/pallets/storage-provider/src/impls/challenges.rs diff --git a/pallet/src/impls/checkpoints.rs b/crates/pallets/storage-provider/src/impls/checkpoints.rs similarity index 100% rename from pallet/src/impls/checkpoints.rs rename to crates/pallets/storage-provider/src/impls/checkpoints.rs diff --git a/pallet/src/impls/marketplace.rs b/crates/pallets/storage-provider/src/impls/marketplace.rs similarity index 100% rename from pallet/src/impls/marketplace.rs rename to crates/pallets/storage-provider/src/impls/marketplace.rs diff --git a/pallet/src/impls/members.rs b/crates/pallets/storage-provider/src/impls/members.rs similarity index 100% rename from pallet/src/impls/members.rs rename to crates/pallets/storage-provider/src/impls/members.rs diff --git a/pallet/src/impls/mod.rs b/crates/pallets/storage-provider/src/impls/mod.rs similarity index 100% rename from pallet/src/impls/mod.rs rename to crates/pallets/storage-provider/src/impls/mod.rs diff --git a/pallet/src/impls/providers.rs b/crates/pallets/storage-provider/src/impls/providers.rs similarity index 100% rename from pallet/src/impls/providers.rs rename to crates/pallets/storage-provider/src/impls/providers.rs diff --git a/pallet/src/impls/queries.rs b/crates/pallets/storage-provider/src/impls/queries.rs similarity index 100% rename from pallet/src/impls/queries.rs rename to crates/pallets/storage-provider/src/impls/queries.rs diff --git a/pallet/src/impls/signatures.rs b/crates/pallets/storage-provider/src/impls/signatures.rs similarity index 100% rename from pallet/src/impls/signatures.rs rename to crates/pallets/storage-provider/src/impls/signatures.rs diff --git a/pallet/src/impls/try_state.rs b/crates/pallets/storage-provider/src/impls/try_state.rs similarity index 100% rename from pallet/src/impls/try_state.rs rename to crates/pallets/storage-provider/src/impls/try_state.rs diff --git a/pallet/src/lib.rs b/crates/pallets/storage-provider/src/lib.rs similarity index 100% rename from pallet/src/lib.rs rename to crates/pallets/storage-provider/src/lib.rs diff --git a/pallet/src/migrations.rs b/crates/pallets/storage-provider/src/migrations.rs similarity index 100% rename from pallet/src/migrations.rs rename to crates/pallets/storage-provider/src/migrations.rs diff --git a/pallet/src/mock.rs b/crates/pallets/storage-provider/src/mock.rs similarity index 100% rename from pallet/src/mock.rs rename to crates/pallets/storage-provider/src/mock.rs diff --git a/pallet/src/runtime_api.rs b/crates/pallets/storage-provider/src/runtime_api.rs similarity index 100% rename from pallet/src/runtime_api.rs rename to crates/pallets/storage-provider/src/runtime_api.rs diff --git a/pallet/src/tests/agreement.rs b/crates/pallets/storage-provider/src/tests/agreement.rs similarity index 100% rename from pallet/src/tests/agreement.rs rename to crates/pallets/storage-provider/src/tests/agreement.rs diff --git a/pallet/src/tests/auto_matching.rs b/crates/pallets/storage-provider/src/tests/auto_matching.rs similarity index 100% rename from pallet/src/tests/auto_matching.rs rename to crates/pallets/storage-provider/src/tests/auto_matching.rs diff --git a/pallet/src/tests/bucket.rs b/crates/pallets/storage-provider/src/tests/bucket.rs similarity index 100% rename from pallet/src/tests/bucket.rs rename to crates/pallets/storage-provider/src/tests/bucket.rs diff --git a/pallet/src/tests/challenge.rs b/crates/pallets/storage-provider/src/tests/challenge.rs similarity index 100% rename from pallet/src/tests/challenge.rs rename to crates/pallets/storage-provider/src/tests/challenge.rs diff --git a/pallet/src/tests/checkpoint.rs b/crates/pallets/storage-provider/src/tests/checkpoint.rs similarity index 100% rename from pallet/src/tests/checkpoint.rs rename to crates/pallets/storage-provider/src/tests/checkpoint.rs diff --git a/pallet/src/tests/end_agreement.rs b/crates/pallets/storage-provider/src/tests/end_agreement.rs similarity index 100% rename from pallet/src/tests/end_agreement.rs rename to crates/pallets/storage-provider/src/tests/end_agreement.rs diff --git a/pallet/src/tests/error_paths.rs b/crates/pallets/storage-provider/src/tests/error_paths.rs similarity index 100% rename from pallet/src/tests/error_paths.rs rename to crates/pallets/storage-provider/src/tests/error_paths.rs diff --git a/pallet/src/tests/extend_topup.rs b/crates/pallets/storage-provider/src/tests/extend_topup.rs similarity index 100% rename from pallet/src/tests/extend_topup.rs rename to crates/pallets/storage-provider/src/tests/extend_topup.rs diff --git a/pallet/src/tests/genesis.rs b/crates/pallets/storage-provider/src/tests/genesis.rs similarity index 100% rename from pallet/src/tests/genesis.rs rename to crates/pallets/storage-provider/src/tests/genesis.rs diff --git a/pallet/src/tests/member_buckets.rs b/crates/pallets/storage-provider/src/tests/member_buckets.rs similarity index 100% rename from pallet/src/tests/member_buckets.rs rename to crates/pallets/storage-provider/src/tests/member_buckets.rs diff --git a/pallet/src/tests/migrations.rs b/crates/pallets/storage-provider/src/tests/migrations.rs similarity index 100% rename from pallet/src/tests/migrations.rs rename to crates/pallets/storage-provider/src/tests/migrations.rs diff --git a/pallet/src/tests/misc.rs b/crates/pallets/storage-provider/src/tests/misc.rs similarity index 100% rename from pallet/src/tests/misc.rs rename to crates/pallets/storage-provider/src/tests/misc.rs diff --git a/pallet/src/tests/mod.rs b/crates/pallets/storage-provider/src/tests/mod.rs similarity index 100% rename from pallet/src/tests/mod.rs rename to crates/pallets/storage-provider/src/tests/mod.rs diff --git a/pallet/src/tests/provider.rs b/crates/pallets/storage-provider/src/tests/provider.rs similarity index 100% rename from pallet/src/tests/provider.rs rename to crates/pallets/storage-provider/src/tests/provider.rs diff --git a/pallet/src/tests/replica.rs b/crates/pallets/storage-provider/src/tests/replica.rs similarity index 100% rename from pallet/src/tests/replica.rs rename to crates/pallets/storage-provider/src/tests/replica.rs diff --git a/pallet/src/tests/runtime_api.rs b/crates/pallets/storage-provider/src/tests/runtime_api.rs similarity index 100% rename from pallet/src/tests/runtime_api.rs rename to crates/pallets/storage-provider/src/tests/runtime_api.rs diff --git a/pallet/src/tests/try_state.rs b/crates/pallets/storage-provider/src/tests/try_state.rs similarity index 100% rename from pallet/src/tests/try_state.rs rename to crates/pallets/storage-provider/src/tests/try_state.rs diff --git a/pallet/src/weights.rs b/crates/pallets/storage-provider/src/weights.rs similarity index 100% rename from pallet/src/weights.rs rename to crates/pallets/storage-provider/src/weights.rs diff --git a/docs/design/scalable-web3-storage-implementation.md b/docs/design/scalable-web3-storage-implementation.md index 15607c24..bc7ff13a 100644 --- a/docs/design/scalable-web3-storage-implementation.md +++ b/docs/design/scalable-web3-storage-implementation.md @@ -863,7 +863,7 @@ pub enum Event { Read-only queries used by clients (the Rust SDK, demos, and the provider node's membership cache) to discover providers, inspect bucket state, list agreements, and watch challenges without submitting transactions. Defined in -`pallet/src/runtime_api.rs` as `StorageProviderApi`. +`crates/pallets/storage-provider/src/runtime_api.rs` as `StorageProviderApi`. ```rust sp_api::decl_runtime_apis! { @@ -912,7 +912,7 @@ sp_api::decl_runtime_apis! { } ``` -Response types live in `pallet/src/runtime_api.rs` (`ProviderInfoResponse`, +Response types live in `crates/pallets/storage-provider/src/runtime_api.rs` (`ProviderInfoResponse`, `StorageRequirements`, `MatchedProvider`, `BucketResponse`, `AgreementResponse`, `ChallengeResponse`, etc.). They flatten the on-chain structs into encode/decode-friendly shapes (e.g. `AccountId` as `Vec`, diff --git a/docs/filesystems/ADMIN_GUIDE.md b/docs/filesystems/ADMIN_GUIDE.md index f7c70743..2dc38e86 100644 --- a/docs/filesystems/ADMIN_GUIDE.md +++ b/docs/filesystems/ADMIN_GUIDE.md @@ -373,7 +373,7 @@ let num_providers: u8 = if let Some(min) = min_providers { ```rust // Modify thresholds in pallet code: -// storage-interfaces/file-system/pallet-registry/src/lib.rs +// crates/pallets/drive-registry/src/lib.rs // Example: More aggressive replication if storage_period > 500 { diff --git a/docs/filesystems/README.md b/docs/filesystems/README.md index fe7447b7..d0762a29 100644 --- a/docs/filesystems/README.md +++ b/docs/filesystems/README.md @@ -29,7 +29,7 @@ cargo run -p file-system-client --example basic_usage ## Components -- **Drive Registry pallet** (`storage-interfaces/file-system/pallet-registry/`) — on-chain drive metadata, owner mapping, root CID slot. +- **Drive Registry pallet** (`crates/pallets/drive-registry/`) — on-chain drive metadata, owner mapping, root CID slot. - **File-system primitives** (`storage-interfaces/file-system/primitives/`) — shared types: `DriveInfo`, `DirectoryNode`, `FileManifest`, `CommitStrategy`. - **File-system client SDK** (`storage-interfaces/file-system/client/`) — Rust client. Real chain queries via subxt; file operations via the provider's `/fs/{bucket}/...` HTTP endpoints. - **TypeScript SDK** — `FileSystemClient` from `@web3-storage/sdk/fs` (`packages/layer1`), built on the layer-0 chain binding. diff --git a/docs/reference/EXTRINSICS_REFERENCE.md b/docs/reference/EXTRINSICS_REFERENCE.md index 3221d5c3..2d9d2bce 100644 --- a/docs/reference/EXTRINSICS_REFERENCE.md +++ b/docs/reference/EXTRINSICS_REFERENCE.md @@ -1,6 +1,6 @@ # Storage Provider Pallet - Extrinsics Reference -Quick reference for all available extrinsics in the storage provider pallet ([pallet/src/lib.rs](../../pallet/src/lib.rs)). +Quick reference for all available extrinsics in the storage provider pallet ([crates/pallets/storage-provider/src/lib.rs](../../crates/pallets/storage-provider/src/lib.rs)). ## Provider Management diff --git a/licenserc.apache.toml b/licenserc.apache.toml index d821f99f..cfeb8d4c 100644 --- a/licenserc.apache.toml +++ b/licenserc.apache.toml @@ -7,12 +7,12 @@ keywords = ["SPDX-License-Identifier"] includes = [ "client/**/*.rs", + "crates/pallets/**/*.rs", "examples/contracts/**/*.sol", "examples/papi/**/*.ts", "packages/**/*.js", "packages/**/*.ts", "packages/**/*.tsx", - "pallet/**/*.rs", "precompiles/**/*.rs", "precompiles/**/*.sol", "primitives/**/*.rs", diff --git a/pallet/README.md b/pallet/README.md deleted file mode 100644 index 15d5195a..00000000 --- a/pallet/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# Storage Provider Pallet - -Substrate FRAME pallet implementing the on-chain logic for Scalable Web3 -Storage: provider registration and staking, bucket creation, storage agreements, -MMR-based checkpoints, and the challenge/slashing mechanism. - -## Build & Test - -```bash -cargo build -p storage-provider-pallet --release -cargo test -p storage-provider-pallet -``` - -## License - -Licensed under [Apache-2.0](../LICENSE-APACHE2). diff --git a/provider-node/src/challenge_responder.rs b/provider-node/src/challenge_responder.rs index 4a91df1d..a2906e6e 100644 --- a/provider-node/src/challenge_responder.rs +++ b/provider-node/src/challenge_responder.rs @@ -381,7 +381,7 @@ const CHALLENGE_ENTRY_SIZE: usize = 144; /// the decoded `provider` field matches `our_bytes`; `None` when the /// challenge targets a different provider. /// -/// Layout of `Challenge` (see `pallet/src/lib.rs`): +/// Layout of `Challenge` (see `crates/pallets/storage-provider/src/lib.rs`): /// bucket_id (u64) — 8 /// provider (AccountId32) — 32 /// challenger (AccountId32)— 32 diff --git a/storage-interfaces/file-system/README.md b/storage-interfaces/file-system/README.md index a28802b1..8dc7c756 100644 --- a/storage-interfaces/file-system/README.md +++ b/storage-interfaces/file-system/README.md @@ -48,7 +48,7 @@ Core data structures and types for the file system. - CID computation and manipulation - DAG helper functions -### `pallet-registry/` +### Drive Registry pallet (`crates/pallets/drive-registry/`) On-chain registry pallet for drive management. **User-Facing Extrinsics:** diff --git a/storage-interfaces/s3/README.md b/storage-interfaces/s3/README.md index 68410aa8..5f53a0a9 100644 --- a/storage-interfaces/s3/README.md +++ b/storage-interfaces/s3/README.md @@ -33,7 +33,7 @@ This module provides an S3-compatible storage interface (Layer 1) on top of the | Component | Path | Description | |-----------|------|-------------| | **s3-primitives** | `primitives/` | Core types and validation functions (no_std compatible) | -| **pallet-s3-registry** | `pallet-s3-registry/` | On-chain S3 bucket and object metadata storage | +| **pallet-s3-registry** | `../../crates/pallets/s3-registry/` | On-chain S3 bucket and object metadata storage | | **s3-client** | `client/` | High-level SDK for S3 operations | ## Quick Start diff --git a/user-interfaces/shared/test-helpers/src/registration.ts b/user-interfaces/shared/test-helpers/src/registration.ts index e5955906..f79e4550 100644 --- a/user-interfaces/shared/test-helpers/src/registration.ts +++ b/user-interfaces/shared/test-helpers/src/registration.ts @@ -23,7 +23,7 @@ function publicKeyHex(address: string): string { * Storage key for `pallet_storage_provider::Providers[address]`. Layout * is `twox128(pallet_name) ++ twox128(storage_name) ++ * blake2_128_concat(scale(account))`, matching the FRAME `StorageMap` - * with `Blake2_128Concat` hasher in `pallet/src/lib.rs`. AccountId32 is + * with `Blake2_128Concat` hasher in `crates/pallets/storage-provider/src/lib.rs`. AccountId32 is * 32 raw bytes, so the scale encoding of the key is just those bytes. */ function providersStorageKey(address: string): Uint8Array {