Compare commits

...

15 Commits

Author SHA1 Message Date
Omar Abdulla f97f44bc25 Merge remote-tracking branch 'origin/main' into feature/bump-resolc-compiler-tests 2025-11-06 07:24:20 +03:00
Omar Abdulla fb1d5469c3 Bump resolc compiler tests 2025-11-06 07:23:44 +03:00
Omar fb009f65c1 Bump resolc compiler tests (#208)
* Bump the version of resolc compiler tests

* Bump the version of resolc compiler tests

* Reduce the timeout for transactions to 2 minutes
2025-11-06 03:42:20 +00:00
Omar Abdulla 9a9999fb1f Merge remote-tracking branch 'origin/main' into feature/bump-resolc-compiler-tests 2025-11-06 06:41:39 +03:00
Omar Abdulla ab9164e873 Reduce the timeout for transactions to 2 minutes 2025-11-06 06:40:20 +03:00
Omar Abdulla 32a433eb0a Bump the version of resolc compiler tests 2025-11-06 06:39:10 +03:00
Omar dff4c25e24 Bump the version of resolc compiler tests (#207) 2025-11-06 02:56:38 +00:00
Omar Abdulla 94026b61f4 Bump the version of resolc compiler tests 2025-11-06 05:56:08 +03:00
Omar e433d93cbf Limit the solc version to a max of 0.8.30 (#206) 2025-11-04 18:58:14 +00:00
Omar 408754e8fb Remove the cwd setting from the export-chainspec command (#205) 2025-11-04 03:30:39 +00:00
Omar 59bfffe5fe Fix the working directory path canonicalization (#204)
* Update the commit hash of resolc compiler tests

* Fix an issue with file errors in substrate export-chainspec

* Update the resolc compiler tests

* Fix the working directory canonicalization
2025-11-04 03:13:48 +00:00
Omar 380ea693be Fix an error in substrate export chainspec (#203)
* Update the commit hash of resolc compiler tests

* Fix an issue with file errors in substrate export-chainspec

* Update the resolc compiler tests
2025-11-04 02:25:42 +00:00
Omar d02152b565 Update version of tests (#202)
* Update the commit hash of resolc compiler tests

* Update the version of tests
2025-11-02 23:48:23 +00:00
Omar 75159229df Update the commit hash of resolc compiler tests (#201) 2025-11-02 21:27:26 +00:00
Omar 2af1a62319 Supply the revert reason in the logs (#200) 2025-11-02 17:54:11 +00:00
8 changed files with 36 additions and 11 deletions
+5 -1
View File
@@ -16,6 +16,7 @@ use alloy::{
primitives::{B256, FixedBytes, U256},
signers::local::PrivateKeySigner,
};
use anyhow::Context as _;
use clap::{Parser, ValueEnum, ValueHint};
use revive_dt_common::types::{ParsedTestSpecifier, PlatformIdentifier};
use semver::Version;
@@ -1079,7 +1080,10 @@ impl FromStr for WorkingDirectoryConfiguration {
fn from_str(s: &str) -> Result<Self, Self::Err> {
match s {
"" => Ok(Default::default()),
_ => Ok(Self::Path(PathBuf::from(s))),
_ => PathBuf::from(s)
.canonicalize()
.context("Failed to canonicalize the working directory path")
.map(Self::Path),
}
}
}
+4 -1
View File
@@ -598,7 +598,10 @@ where
let expected = !assertion.exception;
let actual = receipt.status();
if actual != expected {
let revert_reason = tracing_result.revert_reason.as_ref();
let revert_reason = tracing_result
.revert_reason
.as_ref()
.or(tracing_result.error.as_ref());
tracing::error!(
expected,
actual,
+11 -3
View File
@@ -1,5 +1,6 @@
use std::{collections::HashMap, fmt::Display, str::FromStr};
use alloy::hex::ToHexExt;
use alloy::primitives::{FixedBytes, utils::parse_units};
use alloy::{
eips::BlockNumberOrTag,
@@ -686,8 +687,8 @@ impl Calldata {
Calldata::Compound(items) => {
stream::iter(items.iter().zip(other.chunks(32)))
.map(|(this, other)| async move {
// The matterlabs format supports wildcards and therefore we
// also need to support them.
// The MatterLabs format supports wildcards and therefore we also need to
// support them.
if this.as_ref() == "*" {
return Ok::<_, anyhow::Error>(true);
}
@@ -768,7 +769,14 @@ impl CalldataItem {
match stack.as_slice() {
// Empty stack means that we got an empty compound calldata which we resolve to zero.
[] => Ok(U256::ZERO),
[CalldataToken::Item(item)] => Ok(*item),
[CalldataToken::Item(item)] => {
tracing::debug!(
original_item = ?self,
resolved_item = item.to_be_bytes::<32>().encode_hex(),
"Resolution Done"
);
Ok(*item)
}
_ => Err(anyhow::anyhow!(
"Invalid calldata arithmetic operation - Invalid stack"
)),
@@ -62,7 +62,10 @@ where
) -> TransportResult<Self::Fillable> {
match self.inner.prepare(provider, tx).await {
Ok(fill) => Ok(Some(fill)),
Err(_) => Ok(None),
Err(err) => {
tracing::debug!(error = ?err, "Gas Provider Estimation Failed, using fallback");
Ok(None)
}
}
}
+1 -1
View File
@@ -104,7 +104,7 @@ where
};
debug!(%tx_hash, "Submitted Transaction");
pending_transaction.set_timeout(Some(Duration::from_secs(240)));
pending_transaction.set_timeout(Some(Duration::from_secs(120)));
let tx_hash = pending_transaction.watch().await.context(format!(
"Transaction inclusion watching timeout for {tx_hash}"
))?;
+9 -2
View File
@@ -2,12 +2,13 @@
use std::{
collections::HashMap,
str::FromStr,
sync::{LazyLock, Mutex},
};
use revive_dt_common::types::VersionOrRequirement;
use semver::Version;
use semver::{Version, VersionReq};
use sha2::{Digest, Sha256};
use crate::list::List;
@@ -65,6 +66,9 @@ impl SolcDownloader {
target: &'static str,
list: &'static str,
) -> anyhow::Result<Self> {
static MAXIMUM_COMPILER_VERSION_REQUIREMENT: LazyLock<VersionReq> =
LazyLock::new(|| VersionReq::from_str("<=0.8.30").unwrap());
let version_or_requirement = version.into();
match version_or_requirement {
VersionOrRequirement::Version(version) => Ok(Self {
@@ -79,7 +83,10 @@ impl SolcDownloader {
.builds
.into_iter()
.map(|build| build.version)
.filter(|version| requirement.matches(version))
.filter(|version| {
MAXIMUM_COMPILER_VERSION_REQUIREMENT.matches(version)
&& requirement.matches(version)
})
.max()
else {
anyhow::bail!("Failed to find a version that satisfies {requirement:?}");