Skip to content
This repository was archived by the owner on Aug 5, 2021. It is now read-only.
This repository was archived by the owner on Aug 5, 2021. It is now read-only.

More granular compile targets #325

@elenadimitrova

Description

@elenadimitrova

When working with a solution that uses a mix of solc versions for contract compilation there needs to be a better granularity when defining compilation targets. Currently etherlime compile takes the contracts folder by default. A different folder can be targeted using the --workingDirectory option. What will make this fully flexible is allowing single contract targets to be compiled and also single contracts excluded from compilation of a target folder.
This is very useful when working with migrations between solc releases as rarely can a solution be upgraded all at once. Normally in gradual migrations we prefer to selectively upgrade contracts without disturbing the contracts folder structure.
As an example, the argent-wallet solution has the following contracts structure and respective solc versions

/ contracts
    /infrastructure - solc 0.5.4 except for `WalletFactory` and `TokenPriceProvider` contracts
    /legacy              - solc 0.5.4 
    /modules          - solc 0.6.8 
    /wallet               - solc 0.6.8

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions