CellScript 0.16.2
CellScript 0.16.2 is a builder-ergonomics patch for CKB resource identity
handoff. It keeps the 0.16 compiler/runtime scope, while making external
transaction builders less dependent on copied harness conventions.
Highlights
cellc resource-identityemits a compiler-owned passive resource identity
artifact and JSON plan for resource output type scripts.cellc validate-tx --resource-identitieschecks created resource outputs
against the generated passive identity plan.cellc validate-tx --productionrejects known fixture-only resource
identities, including devnetalways_successand all-zero placeholders, when
they appear as real resource output type scripts.cellc explain-assumptionsandcellc solve-txcan be scoped with
--entry-actionor--entry-lock, so external builders can consume the
selected entrypoint contract instead of whole-module noise.- Builder-facing contract commands now emit JSON by default;
--jsonremains
accepted for compatibility, and--humanprints a short terminal summary. cellc builder manifestandcellc builder checkare canonical namespace
forms;builder-manifestandbuilder-checkremain aliases.cellc entry-witnessnow exposes raw script-group witness placement in its
default JSON output.cellc solve-txnow exposessubmit_ready: false, missing builder
steps, structural builder-evidence requirements, a fillable evidence
template, and a fixture identity policy.cellc builder manifestandcellc builder checkprovide a two-step
builder-facing workflow over the lower-level ABI, constraints, witness,
assumption, resource identity, and validation commands.- Builder docs clarify that scoped action artifacts are active verifiers and
must not be used as passiveMintAuthority,Token,Pool, orLPReceipt
resource identities.
Validation
The release patch was validated with the v0.16 CLI/backend suite:
cargo test --test v0_16 -- --nocaptureThe suite covers resource identity plan generation and validation, scoped
assumption/solver output, wildcard structural evidence requirements, entry
witness placement, builder manifest/check flow, active artifact misuse
rejection, and production fixture-identity rejection.
The wiki and builder-facing examples were audited so contract commands use the
default JSON output and the canonical cellc builder manifest /
cellc builder check namespace. The old dashed forms and --json flag remain
accepted for compatibility.
The builder UX was also smoke-tested against
WuodOdhis/cellscript-swap-builder main at
479feb004338524d367b6656c6fb356ca7918f28: the external Rust builder accepted
compiler-generated entry witness bytes and passive Token:token_out resource
identity, cellc builder check --production --primitive-strict 0.16 passed the
positive transaction shape, and negative checks rejected both scoped action
artifact and always_success fixture identities for the created token output.