Skip to content

FR: Detect contracts outside the contracts/ directory using Cargo.toml #157

@srdtrk

Description

@srdtrk

Description

Currently, the optimizer assumes that all contracts in a workspace are located in the contracts/ directory. However, this is not always the case, especially with larger libraries such as ibc-rs. For instance, ibc-rs has its 07-tendermint contract in ./ibc-clients/ics07-tendermint/cw-contract, which is not detected by the optimizer. It would be beneficial to define a build process that specifies the contract packages in Cargo.toml.

Proposal: Look for [package.metadata.optimizer]

Currently, the optimizer only iterates over Cargo.toml files of the packages in the contracts/ directory. While retaining this behavior, extend the optimizer to iterate over all Cargo.toml files of all packages in the workspace and treat the packages that have [package.metadata.optimizer] as contracts to be built.

This enhancement will provide greater flexibility and support for projects with different directory structures, ensuring all relevant contracts are detected and optimized.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions