diff --git a/Cargo.lock b/Cargo.lock index c191c75f4..9a04f3a1e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -327,7 +327,7 @@ dependencies = [ [[package]] name = "aurora-engine" -version = "2.9.2" +version = "2.10.0" dependencies = [ "aurora-engine-modexp", "aurora-engine-precompiles", @@ -1720,7 +1720,7 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "evm" version = "0.39.0" -source = "git+https://github.com/aurora-is-near/sputnikvm.git?tag=v0.38.0-aurora#fcc538cc1f7f91156ef66564a8ac032a82bd4b9e" +source = "git+https://github.com/aurora-is-near/sputnikvm.git?tag=v0.38.0-aurora#c5cdf0c9bf8da9f6baeb1e5b4a52a2a3405e123f" dependencies = [ "auto_impl", "environmental", @@ -1740,7 +1740,7 @@ dependencies = [ [[package]] name = "evm-core" version = "0.39.0" -source = "git+https://github.com/aurora-is-near/sputnikvm.git?tag=v0.38.0-aurora#fcc538cc1f7f91156ef66564a8ac032a82bd4b9e" +source = "git+https://github.com/aurora-is-near/sputnikvm.git?tag=v0.38.0-aurora#c5cdf0c9bf8da9f6baeb1e5b4a52a2a3405e123f" dependencies = [ "parity-scale-codec 3.6.3", "primitive-types 0.12.1", @@ -1751,7 +1751,7 @@ dependencies = [ [[package]] name = "evm-gasometer" version = "0.39.0" -source = "git+https://github.com/aurora-is-near/sputnikvm.git?tag=v0.38.0-aurora#fcc538cc1f7f91156ef66564a8ac032a82bd4b9e" +source = "git+https://github.com/aurora-is-near/sputnikvm.git?tag=v0.38.0-aurora#c5cdf0c9bf8da9f6baeb1e5b4a52a2a3405e123f" dependencies = [ "environmental", "evm-core", @@ -1762,7 +1762,7 @@ dependencies = [ [[package]] name = "evm-runtime" version = "0.39.0" -source = "git+https://github.com/aurora-is-near/sputnikvm.git?tag=v0.38.0-aurora#fcc538cc1f7f91156ef66564a8ac032a82bd4b9e" +source = "git+https://github.com/aurora-is-near/sputnikvm.git?tag=v0.38.0-aurora#c5cdf0c9bf8da9f6baeb1e5b4a52a2a3405e123f" dependencies = [ "auto_impl", "environmental", diff --git a/engine-tests/src/tests/sanity.rs b/engine-tests/src/tests/sanity.rs index 3b7d65cbd..d5e6539fa 100644 --- a/engine-tests/src/tests/sanity.rs +++ b/engine-tests/src/tests/sanity.rs @@ -694,6 +694,31 @@ fn test_eth_transfer_incorrect_nonce() { utils::validate_address_balance_and_nonce(&runner, dest_address, Wei::zero(), 0.into()); } +#[test] +fn test_tx_support_shanghai() { + let (mut runner, mut source_account, _) = initialize_transfer(); + // Encoded EVM transaction with parameter: `evmVersion: 'shanghai'`. + let data = "6080604052348015600e575f80fd5b50607480601a5f395ff3fe6080604052348015600e575\ + f80fd5b50600436106026575f3560e01c8063919840ad14602a575b5f80fd5b600560405190815260200160\ + 405180910390f3fea2646970667358221220cb01b9b9c75e5cd079a1980af2fe4397d2029888d12737d74cb\ + bc10e0de65bd364736f6c63430008150033"; + + let result = runner + .submit_with_signer(&mut source_account, |nonce| { + aurora_engine_transactions::legacy::TransactionLegacy { + nonce, + gas_price: 0.into(), + gas_limit: u64::MAX.into(), + to: None, + value: Wei::zero(), + data: hex::decode(data).unwrap(), + } + }) + .expect("Should be able to execute EVM bytecode including PUSH0"); + + assert!(result.status.is_ok()); +} + #[test] fn test_eth_transfer_not_enough_gas() { let (mut runner, mut source_account, dest_address) = initialize_transfer();