Skip to content

spec shaking v2 rollout #1844

@mootz12

Description

@mootz12

What problem does your feature solve?

Spec shaking v2 brings a significant improvement to contract spec generation. Enabling this by default will ensure WASMs are built in a consistent and minimized way.

Spec shaking v2 also requires users to build with a supported build tool like the Stellar CLI to perform the spec filtering step.

What would you like to see?

Protocol 26

  • Spec shaking v2 remains opt-in via the experimental_spec_shaking_v2 feature flag
  • Building WASMs without the CLI and with the experimental_spec_shaking_v2 feature flag results in a build error
  • Building WASMs without the CLI and without experimental_spec_shaking_v2 feature flag results in a compiler warning that users should migrate to using a supported build tool like the CLI.
  • All known issues are addressed and patched

Protocol 27

  • experimental_spec_shaking_v2 becomes a default feature, enabling spec shaking v2 by default
  • Developers can still use spec shaking v1 if they don't depend on soroban-sdk as a transitive dependency and disable default features

Protocol 28

  • experimental_spec_shaking_v2 is removed, SDK always builds with spec shaking v2

What alternatives are there?

  • For protocol 27, we can opt to add a disable_spec_shaking_v2 feature, that makes it easier to disable if a transitive dependency uses default features.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions