Skip to content

Conversation

@figtracer
Copy link

@figtracer figtracer commented Dec 5, 2025

Solution

  • added param sequence: Option<&ScriptSequence> to format_receipt
  • added decoder fallback at transactions.rs

solves #12739

Example

❯ ../../../forks/foundry/target/debug/forge script script/Deploy.s.sol:Deploy --account anvilmain --sender 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 --rpc-url http://localhost:8545 --broadcast

(truncated)

##### sepolia
✅  [Success] Hash: 0x2f503e2e1c99aab2c2891eb93ab007ae8d4bd30a257a4f79e47091146a78ed17
Contract: BountyManager
Contract Address: 0xc1B99A2c5EF269D1f0F60F47f4d9d71Ff8cEd15A
Block: 9777549
Paid: 0.000003487675901184 ETH (3487648 gas * 0.001000008 gwei)


##### sepolia
✅  [Success] Hash: 0x4adadc426884a42bb1ccc35b8a711b08f3ec5eee60b02d5b6c7aa2a7c7dfad26
Contract: ERC1967Proxy
Function: initialize(address)
Block: 9777550
Paid: 0.00000010125081 ETH (101250 gas * 0.001000008 gwei)

the output shows an initialize() call to ERC1967Proxy which is a bit confusing. it would be cool to show ERC1967Proxy -> BountyManager but i guess we can live with it, it matches the run-latest.json report

        BountyManager bountyManagerImpl = new BountyManager();
        ERC1967Proxy bountyManagerProxy = new ERC1967Proxy(address(bountyManagerImpl), "");
        BountyManager bountyManager = BountyManager(payable(address(bountyManagerProxy)));
        bountyManager.initialize(address(/**/));

PR Checklist

  • Added Tests
  • Added Documentation
  • Breaking changes

@figtracer figtracer marked this pull request as ready for review December 5, 2025 23:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant