Skip to content

Cannot deploy huff smart contract with forge script #59

@Linouth

Description

@Linouth

Deploying a huff contract through forge script fails with the following trace:

Traces:
  [2245499] → new Deploy@0x7FA9385bE102ac3EAc297483Dd6233D62b3e1496
    └─ ← 11154 bytes of code

  [2160044] Deploy::run()
    ├─ [2059491] → new HuffConfig@0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f
    │   └─ ← 10226 bytes of code
    ├─ [679] HuffConfig::set_broadcast(true)
    │   └─ ← HuffConfig: [0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f]
    ├─ [64438] HuffConfig::deploy("flash")
    │   ├─ [0] VM::ffi(["./lib/foundry-huff/scripts/binary_check.sh"])
    │   │   └─ ← 0x01
    │   ├─ [0] VM::ffi(["./lib/foundry-huff/scripts/rand_bytes.sh"])
    │   │   └─ ← 0x79abd4fd40a5bb6ab0bf97e207a83bed
    │   ├─ [0] VM::ffi(["./lib/foundry-huff/scripts/file_writer.sh", "src/__TEMP__ihadllzrxbsnbidjjbjjfcpykjhdyjjaflash.huff", "\n"])
    │   │   └─ ← 0x
    │   ├─ [0] VM::ffi(["./lib/foundry-huff/scripts/read_and_append.sh", "src/__TEMP__ihadllzrxbsnbidjjbjjfcpykjhdyjjaflash.huff", "src/flash.huff"])
    │   │   └─ ← 0x
    │   ├─ [0] VM::ffi(["huffc", "src/__TEMP__ihadllzrxbsnbidjjbjjfcpykjhdyjjaflash.huff", "-b", "-e", "shanghai"])
    │   │   └─ ← 0x<bytecode>
    │   ├─ [0] VM::prank(HuffConfig: [0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f])
    │   │   └─ ← ()
    │   ├─ [0] VM::ffi(["rm", "src/__TEMP__ihadllzrxbsnbidjjbjjfcpykjhdyjjaflash.huff"])
    │   │   └─ ← 0x
    │   ├─ [0] VM::broadcast()
    │   │   └─ ← you have an active prank; broadcasting and pranks are not compatible
    │   └─ ← you have an active prank; broadcasting and pranks are not compatible
    └─ ← you have an active prank; broadcasting and pranks are not compatible

It seems that the VM::prank call in creation_code messes up the broadcast. Was there a recent change in forge that breaks this?

Forge version I'm using: forge 0.2.0 (7922fd5 2024-02-05T00:17:19.307849379Z)

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