Ship 2 v0.0.39 SHIPPED — pallet-revive 0.10.1 integration end-to-end post
Ship 1.5 v0.0.38 workspace bump stable2509-3 atómico. SBS-5 ratificado
(supersedes CHN-6 v1.0): smart contracts PolkaVM RISC-V + ink! v6 + Solidity
deployables canonical post Slice 3.1 SCAFFOLD COMPLETE pending Ship 3+4
(v0.0.40 integration tests + v0.0.41 ReviveApi).
Cambios:
- Cargo.toml workspace.dependencies: pallet-revive 0.10.1 crates.io
(NOT git source — git source pulled duplicate frame-system/sp-runtime copies
rompiendo trait bounds canonical. Crates.io 0.10.1 deps match workspace
bumped stable2509-3 generation clean canonical empírico).
- crates/origin-chain-runtime/Cargo.toml: pallet-revive added dep + features.std.
- crates/origin-chain-runtime/src/lib.rs: Runtime macro Index 11 added
`pub type Revive = pallet_revive::Pallet<Runtime>` canonical.
- crates/origin-chain-runtime/src/configs.rs: pallet_revive::Config impl con
22 associated types per pallet-revive 0.10.1 docs.rs canonical surface:
* Runtime types: RuntimeEvent, RuntimeCall, RuntimeHoldReason
* Currency/Balance: Currency=Balances, Time=Timestamp, WeightPrice=TransactionPayment
* Storage/Deposit: DepositPerByte=MILLI_OGC, DepositPerItem=OGC,
CodeHashLockupDepositPercent=30%
* EVM/Mapping: AddressMapper=AccountId32Mapper, ChainId=9_120_005 (EIP-155
unique Origin Metaverse), NativeToEthRatio=1_000_000 (OGC 12 dec → ETH 18),
AllowEVMBytecode=true, EthGasEncoder=()
* Precompiles=() Slice 3.1 SCAFFOLD interim
* Limits: WeightInfo=SubstrateWeight, RuntimeMemory=128 MB, PVFMemory=2 GB
(per integrity_test formula `storage_limit = (PVFMemory-RuntimeMemory)/2`
needed PVFMemory > 1.5 GB para pass max_storage_size ~650 MB check)
* Access Control: UploadOrigin=EnsureSigned, InstantiateOrigin=EnsureSigned
* Safety: FindAuthor=() (no pallet_authorship), UnsafeUnstableInterface=false
- crates/origin-chain-runtime/src/genesis_config_presets.rs: ReviveConfig::default()
added a build_genesis canonical (Slice 3.1 SCAFFOLD: no pre-mapped accounts,
no genesis contracts — Phase 3.x maduración añade dev mapped_accounts +
templates contracts Slices 3.2-3.6).
API diffs encontrados empírico pallet-revive 0.10.1 vs 0.12.2 audit inicial:
- 0.10.1 NO expone: RuntimeOrigin, DebugEnabled, FeeInfo, MaxEthExtrinsicWeight,
GasScale, DepositPerChildTrieItem (todos added en 0.12+ Asset Hub generation).
- 0.10.1 SÍ require: WeightPrice (Convert<Weight, Balance>) + EthGasEncoder
(gas conversion helper) — NO en 0.12.2 audit anterior.
Verificación:
- cargo check --workspace clean (warnings pre-existentes deprecated patterns)
- cargo test --workspace: 203 tests verde 0 failures NO regresiones
- cargo build --features wasm-build: WASM_BINARY 2.8 MB shipped clean
(grew from 1.8 MB v0.0.36 baseline — +1 MB pallet-revive PolkaVM bytecode)
- Runtime integrity test (__construct_runtime_integrity_test) PASS post memory
tuning empírico-validated (16/16 runtime tests verde).
Próximo Ship 3 v0.0.40: pallet-revive real impl + 10 integration tests E2E
(upload_code + instantiate + bare_call + storage deposit + AddressMapper +
gas metering + access control + ChainId EIP-155 + contract destruction).
⚓ Phase 3 Slice 3.1 Ship 2/4 SHIPPED. La nave entra zone canonical smart contracts.
🤖 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
149 lines
5.3 KiB
TOML
149 lines
5.3 KiB
TOML
[package]
|
|
name = "origin-chain-runtime"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
license.workspace = true
|
|
authors.workspace = true
|
|
repository.workspace = true
|
|
homepage.workspace = true
|
|
description = "Origin Chain Substrate runtime canonical. Pilar 4: 7 pallets integrated (System+Timestamp+Balances+TransactionPayment+Aura+Grandpa+Session) + 11 Runtime APIs + 3 Genesis presets (dev+local+mainnet BM V2). Phase 1 COMPLETE canonical."
|
|
|
|
[dependencies]
|
|
# Origin Chain canonical traits + types
|
|
origin-chain-types.workspace = true
|
|
|
|
# Substrate Primitives canonical (SBS-1 polkadot-stable2512-3)
|
|
sp-core.workspace = true
|
|
sp-runtime.workspace = true
|
|
sp-std.workspace = true
|
|
sp-version.workspace = true
|
|
sp-api.workspace = true
|
|
sp-block-builder.workspace = true
|
|
sp-inherents.workspace = true
|
|
|
|
# Consensus primitives canonical (Phase 1.4 per CHN-1 Aura+GRANDPA)
|
|
sp-consensus-aura.workspace = true
|
|
sp-consensus-grandpa.workspace = true
|
|
|
|
# FRAME canonical
|
|
frame-system.workspace = true
|
|
frame-support.workspace = true
|
|
frame-executive.workspace = true
|
|
frame-metadata-hash-extension.workspace = true
|
|
|
|
# FRAME pallets Phase 1.3-1.5 (per SBS-4 ratified)
|
|
pallet-balances.workspace = true
|
|
pallet-timestamp.workspace = true
|
|
pallet-transaction-payment.workspace = true
|
|
pallet-aura.workspace = true
|
|
pallet-grandpa.workspace = true
|
|
pallet-session.workspace = true
|
|
|
|
# Charon custom pallets Phase 2.x (per DCs)
|
|
# Phase 2.1 v0.0.15: pallet-origin-provenance scaffold canonical wired
|
|
origin-chain-provenance.workspace = true
|
|
|
|
# Phase 2.4 v0.0.21: pallet-origin-fees wired runtime composition Index 8 canonical
|
|
# (OCAFB-1..6 consumer Mathi OitFeeSchedule via vendor copy interim Option B)
|
|
origin-chain-fees.workspace = true
|
|
|
|
# Phase 2.7 v0.0.25: pallet-agent-identity wired runtime composition Index 9 canonical
|
|
# (Inmutable #41 AGI DIDs Cross-Species Co-authorship)
|
|
origin-chain-agent-identity.workspace = true
|
|
|
|
# Slice 2e v0.0.36 — Direct getrandom deps (both 0.2 + 0.3 transitive):
|
|
# 0.2 via const-random-macro → frame-support-procedural
|
|
# 0.3 via ahash → schnellru → sp-trie → frame-support
|
|
getrandom_02 = { workspace = true }
|
|
getrandom_03 = { workspace = true }
|
|
|
|
# Phase 5.1 v0.0.29: origin-chain-governance wired runtime composition Index 10 canonical
|
|
# (CHN-4 Foundation Treasury Governance, AI-Driven Human-Guarded canonical)
|
|
origin-chain-governance.workspace = true
|
|
|
|
# Phase 3 Slice 3.1 v0.0.39: pallet-revive wired runtime composition Index 11
|
|
# (SBS-5 ratificado supersedes CHN-6 v1.0 → PolkaVM RISC-V + ink! v6 + Solidity).
|
|
# Smart contracts deployable canonical post Slice 3.1 SCAFFOLD COMPLETE (v0.0.41).
|
|
# Workspace bump stable2509-3 v0.0.38 desbloqueó esta integración.
|
|
pallet-revive.workspace = true
|
|
|
|
# RuntimeAPI canonical (sp_api::impl_runtime_apis! consumers)
|
|
sp-offchain.workspace = true
|
|
sp-genesis-builder.workspace = true
|
|
sp-transaction-pool.workspace = true
|
|
sp-session.workspace = true
|
|
frame-system-rpc-runtime-api.workspace = true
|
|
pallet-transaction-payment-rpc-runtime-api.workspace = true
|
|
|
|
# SCALE codec canonical
|
|
parity-scale-codec.workspace = true
|
|
scale-info.workspace = true
|
|
|
|
# Logging
|
|
log.workspace = true
|
|
|
|
# Serialization canonical — Slice 2b finding: solochain-template upstream NO
|
|
# declara serde directly canonical. Solo serde_json. Serde viene transitive
|
|
# from FRAME pallets canonical (frame-support + frame-system). Direct serde
|
|
# dep rompía isolated WASM build canonical.
|
|
serde_json.workspace = true
|
|
|
|
[build-dependencies]
|
|
# Slice 2e v0.0.35 — Re-enabled substrate-wasm-builder for active investigation.
|
|
# Slice 2c+2d findings: WASM_BUILD_STD=0 resuelve alloc/exchange_malloc pero
|
|
# descubre serde/std leak via types/std transitive activation. Slice 2e attempt:
|
|
# patch.crates-io serde override + types/std isolation.
|
|
substrate-wasm-builder = { version = "26.0.1", optional = true }
|
|
|
|
[features]
|
|
default = ["std"]
|
|
# Slice 2e v0.0.35 — WASM build feature gate canonical.
|
|
# Enable with `--features wasm-build` para build real WASM_BINARY canonical.
|
|
wasm-build = ["substrate-wasm-builder"]
|
|
std = [
|
|
"origin-chain-types/std",
|
|
"sp-core/std",
|
|
"sp-runtime/std",
|
|
"sp-std/std",
|
|
"sp-version/std",
|
|
"sp-api/std",
|
|
"sp-block-builder/std",
|
|
"sp-inherents/std",
|
|
"sp-consensus-aura/std",
|
|
"sp-consensus-grandpa/std",
|
|
"frame-system/std",
|
|
"frame-support/std",
|
|
"frame-executive/std",
|
|
"frame-metadata-hash-extension/std",
|
|
"pallet-balances/std",
|
|
"pallet-timestamp/std",
|
|
"pallet-transaction-payment/std",
|
|
"pallet-aura/std",
|
|
"pallet-grandpa/std",
|
|
"pallet-session/std",
|
|
"origin-chain-provenance/std",
|
|
"origin-chain-fees/std",
|
|
"origin-chain-agent-identity/std",
|
|
"origin-chain-governance/std",
|
|
"pallet-revive/std",
|
|
"sp-offchain/std",
|
|
"sp-genesis-builder/std",
|
|
"sp-transaction-pool/std",
|
|
"sp-session/std",
|
|
"serde_json/std",
|
|
"frame-system-rpc-runtime-api/std",
|
|
"pallet-transaction-payment-rpc-runtime-api/std",
|
|
"parity-scale-codec/std",
|
|
"scale-info/std",
|
|
# Slice 2c canonical deferred — substrate-wasm-builder bloqueado WASM build
|
|
]
|
|
runtime-benchmarks = [
|
|
"frame-system/runtime-benchmarks",
|
|
"frame-support/runtime-benchmarks",
|
|
"pallet-balances/runtime-benchmarks",
|
|
"pallet-timestamp/runtime-benchmarks",
|
|
"pallet-transaction-payment/runtime-benchmarks",
|
|
"pallet-grandpa/try-runtime",
|
|
]
|