feat(slice-2e): v0.0.36 Slice 2e FULLY RESUELTO — Real WASM_BINARY 1.8 MB shipped (5 layers resolved end-to-end)
Slice 2e WASM structural blocker FULLY RESUELTO end-to-end. Real origin_chain_runtime.wasm (1,795,946 bytes ~1.8 MB) shipped post-brew LLVM install + 5 layers de blockers resolved. PHASE 3 + PHASE 4 Testnet Q3 2026 UNBLOCKED. 5-layer resolution: - Layer 1 alloc/exchange_malloc → WASM_BUILD_STD=0 - Layer 2a getrandom 0.2 wasm → custom feature - Layer 2b getrandom 0.3 backends → wasm_js feature - Layer 3 secp256k1-sys clang wasm32 → brew LLVM + CC env vars - Layer 4 sp-io std leak → default-features=false en path deps - Layer 5 Vec no_std impl_opaque_keys → alloc::vec::Vec import Changes: - Cargo.toml workspace: path deps default-features=false + getrandom_02 + getrandom_03 - runtime/Cargo.toml: substrate-wasm-builder feature-gated + getrandom deps - runtime/src/opaque.rs: extern crate alloc + use Vec import Verification: - WASM_BUILD_STD=0 + brew LLVM env vars + cargo build --features wasm-build → 3.36s clean - origin_chain_runtime.wasm 1.8 MB shipped - cargo test --workspace — 202 tests verde 0 failures NO regression 🎉 Slice 2e FULLY RESUELTO. La nave Origin Chain zarpando hacia Phase 3 + 4. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
44f1a0ae7f
commit
199636ac05
5 files changed
+201
-20
No files matched your search
+20
-16
@@ -148,15 +148,15 @@ 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-types = { path = "crates/origin-chain-types", version = "0.0.1", default-features = false }
|
||||
origin-chain-consensus = { path = "crates/origin-chain-consensus", version = "0.0.1", default-features = false }
|
||||
origin-coin-tokenomics = { path = "crates/origin-coin-tokenomics", version = "0.0.1", default-features = false }
|
||||
origin-chain-provenance = { path = "crates/origin-chain-provenance", version = "0.0.1", default-features = false }
|
||||
origin-chain-fees = { path = "crates/origin-chain-fees", version = "0.0.1", default-features = false }
|
||||
origin-chain-agent-identity = { path = "crates/origin-chain-agent-identity", version = "0.0.1", default-features = false }
|
||||
origin-chain-bridges = { path = "crates/origin-chain-bridges", version = "0.0.1", default-features = false }
|
||||
origin-chain-governance = { path = "crates/origin-chain-governance", version = "0.0.1", default-features = false }
|
||||
origin-chain-runtime = { path = "crates/origin-chain-runtime", version = "0.0.1" }
|
||||
origin-chain-runtime = { path = "crates/origin-chain-runtime", version = "0.0.1", default-features = false }
|
||||
origin-chain-node = { path = "crates/origin-chain-node", version = "0.0.1" }
|
||||
|
||||
# ============================================================
|
||||
@@ -172,17 +172,21 @@ origin-chain-node = { path = "crates/origin-chain-node", version = "0.0.1" }
|
||||
# (no on-chain RNG needed para Phase 1.6 ChainSpec build).
|
||||
|
||||
# ============================================================
|
||||
# Slice 2e v0.0.35 — Direct getrandom canonical dep canonical para activate
|
||||
# `custom` feature canonical via Cargo feature unification.
|
||||
# Slice 2e v0.0.36 — Direct getrandom deps para activate `custom` feature
|
||||
# via Cargo feature unification (both 0.2 + 0.3 transitive in FRAME stack).
|
||||
# ============================================================
|
||||
#
|
||||
# Empirical Slice 2e investigation 2026-05-26: getrandom 0.2.17 transitive
|
||||
# via const-random-macro → macro_magic → frame-support-procedural.
|
||||
# Workspace canonical declares getrandom 0.2 con `custom` feature canonical
|
||||
# enabled — Cargo unification ensures wasm32-unknown-unknown target compat
|
||||
# canonical via custom RNG source (FRAME runtime provides via sp-io).
|
||||
# Empirical Slice 2e investigation:
|
||||
# - getrandom 0.2.17 transitive via const-random-macro → frame-support-procedural
|
||||
# - getrandom 0.3.4 transitive via ahash → schnellru → sp-trie → frame-support
|
||||
#
|
||||
# Cargo feature unification ensures wasm32-unknown-unknown target compat
|
||||
# vía custom RNG source (FRAME runtime provides via sp-io).
|
||||
#
|
||||
# `custom` feature activates pre-0.3 versions; `std` para 0.3+ branches.
|
||||
|
||||
getrandom = { version = "0.2", default-features = false, features = ["custom"] }
|
||||
getrandom_02 = { package = "getrandom", version = "0.2", default-features = false, features = ["custom"] }
|
||||
getrandom_03 = { package = "getrandom", version = "0.3", default-features = false, features = ["wasm_js"] }
|
||||
|
||||
[profile.release]
|
||||
# Slice 2b finding canonical: lto/codegen-units customization triggers alloc
|
||||
|
||||
Reference in new issue
Block a user