mario-eth/soldeer

`forge soldeer install` removes a mapping

Closed this issue · 7 comments

Remappings:

remappings = [
    "@openzeppelin-contracts-upgradeable/=dependencies/@openzeppelin-contracts-upgradeable-5.0.2/",
    "@openzeppelin-contracts/=dependencies/@openzeppelin-contracts-5.0.2/",
    "@openzeppelin/contracts/=dependencies/@openzeppelin-contracts-5.0.2/",
    "forge-std/=dependencies/forge-std-1.9.4/src",
]

"@openzeppelin/contracts/ is required because OpenZeppelin upgradeable contracts use it.

Run:

soldeer install

Result:

remappings = [
    "@openzeppelin-contracts-upgradeable/=dependencies/@openzeppelin-contracts-upgradeable-5.0.2/",
    "@openzeppelin-contracts/=dependencies/@openzeppelin-contracts-5.0.2/",
    "@openzeppelin/contracts/=dependencies/@openzeppelin-contracts-5.0.2/",
    "forge-std/=dependencies/forge-std-1.9.4/src",
]

Run:

forge soldeer install

Result:

remappings = [
    "@openzeppelin-contracts-upgradeable/=dependencies/@openzeppelin-contracts-upgradeable-5.0.2/",
    "@openzeppelin-contracts/=dependencies/@openzeppelin-contracts-5.0.2/",
    "forge-std/=dependencies/forge-std-1.9.4/src",
]

forge build won't work because "@openzeppelin/contracts/ cannot be resolved.

you saying that forge soldeer install removes a remapping? while soldeer install doesn't? do you have any [soldeer] config?

Yes:

[soldeer]
remappings_generate = true
remappings_version = false
remappings_location = "config"

I can confirm it does not happen when:

remappings_generate = false

In either case:

  1. I don't know why forge soldeer install removes the mapping
  2. forge soldeer install and soldeer install behave differently

hmm, thanks for reporting, we will take a look and come up with a fix.
remappings_generate = false will just not care about remappings, that's why it does not remove

beeb commented

Can you post the result of forge soldeer version as well as soldeer version?

@beeb

soldeer --version
soldeer 0.2.19
forge soldeer version 
soldeer 0.5.0
beeb commented

@ZeroEkkusu ok makes sense that they behave differently. Please update your standalone soldeer! The bug has been fixed and will be in the next release.