-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug: cast storage
displays wrong values for packed slots
#6319
Comments
I see we don't actually handle the offset of the Storage entry foundry/crates/cast/bin/cmd/storage.rs Lines 215 to 216 in 7769cf0
|
maybe we should also include the raw slot value as hex in the output? |
@DoTheBestToGetTheBest this should be straight forward, basically only including the relevant range of the do you want to take this? |
Fully support this. |
Happy to take this |
Any update on this? I think this should be fixed sooner rather than later as storage inspection is important during incident analysis and |
still working on it, i'm having bit difficulty to understand how to fix this |
what i'm doing is probably not the right way to fix this error, so i'm trying to understand how i can do it in different way let results = futures::future::join_all(futures).await;
let mut values = Vec::new();
for (storage_entry, result) in layout.storage.iter().zip(results.into_iter()) {
let raw_slot_data = result?.to_alloy();
let storage_type = layout.types.get(&storage_entry.storage_type)
.ok_or_else(|| eyre::Error::msg("Storage type not found"))?;
let num_bytes = storage_type.number_of_bytes.parse::<usize>()
.map_err(|_| eyre::Error::msg("Invalid number of bytes"))?;
let offset = storage_entry.offset as usize;
if offset + num_bytes > 32 {
return Err(eyre::Error::msg("Offset out of bounds"));
}
let value = match storage_type.label.as_str() {
"bool" => {
let byte_index = offset / 8;
let bit_index = offset % 8;
let relevant_bit = (raw_slot_data.0[byte_index] >> bit_index) & 1;
B256::from(relevant_bit)
},
_ => {
let mut bytes = [0u8; 32];
bytes[32 - num_bytes..].copy_from_slice(&raw_slot_data.0[offset..offset + num_bytes]);
B256(bytes)
},
};
values.push(value); |
sorry for the late guys |
please open a PR so we can review, I think you just need to slice the storage slot accordingly |
Guys, I don't wanna be a pain in the ass, but can we please get this fixed? |
it is already fixed :) |
Your PR is still open and I just tried it with the latest | Name | Type | Slot | Offset | Bytes | Value | Hex Value
| Contract |
|---------|---------|------|--------|-------|--------------------------------------------------|--------------------------------------------------------------------|-----------------------------------------------|
| _owner | address | 0 | 0 | 20 | 486747459873938072359747357390379788195179410093 | 0x000000000000000000000000554282cf65b42fc8fddc6041eb24ce5e8a0632ad | contracts/Create2Deployer.sol:Create2Deployer |
| _paused | bool | 0 | 20 | 1 | 486747459873938072359747357390379788195179410093 | 0x000000000000000000000000554282cf65b42fc8fddc6041eb24ce5e8a0632ad | contracts/Create2Deployer.sol:Create2Deployer | The value for |
it's not already merged with main branch, i don't know why, but the bug should be fixed with the pr :) |
@mattsse what's the expected timeline for merging the fix PR? |
reviewing asap, |
The #6370 PR mentions further downstream improvements in a PR. Adding an example for bool offset calculating values as not 0 or 1 reproduce:
what:
|
there's a fix available for this in latest nightly, mind to recheck and report if you see any other discrepancies? thank you |
@mattsse this one can be closed |
* fix: respect `--auth` in `cast call` and `cast estimate` (#9120) * fix: respect --auth in cast call and cast estimate * access list parser * fix(cheatcodes): convert fixed bytes to bytes in vm.rpc tuple result (#9117) * fix(cheatcodes): convert fixed bytes to bytes in vm.rpc tuple result * Changes after review: recursive convert_to_bytes fn * feat(forge): add `compiler` subcommand (#7909) * feat(forge): add solc subcommand and utilities * style: improve formatting in solc.rs file * fix: merge * add json compatible output * add basic tests * add basic tests * clean up * finish tests * add skip flag * add vyper for unit tests * move tests, pin compiler version, use forgetest! * update CI test location for target Python / Vyper * update foundry-compilers crate * Update crates/forge/bin/cmd/compiler.rs Co-authored-by: DaniPopes <[email protected]> * `compiler` command is sync, remove conditions on CI for Vyper / Python installs * is_jsonlines -> is_json --------- Co-authored-by: zerosnacks <[email protected]> Co-authored-by: zerosnacks <[email protected]> Co-authored-by: DaniPopes <[email protected]> * feat(forge): add max supported EVM version in compiler -vv (#9129) * feat(forge): add max supported EVM version in compiler -v * shorter message, displayed on -vv verbosity * match on verbosity * Respect verbosity in json, nicer json output * Redact default EVM version in tests * make --json output not output paths in verbosity mode 0, equivalent of non-verbose text mode --------- Co-authored-by: zerosnacks <[email protected]> * chore: bump `foundry-compilers` to include Vyper fix (#9133) bump foundry-compilers to include Vyper fix: foundry-rs/compilers#213 * fix(cast): do not strip 0x / hex decode message before EIP-191 hashing (#9130) * fix(cast): do not strip 0x / hex decode message before encoding * Pass message directly to eip191_hash_message * feat(`anvil`): `wallet_` namespace + inject P256BatchDelegation + executor (#9110) * feat(anvil-rpc): wallet_ namespace * feat: init sponsor and delegation contract in backend * wallet_sendTransaction * wallet_sendTransaction * update p256 runtime code * nit P256_DELEGATION_CONTRACT addr * use correct runtime codes * fix * doc nits * fix * feat: anvil_addCapability * nit * feat: anvil_setExecutor * tests * fix: dont set state root (#9134) * chore: alias wallet_sendTransaction as odyssey_sendTransaction (#9137) chore: alias wallet_sendTransaction * feat(`forge build`): add initcode size check (#9116) * Adds init code size limit check & column to table. * Adds option to ignore init code size check during --size output. * Updates tests with new column for --sizes table. * Adds test helpers for forge CLI. * Implements test for init code size limit as per EIP-3860 * Adds test for --ignore-eip-3860 * Fixes for Cargo +nightly fmt warnings. * Refactors both contract size functions into one with a boolean arg. * Adds alias for --ignore-eip-3860 to --ignore-initcode-size. * Brings back the original comments. * Update compile.rs * Changes --ignore-eip-3860 to be a boolean field. * Fixes ranges in table display code and comment punctuation. * Moves testing helper to existing utils module. * Improve ranges in table display code. * Adds output assertions to initcode size check tests. * Minor change to ranges in display logic for sizes table. --------- Co-authored-by: mgiagante <[email protected]> Co-authored-by: zerosnacks <[email protected]> * docs: update CLI help for init code size check (#9145) * chore(deps): weekly `cargo update` (#9149) Locking 8 packages to latest compatible versions Updating alloy-chains v0.1.38 -> v0.1.40 Updating anyhow v1.0.89 -> v1.0.90 Updating cc v1.1.30 -> v1.1.31 Updating libc v0.2.160 -> v0.2.161 Updating prettyplease v0.2.22 -> v0.2.23 Updating serde_json v1.0.128 -> v1.0.132 Updating syn v2.0.79 -> v2.0.80 Updating unicase v2.7.0 -> v2.8.0 note: pass `--verbose` to see 39 unchanged dependencies behind latest Co-authored-by: mattsse <[email protected]> * feat(`forge build`): `--watch` flag now watches `foundry.toml` config… (#9148) feat(`forge build`): `--watch` flag now watches `foundry.toml` config changes * fix: script simulation with default sender (#9042) * add test * fix: ensure correct sender nonce when dry-running script in fork * fix test * Fix test --------- Co-authored-by: grandizzy <[email protected]> * feat(cast): add `json` flag in `cast wallet new-mnemonic` (#9139) * feat(cast): add `json` flag in `cast wallet new-mnemonic` * Update crates/cast/bin/cmd/wallet/mod.rs Co-authored-by: zerosnacks <[email protected]> * Update crates/cast/tests/cli/main.rs Co-authored-by: zerosnacks <[email protected]> * chore: adjust `wallet_mnemonic_from_entropy` to generate three accounts instead of one * Update crates/cast/bin/cmd/wallet/mod.rs Co-authored-by: zerosnacks <[email protected]> * fix: preserve check-summed format for addresses * chore: simplify code * fix: rustfmt --------- Co-authored-by: zerosnacks <[email protected]> * fix(`anvil`): use header.number not best_number (#9151) * fix(`anvil`): use header.number not best_number * test * ignore test_arbitrum_fork_block_number * fix(`anvil`): arb fork mining (#9153) * fix(`anvil`): use header.number not best_number * test * ignore test_arbitrum_fork_block_number * fix(`anvil`): miner logic for arb-like chains * clippy * test * fix(cheatcodes): improve fork cheatcodes messages (#9141) fix(cheatcodes): chain report source errors * feat(`anvil`): support mining with same block.timestamp (#9160) * feat(`anvil`): support mining with same block.timestamp * fix timestamp tests * fix * chore: format chained error for EvmError (#9169) * Add debug file dump (#7375) * Refactored debugger to extract TUI abstraction. Added option to dump debugger context to file as json. * Update crates/forge/bin/cmd/test/mod.rs Co-authored-by: zerosnacks <[email protected]> * Update crates/script/src/lib.rs Co-authored-by: zerosnacks <[email protected]> * Cleanup code. * Added test. * Reformat code. * Reformat code. --------- Co-authored-by: zerosnacks <[email protected]> * chore(deps): bumps alloy, revm, fork-db (#9150) * chore(deps): bump alloy, revm, fork-db * fix: chain_id u64 * use SpecId::Osaka in place of PragueEOF * fix(`anvil`): test state files - tackle alloy breaking change alloy-rs/alloy#1486 * fix test * minify state json * feat: add `foundry_common::shell` to unify log behavior (#9109) * replace existing shell::println, add macros * finish replacing shell::println * remove p_println * remove redundant quiet or silent variables * install global shells in binaries * CastArgs -> Cast, Cast -> CastInstance * fix tests, always initialize Mutex::new(Shell::new()) on initial access, for some reason cfg!(test) path is not handled when running with tokio tests * revert .quiet(true) * add back quiet * undo CastInstance -> Cast, Cast -> CastArgs * add global --json format * use global --json flag * revert sequence / multisequence save silent mode * fix failing tests * fix tests * fix tests * replace cli_warn with sh_warn * use shell json directly instead of passing in * clean up, document print modes in respect to --quiet flag * group shell options under display options * revert global --json flag * remove redundant import * fix: quiet * remove faulty argument conflict test as there is no way to currently assert a conflict between global and local args without custom reject at runtime * add back conflicts_with quiet flag, global args w/ conflicts_with works fine * remove yellow() * Apply suggestions from code review - update dependencies - use default Co-authored-by: DaniPopes <[email protected]> * fix deprecated terminal_size method * revert quiet flag, fix os:fd import for windows * add replacing tests, add back quiet conflicting flag * make output windows compatible * to avoid visual regression, style warning message content in yellow, error message content in red - both not bold * fix docs links * fix junit throwing mixed content on warnings, avoid modifying global verbosity * remove set_verbosity shell helper, redundant * revert default .expect on printing, prefer passing. revert message style formatting - no longer style the message * fix doc test, fix formatting * fix merge issues --------- Co-authored-by: DaniPopes <[email protected]> * chore: refactor debugger dump code (#9170) chore: refactor debugger code * fix(anvil): Apply state overrides in debug_traceCall (#9172) * fix(anvil): Apply state overrides in debug_traceCall Co-authored-by: mixy1 <[email protected]> * chore(anvil): fix formatting --------- Co-authored-by: mixy1 <[email protected]> * feat(fmt): add `all_params` config - same as `all` but split single param too (#9176) fet(fmt): add all_params config - smae as all but split single param too * fix(chisel): on edit fail command only if execution failed (#9155) * chore: cleanup shell module (#9178) * chore: add warning on persisted invariant scenario failure (#9171) * feat(invariant): add basic metrics report (#9158) * feat(invariant): add basic metrics report * Put metrics behind show-metrics invariant config * fix: add back `silent` option in Anvil's `NodeConfig` (#9181) * add quiet handling for Anvil tests using NodeConfig * add back `silent` flag, inheriting default from global shell --quiet setting, overrides as true in test * fix unrelated failing test * revert fix, moved to foundry-rs/foundry#9182 * chore(`cast`): fix `storage_layout` test due to request timeouts w/ Optimism explorer (#9182) * fix failing test * update test to use contract relevant to ticket foundry-rs/foundry#6319 * get more advanced test w/ packed bool in slot 3 * chore(deps): bump alloy + revm + fork-db (#9183) * chore(deps): bump alloy + revm + fork-db * bump alloy-core * fix(`evm`): detect blob tx and set evm version (#9185) * fix(`evm`): set blob_excess_gas_and_price (#9186) * chore(`cast`): enforce `common::shell` for cast binary (#9174) * enforce common::shell for cast binary * revert unrelated Makefile change * revert formatting of commands * revert accidental fmt changes * fix(cli): etherlink needs eth_estimateGas for gas calculation (#9188) * fix(fmt): multiline single param only if func definition is multiline for `all_params` (#9187) * test: adjust single param multiline expected behavior * fix: `AllParams` single param multiline condition * refactor: try simplifying the condition logic * chore(`chisel`): enforce `common::shell` for chisel binary (#9177) * enforce common::shell for chisel binary * revert accidental fmt changes * change UnrecognizedCommand(e) to use sh_err! * avoid message painting, use default error formatting for consistency * revert color changes as this is in a REPL * avoid double rendering of error prefix * feat(`cast`): add flag equivalents of parseUnits, formatUnits (#9165) * feat: base func for parseunints and formatuints * test: update doc and tests * fix: function alias * test: cast test * refacctor: helper fucnction * Update crates/cast/tests/cli/main.rs * revert: format uints function cattest func name --------- Co-authored-by: grandizzy <[email protected]> * feat(cast): add `--rpc-timeout` option (#9044) * feat: add timeout flag and override default rpc timeout value * fix clippy * fix: move timeout to rpc args * refactor: move rpc timeout to RpcOpts * clippy * refactor unecessary code * Apply suggestions from code review Minor documentation nits --------- Co-authored-by: zerosnacks <[email protected]> * chore(tests): bump forge-std version (#9193) chore: bump forge-std version used for tests Co-authored-by: DaniPopes <[email protected]> * fix(`anvil`): tag newly created legacy transactions on shadow fork as `Some(0)` (`0x0`) rather than `None` (#9195) * mark legacy transaction type as 0x0 or Some(0) rather than None * return as Some(0) for legacy tx * revert Some(0) change per EIP-2718 spec * chore: silence logger if silent (#9199) * test: add test for rlp data (#9200) * fix(anvil): correctly set hardfork-specific block fields (#9202) * fix(anvil): correctly set hardfork-specific block fields * fmt * chore(deps): weekly `cargo update` (#9206) Locking 26 packages to latest compatible versions Updating alloy-chains v0.1.40 -> v0.1.42 Updating anstream v0.6.15 -> v0.6.17 Updating anstyle v1.0.8 -> v1.0.9 Updating anstyle-parse v0.2.5 -> v0.2.6 Updating anstyle-query v1.1.1 -> v1.1.2 Updating anstyle-wincon v3.0.4 -> v3.0.6 Updating aws-config v1.5.8 -> v1.5.9 Updating aws-sdk-kms v1.47.0 -> v1.48.0 Updating aws-sdk-sso v1.46.0 -> v1.47.0 Updating aws-sdk-ssooidc v1.47.0 -> v1.48.0 Updating aws-sdk-sts v1.46.0 -> v1.47.0 Updating aws-sigv4 v1.2.4 -> v1.2.5 Updating aws-smithy-runtime v1.7.2 -> v1.7.3 Updating aws-smithy-types v1.2.7 -> v1.2.8 Updating colorchoice v1.0.2 -> v1.0.3 Updating libm v0.2.8 -> v0.2.9 Updating op-alloy-consensus v0.5.0 -> v0.5.1 Updating op-alloy-rpc-types v0.5.0 -> v0.5.1 Updating pin-project v1.1.6 -> v1.1.7 Updating pin-project-internal v1.1.6 -> v1.1.7 Updating pin-project-lite v0.2.14 -> v0.2.15 Updating regex v1.11.0 -> v1.11.1 Updating scale-info v2.11.4 -> v2.11.5 Updating scale-info-derive v2.11.4 -> v2.11.5 Updating scc v2.2.2 -> v2.2.4 Updating wasm-streams v0.4.1 -> v0.4.2 note: pass `--verbose` to see 13 unchanged dependencies behind latest Co-authored-by: mattsse <[email protected]> * fix: include withdrawals root in response (#9208) * fix(script): correctly detect additional contracts (#9207) * add test * fix(script): correctly detect additional contracts * fix * fix(`cast block`): ensure to print all fields (#9209) fix(cast block): ensure to print all fields * feat(cast): add --int flag to from-rlp (#9210) * bet * fmt * bet * bet * remove unneccessary validation * chore: try from eyre:Result for TraceResult (display chained error) (#9212) * feat(`forge install`): add `@tag=` `@branch=` `@rev=` specific refs (#9214) * fix(`forge install`): add @tag= @Branch= @commit= for refs * Consistent @Rev= * feat: make `--gas-report` w/ `--json` output one JSON blob and add `contract_path` to output (#9216) * show resolved contract name * split out helpers * add basic test for multiple selectors resolve to same name w/ different args * collect JSON gas reports and render it as one blob * update tests * avoid unnecessary nesting of non-overloaded function names * fix(forge create): set skip_is_verified_check: true (#9222) fix(verify): set skip_is_verified_check: true for deploy (similar to broadcast) * feat(cast) add creation-code method [#8973] (#9029) * feat(cast) add creation-code method [#8973] * Fix typo * Fix CI * Code review fixes * Add creation-code flags and creation-args * Update comments * eyre style fixes * typo * use r#".."# for snapbox * Apply suggestions from code review * fix test regression * tag arguments as mutually exclusive * use unreachable! * Rename and add abi_path param * Decode constructor args * Update crates/cast/bin/cmd/constructor_args.rs * fix test * Update crates/cast/bin/args.rs Co-authored-by: zerosnacks <[email protected]> * Update crates/cast/bin/cmd/creation_code.rs Co-authored-by: zerosnacks <[email protected]> * Update crates/cast/bin/cmd/creation_code.rs Co-authored-by: zerosnacks <[email protected]> * Fix formatting * Code review fixes --------- Co-authored-by: zerosnacks <[email protected]> Co-authored-by: zerosnacks <[email protected]> * refactor: simplify `merge_db_account_data` (#9223) * refactor: simplify `merge_db_account_data` * chore: fmt * test: update test (#9226) * style: smol refactor (#9224) * fix: allow_hyphen_values for constructor args (#9225) * fix: unescape ints * use allow_hyp * chore(meta): update SECURITY.md (#9230) * fix(`--gas-report`): add back signatures, even if empty, avoid nesting multiple selectors (#9229) * add back signatures, even if empty, flatten multiple selectors per feedback foundry-rs/foundry#9216 (comment) * avoid manually serializing `gas_info`, already implements serialize * feat(`cheatcodes`): access broadcast artifacts (#9107) * refac(`script`): extract script sequence and related types to new crate * replace MultiChainSequence in script crate * replace TransactionWithMetadata and AdditionalContract * replace ScriptSequence * replace all underlying ScriptSequence and related types * doc nits * add `ScriptTransactionBuilder` * remove `TxWithMetadata` * mv verify fns and use `ScriptSequence` directly * clippy * feat(`cheatcodes`): vm.getDeployment * cargo cheats * getBroadcast by txType * get all broadcast txs * nits * fix * feat: getBroadcasts by txType * nit * fix * mv `BroadcastReader` to script-sequence * fix: search all broadcast files and then apply filters * fix: ignore run-latest to avoid duplicating entries * nit * sort by descending block number * tests * feat(`CheatsConfig`): add `broadcast` dir path * feat: read multichain sequences * nit * minify json * use walkdir * fix * fix path * feat: getDeployment cheatcodes * feat: read broadcasts with multiple tx types * test: getDeployment * nit * fmt * fix * nit * cli test * nit * remove solidity test * nit * fix(`anvil`): set `storage.best_number` correctly (#9215) * feat(`anvil`): persist accounts in `ForkedStorage` * load accounts * test * fix(`anvil`): override storage.best_number with fork_block_num if loading state on a fork url * Revert "load accounts" This reverts commit b650f56fe52f79be3eb7c8ab4d2ad1aaca08a32f. * Revert "feat(`anvil`): persist accounts in `ForkedStorage`" This reverts commit 456da156e07b1ede01c08c4f48ef36eed4094f17. * nit --------- Co-authored-by: grandizzy <[email protected]> * nit --------- Co-authored-by: grandizzy <[email protected]> * feat(`--gas-report`): add option to include tests (#9232) feat(`--gas-report`): add option to show gas for tests * fix: remove steps after steps tracing cheatcodes are done (#9234) * fix: rename flag as_int -> as-int (#9235) * fix: rename flag as_int -> as-int * Update crates/cast/bin/args.rs Co-authored-by: DaniPopes <[email protected]> --------- Co-authored-by: DaniPopes <[email protected]> * feat(cast): add string-decode to decode string (#9237) * feat(cast): add error-decode to decode error string Signed-off-by: jsvisa <[email protected]> * feat(cast): error-decode -> string-decode Signed-off-by: jsvisa <[email protected]> * add test case for string-decode Signed-off-by: jsvisa <[email protected]> * Apply suggestions from code review --------- Signed-off-by: jsvisa <[email protected]> Co-authored-by: zerosnacks <[email protected]> * chore: avoid unnecessary `mut` (#9238) * fix(anvil): on anvil_mine jump to next timestamp before mine new block (#9241) * fix(anvil): on anvil_mine jump to next timestamp before mine new block * Fix unrelated clippy, simplify test * fix(`deps`): update `alloy-chains` to fix Celo explorer API URL (#9242) chore(deps): weekly `cargo update` Locking 32 packages to latest compatible versions Updating alloy-chains v0.1.42 -> v0.1.45 Updating alloy-dyn-abi v0.8.9 -> v0.8.10 Updating alloy-json-abi v0.8.9 -> v0.8.10 Updating alloy-primitives v0.8.9 -> v0.8.10 Updating alloy-sol-macro v0.8.9 -> v0.8.10 Updating alloy-sol-macro-expander v0.8.9 -> v0.8.10 Updating alloy-sol-macro-input v0.8.9 -> v0.8.10 Updating alloy-sol-type-parser v0.8.9 -> v0.8.10 Updating alloy-sol-types v0.8.9 -> v0.8.10 Updating anyhow v1.0.91 -> v1.0.92 Updating aws-sdk-kms v1.48.0 -> v1.49.0 Updating aws-sdk-sso v1.47.0 -> v1.48.0 Updating aws-sdk-ssooidc v1.48.0 -> v1.49.0 Updating aws-sdk-sts v1.47.0 -> v1.48.0 Updating clap_complete v4.5.35 -> v4.5.36 Updating divan v0.1.14 -> v0.1.15 Updating divan-macros v0.1.14 -> v0.1.15 Updating hyper-util v0.1.9 -> v0.1.10 Updating libm v0.2.9 -> v0.2.11 Updating op-alloy-consensus v0.5.1 -> v0.5.2 Updating op-alloy-rpc-types v0.5.1 -> v0.5.2 Updating quinn-udp v0.5.5 -> v0.5.6 Updating reqwest v0.12.8 -> v0.12.9 Updating rustix v0.38.37 -> v0.38.38 Updating rustls v0.23.15 -> v0.23.16 Updating serde v1.0.213 -> v1.0.214 Updating serde_derive v1.0.213 -> v1.0.214 Updating snapbox v0.6.18 -> v0.6.19 Updating syn v2.0.85 -> v2.0.86 Updating syn-solidity v0.8.9 -> v0.8.10 Updating thiserror v1.0.65 -> v1.0.66 Updating thiserror-impl v1.0.65 -> v1.0.66 note: pass `--verbose` to see 14 unchanged dependencies behind latest Co-authored-by: zerosnacks <[email protected]> * fix: reset shell colors based on the input style (#9243) * fix: avoid deadlock in nested shell calls (#9245) * fix: avoid deadlock in nested shell calls * cleanup * anvil: Correctly set HF fields for Genesis block (#9248) Some fields were missing for some HF, leading to an invalid Genesis block hash. * perf: cap default poll interval (#9250) * fix: better error handling when waiting for receipt (#9253) * fix: better error handling when waiting for receipt * fmt * fix: use `Debug` when formatting errors (#9251) * fix: use Debug when formatting errors * sh_err * rm newline in handler * chore(deps): weekly `cargo update` (#9254) Locking 5 packages to latest compatible versions Updating alloy-chains v0.1.45 -> v0.1.46 Updating anstyle v1.0.9 -> v1.0.10 Updating cc v1.1.31 -> v1.1.34 Updating jiff v0.1.13 -> v0.1.14 Updating syn v2.0.86 -> v2.0.87 note: pass `--verbose` to see 14 unchanged dependencies behind latest Co-authored-by: mattsse <[email protected]> * fix(`forge doc`): display custom natspec tag (#9257) fix(forge doc): display custom natspec tag * chore: do not print anvil launch info if silent (#9259) chore: do not print anvil port if silent * feat: add global `--json` flag (#9244) * add global json --flag * finish port to shell::is_json * fix test * update message * very strange stalling bug, fixed by assignment? * remove jobs -j shorthand clashing with global json flag * fix test after -j change * fix doctests * temporarily disable junit conflict, revert -j as --json shorthand * tag --color, --quiet as conflicting with --json * update tests to be aware of global args to avoid `Argument or group quiet specified in conflicts_with* for junit does not exist` error * fix missed test * make sure tests throw on non-matching command * use --format-json in command to show alias works * chore(`forge`): enforce `common::shell` for `forge` crate (#9231) * enforce common shell for forge crate * revert clippy.toml * fix tests * avoid empty printlns * fix missed eprint / print * avoid style regression * fix(remappings): check if remapping to add starts with existing remapping name (#9246) * fix(remappings): check if remapping to add starts with existing remapping name * Push remapping fn doesn't have to be pub, proper test remappings * chore: ignore flaky rostock chain test (#9261) * fix(anvil): set auto-unlock an alias of auto-impersonate (#9256) * fix(anvil): alias --auto-unlock of auto-impersonate Signed-off-by: jsvisa <[email protected]> * feat(anvil): add more clear help messge for auto-impersonate Signed-off-by: jsvisa <[email protected]> --------- Signed-off-by: jsvisa <[email protected]> * update alloy fork --------- Signed-off-by: jsvisa <[email protected]> Co-authored-by: Arsenii Kulikov <[email protected]> Co-authored-by: grandizzy <[email protected]> Co-authored-by: jpgonzalezra <[email protected]> Co-authored-by: zerosnacks <[email protected]> Co-authored-by: zerosnacks <[email protected]> Co-authored-by: DaniPopes <[email protected]> Co-authored-by: Yash Atreya <[email protected]> Co-authored-by: Matthias Seitz <[email protected]> Co-authored-by: mgiagante <[email protected]> Co-authored-by: mgiagante <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: mattsse <[email protected]> Co-authored-by: Léo Vincent <[email protected]> Co-authored-by: grandizzy <[email protected]> Co-authored-by: Piotr Heilman <[email protected]> Co-authored-by: Ilias Tsatiris <[email protected]> Co-authored-by: mixy1 <[email protected]> Co-authored-by: Pierrick Couderc <[email protected]> Co-authored-by: χ² <[email protected]> Co-authored-by: Kien Trinh <[email protected]> Co-authored-by: Panagiotis Ganelis <[email protected]> Co-authored-by: DaniPopes <[email protected]> Co-authored-by: Tuan Tran <[email protected]> Co-authored-by: Paweł Urbanek <[email protected]> Co-authored-by: Karrq <[email protected]> Co-authored-by: Delweng <[email protected]> Co-authored-by: Nicolas Gotchac <[email protected]>
…ptimism explorer (foundry-rs#9182) * fix failing test * update test to use contract relevant to ticket foundry-rs#6319 * get more advanced test w/ packed bool in slot 3
Component
Cast
Have you ensured that all of these are up to date?
What version of Foundry are you on?
forge 0.2.0 (64b0e8f 2023-11-15T14:06:05.905353479Z)
What command(s) is the bug in?
cast storage
Operating System
Linux
Describe the bug
Repro example (replace it with your Etherscan API key of Optimism).
Run:
cast storage --rpc-url https://mainnet.optimism.io --etherscan-api-key <YOUR_API_KEY> 0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
which returns:
The value of
_paused
is set to the_owner
value, which however should be simply 0 in this case.The text was updated successfully, but these errors were encountered: