-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Closed
Labels
Description
Component
Anvil, Cast
Have you ensured that all of these are up to date?
- Foundry
- Foundryup
What version of Foundry are you on?
cast Version: 1.0.0-nightly Commit SHA: 0dd4d31 Build Timestamp: 2025-03-20T06:01:47.452984622Z (1742450507) Build Profile: maxperf
What version of Foundryup are you on?
foundryup: 1.0.1
What command(s) is the bug in?
cast send
Operating System
Linux
Describe the bug
I have three anvil instances on ports 8545, 9545, and 9546. When I run this command:
cast send 0xcafac3dd18ac6c6e92c921884f9e4176737c052c "updateAndCall(address,bytes)" 0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9 0x00 --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --rpc-url http://localhost:9545I get this error:
The application panicked (crashed).
Message: called `Option::unwrap()` on a `None` value
Location: crates/cast/bin/tx.rs:463
This is a bug. Consider reporting it at https://github.com/foundry-rs/foundry
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1: color_eyre::config::PanicHook::panic_report::he6bb0d42dddb8e63
at <unknown source file>:<unknown line>
2: color_eyre::config::PanicHook::into_panic_hook::{{closure}}::hee6ca53fd97ad8b5
at <unknown source file>:<unknown line>
3: std::panicking::rust_panic_with_hook::h66e909d048c263a9
at <unknown source file>:<unknown line>
4: std::panicking::begin_panic_handler::{{closure}}::h8d9aa8be7e8634cf
at <unknown source file>:<unknown line>
5: std::sys::backtrace::__rust_end_short_backtrace::h7d7e47ef99abf6aa
at <unknown source file>:<unknown line>
6: rust_begin_unwind<unknown>
at <unknown source file>:<unknown line>
7: core::panicking::panic_fmt::hf8ffc7c15bfb58a0
at <unknown source file>:<unknown line>
8: core::panicking::panic::h209220e15dcf6e53
at <unknown source file>:<unknown line>
9: core::option::unwrap_failed::h12717cc50f158ee2
at <unknown source file>:<unknown line>
10: cast::tx::decode_execution_revert::{{closure}}::h59a8d754370f378f
at <unknown source file>:<unknown line>
11: cast::tx::CastTxBuilder<P,cast::tx::InputState>::estimate_gas::{{closure}}::h02d8a06a9320d8bd
at <unknown source file>:<unknown line>
12: cast::cmd::send::SendTxArgs::run::{{closure}}::h62b629cd90a1ad0e
at <unknown source file>:<unknown line>
13: cast::main_args::{{closure}}::h003a9aa68584b9da
at <unknown source file>:<unknown line>
14: cast::main::ha70c7d096eaccbfa
at <unknown source file>:<unknown line>
15: std::sys::backtrace::__rust_begin_short_backtrace::h26972da0b8799b86
at <unknown source file>:<unknown line>
16: main<unknown>
at <unknown source file>:<unknown line>
17: __libc_start_main<unknown>
at <unknown source file>:<unknown line>
18: _start<unknown>
at <unknown source file>:<unknown line>
Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.
Aborted (core dumped)
When I run the same command on a different anvil instance, it works as expected:
ori@CryptoDocLaptop:~/optimism/interop/proxy-upgrade$ cast send 0xcafac3dd18ac6c6e92c921884f9e4176737c052c "updateAndCall(address,bytes)" 0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9 0x00 --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --rpc-url http://localhost:9546
blockHash 0xf9624cda5171f78009904652d8006785e627a8c00c81d5e511245ac90cade790
blockNumber 4199
contractAddress
cumulativeGasUsed 23070
effectiveGasPrice 8
from 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266
gasUsed 23070
logs []
logsBloom 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
root
status 1 (success)
transactionHash 0x69075ea9848b7c26c5ea3c018110cb70eb3d9ddcc01d03dcb741e5523029504e
transactionIndex 0
type 2
blobGasPrice 1
blobGasUsed
to 0xCafac3dD18aC6c6e92c921884f9E4176737C052c
If it helps, here is the code of the contract being called:
ori@CryptoDocLaptop:~/optimism/interop/proxy-upgrade$ cast code 0xcafac3dd18ac6c6e92c921884f9e4176737c052c --rpc-url http://localhost:9545
0x608060405261000c61000e565b005b610016610101565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036100f657634f1ef28660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19165f357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146100e9576040517fd2b576ec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6100f1610128565b6100ff565b6100fe61015c565b5b565b5f7f000000000000000000000000ae367415f4bde0adee3e59c35221d259f517413e905090565b5f5f5f36600490809261013d939291906104d0565b81019061014a91906106a8565b91509150610158828261016e565b5050565b61016c6101676101e0565b6101ee565b565b6101778261020d565b8173ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a25f815111156101d3576101cd82826102d6565b506101dc565b6101db610356565b5b5050565b5f6101e9610392565b905090565b365f5f375f5f365f845af43d5f5f3e805f8114610209573d5ff35b3d5ffd5b5f8173ffffffffffffffffffffffffffffffffffffffff163b0361026857806040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815260040161025f9190610722565b60405180910390fd5b806102947f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b6103e5565b5f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60605f5f8473ffffffffffffffffffffffffffffffffffffffff16846040516102ff919061078d565b5f60405180830381855af49150503d805f8114610337576040519150601f19603f3d011682016040523d82523d5f602084013e61033c565b606091505b509150915061034c8583836103ee565b9250505092915050565b5f341115610390576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f6103be7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b6103e5565b5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f819050919050565b606082610403576103fe8261047b565b610473565b5f825114801561042957505f8473ffffffffffffffffffffffffffffffffffffffff163b145b1561046b57836040517f9996b3150000000000000000000000000000000000000000000000000000000081526004016104629190610722565b60405180910390fd5b819050610474565b5b9392505050565b5f8151111561048d5780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051905090565b5f5ffd5b5f5ffd5b5f5f858511156104e3576104e26104c8565b5b838611156104f4576104f36104cc565b5b6001850283019150848603905094509492505050565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61053b82610512565b9050919050565b61054b81610531565b8114610555575f5ffd5b50565b5f8135905061056681610542565b92915050565b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6105ba82610574565b810181811067ffffffffffffffff821117156105d9576105d8610584565b5b80604052505050565b5f6105eb6104bf565b90506105f782826105b1565b919050565b5f67ffffffffffffffff82111561061657610615610584565b5b61061f82610574565b9050602081019050919050565b828183375f83830152505050565b5f61064c610647846105fc565b6105e2565b90508281526020810184848401111561066857610667610570565b5b61067384828561062c565b509392505050565b5f82601f83011261068f5761068e61056c565b5b813561069f84826020860161063a565b91505092915050565b5f5f604083850312156106be576106bd61050a565b5b5f6106cb85828601610558565b925050602083013567ffffffffffffffff8111156106ec576106eb61050e565b5b6106f88582860161067b565b9150509250929050565b5f61070c82610512565b9050919050565b61071c81610702565b82525050565b5f6020820190506107355f830184610713565b92915050565b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f6107678261073b565b6107718185610745565b935061078181856020860161074f565b80840191505092915050565b5f610798828461075d565b91508190509291505056fea2646970667358221220ccc9529bc6fbbf8f3b86b4a8c5192f0598aa3267a8c6404d4fb67afc4bbc1a5d64736f6c634300081c0033
It is an OpenZeppelin TransparentUpgradeableProxy, deployed by this contract:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
import "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol";
contract DeployProxy {
function deploy(address logic, address admin, bytes memory data) public returns (address) {
address newProxyAddress = address(new TransparentUpgradeableProxy(logic, admin, data));
return newProxyAddress;
}
}
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Done