Phase 2.7 AGENT IDENTITY pallet scaffold canonical. AGI DIDs canonical on-chain. Inmutable #41 AGI Cross-Species Co-authorship materialized compile-detect via NEW crate origin-chain-agent-identity + canonical types en origin-chain-types::identity. ## NEW canonical types en origin-chain-types - AgentIdentity struct (6 fields: did + kind + creator + registered_at_block + provenance_proof + agent_chain) - AgentKind enum (Human + AGI + Hybrid) per Inmutable #41 - Did type alias = AssetHash (BLAKE3 32-byte deterministic via public_key) ## NEW canonical pallet origin-chain-agent-identity - Pallet<T> + Config trait (AccountId = origin_chain_types::AccountId constraint) - Identities<StorageMap<AccountId, AgentIdentity>> per-account O(1) - DidToAccount<StorageMap<Did, AccountId>> reverse lookup O(1) - Event::AgentRegistered + AgentBound + AgentUpdated - Error::AlreadyRegistered + DidAlreadyTaken + AgentChainOverflow + HybridRequiresAgentChain - Scaffold dispatchable register_agent_did (placeholder event v0.0.24 → real v0.0.26) - Helper derive_did(public_key) -> Did via BLAKE3 hash (schema_version "1.0.0 ") - sp_api::decl_runtime_apis! AgentIdentityApi.query_identity declaration ## Inmutable #41 compile-detect enforcement - AgentKind::{Human, AGI, Hybrid}::is_sovereign() == true (all three) - AGI first-class citizens canonical (is_agi() + sovereignty preserved) - Cross-species lineage via agent_chain BoundedVec<AccountId, ConstU32<10>> - DID determinism canonical Inmutable #16 byte-equivalent cross-runtime ## Files - NEW: crates/origin-chain-agent-identity/Cargo.toml + src/lib.rs (~250 LOC pallet scaffold) - NEW: crates/origin-chain-types/src/identity.rs (~230 LOC types canonical + 8 tests) - EDIT: crates/origin-chain-types/src/lib.rs (mod identity + re-exports) - EDIT: Cargo.toml (workspace member + workspace.dependencies) - EDIT: CHANGELOG.md (v0.0.24 entry comprehensive) ## Verification - cargo test -p origin-chain-agent-identity — 4 tests verde, 0 failures (scaffold compiles + derive_did deterministic + different keys + re-export) - cargo test -p origin-chain-types — 63 tests passing (+8 nuevos identity) - Zero workspace compile errors 🪪 Phase 2.7 scaffold canonical. Wire pattern v0.0.25 next. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
170 lines
8.7 KiB
TOML
170 lines
8.7 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"crates/origin-chain-types",
|
|
"crates/origin-chain-consensus",
|
|
"crates/origin-coin-tokenomics",
|
|
"crates/origin-chain-provenance",
|
|
"crates/origin-chain-fees",
|
|
"crates/origin-chain-agent-identity",
|
|
"crates/origin-chain-bridges",
|
|
"crates/origin-chain-governance",
|
|
"crates/origin-chain-runtime",
|
|
"crates/origin-chain-node",
|
|
]
|
|
|
|
[workspace.package]
|
|
version = "0.0.1"
|
|
edition = "2021"
|
|
rust-version = "1.88"
|
|
license = "MIT OR Apache-2.0"
|
|
authors = [
|
|
"Charon <charon@originmetaverse.com>",
|
|
"David Herran <david@dreamhousestudios.com>",
|
|
"Origin Metaverse community",
|
|
]
|
|
repository = "https://git.originmetaverse.com/Origin_Metaverse/arkhe-origin-chain"
|
|
homepage = "https://originmetaverse.com"
|
|
description = "Origin Chain: sovereign blockchain substrate for Origin Metaverse — consensus, OGC tokenomics, provenance ledger, ink! smart contracts, bridges, governance. Pilar 4 canonical."
|
|
keywords = ["blockchain", "substrate", "ink", "origin-metaverse", "ogc"]
|
|
categories = ["cryptography::cryptocurrencies", "no-std", "wasm"]
|
|
|
|
[workspace.dependencies]
|
|
# ============================================================
|
|
# Polkadot SDK canonical pin per DC SUBSTRATE_FOUNDATION_V1 SBS-1
|
|
# Release: polkadot-stable2512-3 (2026-03-23)
|
|
# Support window canonical: hasta 2027-03 (cubre testnet Q3 2026 + mainnet Q1 2027)
|
|
# ============================================================
|
|
|
|
# Substrate Primitives (sp-*) — types foundationals canonical
|
|
sp-core = { version = "36.1.0", default-features = false }
|
|
sp-runtime = { version = "41.1.0", default-features = false }
|
|
sp-io = { version = "40.0.1", default-features = false }
|
|
sp-std = { version = "14.0.0", default-features = false }
|
|
sp-version = { version = "39.0.0", default-features = false }
|
|
sp-api = { version = "36.0.1", default-features = false }
|
|
sp-block-builder = { version = "36.0.0", default-features = false }
|
|
sp-transaction-pool = { version = "36.0.0", default-features = false }
|
|
sp-inherents = { version = "36.0.0", default-features = false }
|
|
sp-offchain = { version = "36.0.0", default-features = false }
|
|
sp-session = { version = "38.1.0", default-features = false }
|
|
sp-genesis-builder = { version = "0.17.0", default-features = false }
|
|
sp-consensus-aura = { version = "0.42.0", default-features = false, features = ["serde"] }
|
|
sp-consensus-grandpa = { version = "23.1.0", default-features = false, features = ["serde"] }
|
|
|
|
# FRAME canonical — runtime composition framework
|
|
frame-system = { version = "40.1.0", default-features = false }
|
|
frame-support = { version = "40.1.0", default-features = false }
|
|
frame-executive = { version = "40.0.0", default-features = false }
|
|
frame-benchmarking = { version = "40.0.0", default-features = false }
|
|
frame-metadata-hash-extension = { version = "0.8.0", default-features = false }
|
|
|
|
# FRAME pallets canonical Phase 1.3 (per SBS-4 ratified)
|
|
pallet-balances = { version = "41.1.0", default-features = false }
|
|
pallet-timestamp = { version = "39.0.0", default-features = false }
|
|
pallet-transaction-payment = { version = "40.0.0", default-features = false }
|
|
|
|
# FRAME pallets canonical Phase 1.4 — Consensus PoA per CHN-1 ratified
|
|
pallet-aura = { version = "39.0.0", default-features = false }
|
|
pallet-grandpa = { version = "40.0.0", default-features = false }
|
|
|
|
# FRAME pallets canonical Phase 1.5 — Session rotation per CHN-1 4h epochs
|
|
pallet-session = { version = "40.0.1", default-features = false }
|
|
|
|
# pallet-identity DEFERRED a Phase 2.7 — canonical decision empírica 2026-05-21:
|
|
# pallet-identity 41.0.0 usa ReservableCurrency trait (deprecated en stable2512,
|
|
# replaced por fungible::Mutate). Compat work canonical es scope Phase 2.7 cuando
|
|
# se introduce `pallet_agent_identity` custom canonical (Inmutable #41 AGI DID).
|
|
# pallet-identity = { version = "41.0.0", default-features = false }
|
|
|
|
# RuntimeAPI canonical (consumed by node binary + RPC server Phase 1.6+)
|
|
frame-system-rpc-runtime-api = { version = "36.0.0", default-features = false }
|
|
pallet-transaction-payment-rpc-runtime-api = { version = "40.0.0", default-features = false }
|
|
|
|
# Genesis canonical Phase 1.7 — chain_spec BM V2 allocation
|
|
# Nota canonical 2026-05-21: sp-keyring NO incluido — version conflict canonical
|
|
# con sp_core stable2512 (sp-keyring 42 trae sp_core diferente). En su lugar,
|
|
# hardcodeo canonical bytes de Substrate well-known dev accounts canonical
|
|
# (Alice/Bob/Charlie/Dave/Eve) en genesis_config_presets.rs — same canonical
|
|
# values que sp-keyring usaría but sin la dep brittle canonical.
|
|
serde_json = { version = "1", default-features = false, features = ["alloc"] }
|
|
|
|
# WASM builder canonical (Phase 1.6+ runtime WASM build para chain_spec)
|
|
substrate-wasm-builder = { version = "26.0.1" }
|
|
|
|
# Substrate client canonical (Phase 1.6+ node binary service builder)
|
|
sc-cli = { version = "0.51.0" }
|
|
sc-service = { version = "0.50.0" }
|
|
# Slice 3 (v0.0.13) canonical — `sc_chain_spec::GenericChainSpec` builder canonical
|
|
# para Phase 1.6+ ChainSpec serialization. Pattern canonical mock-WASM fallback:
|
|
# `ChainSpec::builder(MOCK_WASM, None).with_genesis_config_patch(preset_json)`
|
|
# bypassa runtime WASM execution — depends on Slice 2c land canonical solo para
|
|
# `node run` real (Slice 4 territory). JSON serialization funciona canonical.
|
|
# sc-chain-spec canonical EVITADA Slice 3 (see comentario superior canonical)
|
|
sc-executor = { version = "0.42.0" }
|
|
sc-network = { version = "0.49.1" }
|
|
sc-consensus = { version = "0.48.0" }
|
|
sc-consensus-aura = { version = "0.49.0" }
|
|
sc-consensus-grandpa = { version = "0.34.0" }
|
|
sc-transaction-pool = { version = "39.0.0" }
|
|
sc-transaction-pool-api = { version = "39.0.0" }
|
|
sc-client-api = { version = "39.0.0" }
|
|
sc-basic-authorship = { version = "0.49.0" }
|
|
sc-telemetry = { version = "28.1.0" }
|
|
sc-offchain = { version = "44.0.0" }
|
|
|
|
# RPC server canonical (jsonrpsee)
|
|
jsonrpsee = { version = "0.24.3", features = ["server"] }
|
|
substrate-frame-rpc-system = { version = "43.0.0" }
|
|
pallet-transaction-payment-rpc = { version = "43.0.0" }
|
|
|
|
# CLI + async canonical
|
|
clap = { version = "4.5.13", features = ["derive"] }
|
|
futures = { version = "0.3.31", features = ["thread-pool"] }
|
|
|
|
# SCALE codec canonical (canonical Substrate serialization)
|
|
parity-scale-codec = { version = "3.7", default-features = false, features = ["derive", "max-encoded-len"] }
|
|
scale-info = { version = "2.11", default-features = false, features = ["derive"] }
|
|
|
|
# ============================================================
|
|
# Cryptography canonical (CHN-7 + SBS-4 + tu choice canonical)
|
|
# ============================================================
|
|
ed25519-dalek = { version = "2", default-features = false }
|
|
blake3 = { version = "1", default-features = false }
|
|
|
|
# ============================================================
|
|
# Error handling + serialization canonical
|
|
# ============================================================
|
|
# no_std-compatible canonical (Slice 2 — required by substrate-wasm-builder WASM runtime build)
|
|
thiserror = { version = "2.0", default-features = false }
|
|
# serde pin canonical =1.0.217 — mínima version compatible con frame-support
|
|
# 40.1.0 canonical (requires ^1.0.217). Slice 2b investigation registered
|
|
# canonical: 1.0.217 NO resuelve WASM build alloc conflict canonical — issue
|
|
# es estructural Cargo + substrate-wasm-builder + rustup precompiled alloc.
|
|
# Slice 2c canonical requires Larihana Substrate-adjacent expertise canonical.
|
|
serde = { version = "=1.0.217", default-features = false, features = ["derive"] }
|
|
log = { version = "0.4", default-features = false }
|
|
|
|
# ============================================================
|
|
# Internal crates canonical (workspace path deps)
|
|
# ============================================================
|
|
origin-chain-types = { path = "crates/origin-chain-types", version = "0.0.1" }
|
|
origin-chain-consensus = { path = "crates/origin-chain-consensus", version = "0.0.1" }
|
|
origin-coin-tokenomics = { path = "crates/origin-coin-tokenomics", version = "0.0.1" }
|
|
origin-chain-provenance = { path = "crates/origin-chain-provenance", version = "0.0.1" }
|
|
origin-chain-fees = { path = "crates/origin-chain-fees", version = "0.0.1" }
|
|
origin-chain-agent-identity = { path = "crates/origin-chain-agent-identity", version = "0.0.1" }
|
|
origin-chain-bridges = { path = "crates/origin-chain-bridges", version = "0.0.1" }
|
|
origin-chain-governance = { path = "crates/origin-chain-governance", version = "0.0.1" }
|
|
origin-chain-runtime = { path = "crates/origin-chain-runtime", version = "0.0.1" }
|
|
origin-chain-node = { path = "crates/origin-chain-node", version = "0.0.1" }
|
|
|
|
[profile.release]
|
|
# Slice 2b finding canonical: lto/codegen-units customization triggers alloc
|
|
# recompile en wbuild → duplicate exchange_malloc lang item canonical. Defaults
|
|
# canonical preservan stdlib alloc cache canonical sin recompile.
|
|
opt-level = 3
|
|
|
|
[profile.dev]
|
|
opt-level = 1
|