Skip to content

fix(crypto): drop dangling serde_json/std refs in 4 crypto crates#1420

Merged
drewstone merged 4 commits into
mainfrom
chore/crypto-feature-fix-batch
May 17, 2026
Merged

fix(crypto): drop dangling serde_json/std refs in 4 crypto crates#1420
drewstone merged 4 commits into
mainfrom
chore/crypto-feature-fix-batch

Conversation

@drewstone
Copy link
Copy Markdown
Contributor

Same class of bug as #1419 in 4 more crates (ed25519, bn254, sr25519, k256). serde_json is dev-only in these crates; manifest validation rejects the std feature gate. Halts cargo workspaces publish mid-batch.

drewstone added 4 commits May 17, 2026 07:57
v0.17.1 lands the post-audit follow-up batch:

- M-2 escrow rescue: `withdrawRemainingEscrowTo(serviceId, to)` — owner-chosen
  recipient escape hatch when escrow token blocklists the service owner.
- H-1 oracle snapshot at activation/join — per-(serviceId, op, asset) USD
  price pinned at activation; post-activation oracle drift cannot inflate
  one operator's bill share against honest co-operators.
- F-001 pull-payment staker forward — distributor pulls ERC20 via
  `safeTransferFrom`; reverting distributor no longer strands tokens.
- Governance-tunable operator cap — `setMaxOperatorsPerService` /
  `maxOperatorsPerService` view, default 256 (was hardcoded 64).
- New events: PushTransferFailed, PriceOracleFallback, MaxOperatorsPerServiceUpdated.

Switches off the git-branch pin and onto the published crates.io release.

`cargo check --workspace` clean — no ABI break sites in the workspace.
… + audit follow-up

Per-crate prerelease bump preserving each crate's major/minor lineage:
- blueprint-* core/sdk/runner/etc.: 0.2.0-alpha.4 → 0.2.0-alpha.5
- blueprint-manager: 0.4.0-alpha.3 → 0.4.0-alpha.4
- blueprint-pricing-engine: 0.3.0-alpha.3 → 0.3.0-alpha.4
- cargo-tangle: 0.5.0-alpha.3 → 0.5.0-alpha.4

Picks up tnt-core-bindings v0.17.1 transitively (M-2 escrow rescue, H-1
oracle snapshot, F-001 pull-payment, governance-tunable operator cap).
`serde_json` is a dev-dependency, not a top-level dep — its `std` feature
can't be activated from the package's own `std` feature gate. Cargo's
strict manifest validation rejects this on publish.

Triggered by `cargo workspaces publish` halting on:
> error: feature `std` includes `serde_json/std`, but `serde_json` is not a dependency
Same bug as #1419 in 4 more crypto crates (ed25519, bn254, sr25519, k256).
serde_json is only a dev-dependency in these crates; referencing its `std`
feature from the package's own `std` feature is a manifest validation
error that halts `cargo publish`.

Removed the dangling references; serde_json isn't used in non-test paths.
@drewstone drewstone merged commit bed53cb into main May 17, 2026
12 of 13 checks passed
@github-actions
Copy link
Copy Markdown

PR Quality Gate Summary

  • Status: fail
  • Selected class: not set
  • Required class: Class C
  • Reason: Multiple crates touched; cross-crate behavior likely.
  • Changed files: 69

Blocking issues

  • Missing required section: '## Summary'
  • Missing required section: '## Change Class'
  • Missing required section: '## Behavior Contract'
  • Missing required section: '## Risk And Scope'
  • Missing required section: '## Verification'
  • Missing required section: '## Harness Evidence'
  • Missing required section: '## Checklist'
  • Change Class section must specify 'Selected class: ...'
  • Verification section must include at least one command (inline or fenced).

@webb-spider webb-spider Bot mentioned this pull request May 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant