Skip to content

Commit

Permalink
Merge: 2.6.1 into develop from master (#546)
Browse files Browse the repository at this point in the history
* Feat(standalone): Add debug tracing of remaining gas values (#391)
* Balance type refactoring (#386)
* Remove standalone binary (#403)
* Eth Address cleanup (#387)
* Fix(dep) Pass std feature on to rjson library (#402)
* Feat(benchmarks): update gas bounds after wasm cost reduction (#406)
* Feat(tests): Mock touching trie nodes (#408)
* Fix: Only allow owner to call deploy_upgrade (#410)
* Feat(tests): Uniswap multi-hop swap benchmark (#415)
* Fix(engine): Return revert error message during contract deploy (#424)
* Move engine transactions module to engine-transactions crate (#418)
* Avoid using wasmer directly (#420)
* Fix compilation after #418 merge
* Use default git attributes for Cargo.lock (#421)
* Switch to rebranded blake2 (#422)
* Remove unused unused (#423)
* Chore: make aurora compatible with latest nightlies (#425)
* Chore: upgrade to the recent nightly (#426)
* chore: upgrade to the latest nearcore version (#427)
* chore: move to 2021 edition (#428)
* Benchmark contract performing only pure arithmetic and memory operations (#429)
* Fix(engine): Require chain_id (#432)
* chore: make sure aurora is using the latest cost config (#435)
* Fix(test): make uniswap benchmarks reproducible (#437)
* Fix(test): lower gas limit on OOG test; this is needed because the solidity compiler got more efficient, not because of a regression in EVM gas metering correctness
* Fix(engine): Cache generation values to avoid repeated state reads (#438)
* Fix(engine): Optimize is_account_empty (#439)
* Fix(test): update uniswap wasm fraction; this is needed because optimizations from #438 and #439 together lowered the fraction of gas spent on IO
* Fix(engine): Upgrade to latest SputnikVM (#445)
* Fix(engine): Simple cache to stop consecutive duplicate reads (#446)
* Version update and change log

Co-authored-by: Aleksey Kladov <aleksey@near.org>
Co-authored-by: Evgeny Ukhanov <evgeny.ukhanov@aurora.dev>
Co-authored-by: Michael Birch <michael.birch@aurora.dev>

Release 2.5.0. (#460)

* Engine: Upgrade to latest SputnikVM changes (#455)
* Engine: further caching optimizations (#456)
* Use EthTransactionKind reference to serialize into bytes (#457)
* Test: Reproduce GdASJ3KESs8VegpFECTveCwLQp8fxw8yvsauNEmGb6pZ gas failure (#454)
* Fix typo: promise_create (#452)
* Fix(Engine): Transactions to the zero address are not the same as transactions with empty to field (#458)

Co-authored-by: Marcelo Fornet <marcelo.fornet@aurora.dev>
Co-authored-by: Michael Birch <michael.birch@aurora.dev>
Release 2.5.1. (#470)

* Feat(Engine): Precompiles for predecessor_account_id and current_account_id (#462)
* Implement a NEAR native version of the Solidity pure arithmetic benchmark to compare EVM execution cost with direct wasm cost (#463)
* Fix features related to panic_info_message (#466)
* Fix(standalone): set predecessor_account_id appropriately when executing promise callbacks (#467)
* Fix(engine): fix bug in checking if an address exists (#469)
* Version update
* Update unreleased link

Co-authored-by: Joshua J. Bouw <joshua.j.bouw@aurora.dev>
Release 2.5.2. (#475)

* Revert "Feat(Engine): Precompiles for predecessor_account_id and current_account_id (#462)"
Release 2.5.3. (#527)

* Fix(precompile): ExitToNear ExitToEthereum vulnerability patch

Fix vulnerability

Include exploit contract

* Release 2.5.3 notes

* Update solidity version

Co-authored-by: Michael Birch <michael.birch@aurora.dev>
Release 2.6.0. (#494)

* Feat(Engine): Precompiles for predecessor_account_id and current_account_id (#462)
* Fix(precompiles): Allow native precompiles to work in the standalone engine (#473)
* Standalone engine improvements (#478)
* Fix(Engine): Predecessor id precompile works in view calls (#477)
* Feat(standalone): Persist transaction data (#481)
* Feat(Engine): Add custom precompile for NEAR prepaid_gas (#479)
* Test: Reproduce 8ru7VEAEbyfZdbC1W2PYQv2cY3W92rbTToDEN4yTp8aZ gas failure (#485)
* Feat(standalone): Function to get latest/earliest block (#482)
* Engine optimization: cache all reads from NEAR state (#488)
* Feat(standalone): Handle call to new method of Engine contract (#490)
* Feat(engine-types): optional serde integration (#468)
* Changed near-blake2 dependency (#484)
* Feat(standalone): thread-safety and serde (#496)
* Refactor repro tests to have less boilerplate (#497)
* Add serde for TraceTransaction (#495)
* Fix(standalone): include possible execution errors in the TransactionIncludedOutcome result field (#500)
* Reproduce transaction FRcorNvFojoxBrdiVMTy9gRD3H8EYXXKau4feevMZmFV (#498)
* Reproduce transaction 5bEgfRQ5TSJfN9XCqYkMr9cgBLToM7JmS1bNzKpDXJhT (#499)
* Fix(connector): Return an error when storage cannot be read instead of panicking (#501)
* Standalone: forward underlying rocksdb crate features (#502)
* Feat(tests): Multisender benchmark (#503)
* Feat(test): Reproduce D98vwmi44hAYs8KtX5aLne1zEkj3MUss42e5SkG2a4SC (#504)
* Standalone engine storage saves the AccountId of the associated engine deployed on chain (#510)
* Fix(precompiles): Fix secp256k1 run not returning empty slice on an incorrect V byte (#513)
* Self-contained wasm contract for testing 5bEgfRQ (#514)
* Update gas estimation code to use new data from NEAR protocol v53 (#517)
* Fix: Legacy transactions must be allowed (#520)
* Chore(precompiles): Include blake2 compression only (#528)
* Build(deps): Upgrade `libsecp256k1` version 0.3.5 => 0.7.0 (#515)
* Bump regex from 1.5.4 to 1.5.6 (#526)
* Bump regex from 1.5.4 to 1.5.6 in /etc/ft-receiver (#525)
* Bump zeroize_derive from 1.1.0 to 1.3.2 (#523)
* Bump crossbeam-deque from 0.8.0 to 0.8.1 (#521)
* Bump crossbeam-utils from 0.8.4 to 0.8.8 (#524)
* Bump cross-fetch from 2.2.3 to 2.2.6 in /etc/eth-contracts (#508)
* Bump simple-get from 2.8.1 to 2.8.2 in /etc/eth-contracts (#507)
* Bump follow-redirects from 1.14.0 to 1.15.1 in /etc/eth-contracts (#529)
* Bump shelljs from 0.8.4 to 0.8.5 in /etc/eth-contracts
* Fix(ecrecover): Set malleability flag to `0` for ecrecover. (#474)

Co-authored-by: Evgeny Ukhanov <evgeny.ukhanov@aurora.dev>
Co-authored-by: Marcelo Fornet <marcelo.fornet@aurora.dev>
Co-authored-by: Michael Birch <michael.birch@aurora.dev>
Co-authored-by: Roman Hodulák <roman.hodulak@aurora.dev>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Release 2.6.1. (#537)

* Fix: Don't allow fee stealing.
* Fix: Don't allow bridge receipt forging.
* Fix(engine): Correctly account for changes in total supply of ETH on Aurora (#536)

Co-authored-by: Michael Birch <michael.birch@aurora.dev>

Co-authored-by: Michael Birch <michael.birch@aurora.dev>
  • Loading branch information
joshuajbouw and birchmd committed Jul 1, 2022
1 parent 574f4fb commit 6307874
Show file tree
Hide file tree
Showing 22 changed files with 394 additions and 141 deletions.
15 changes: 12 additions & 3 deletions AUTHORS
@@ -1,3 +1,12 @@
* Arto Bendiken <arto@bendiken.net>

* Illia Polosukhin <ilblackdragon@gmail.com>
Aleksey Kladov <aleksey.kladov@gmail.com>
Andrew Bednoff <andrew.bednoff@aurora.dev>
Arto Bendiken <arto@aurora.dev>
Evgeny Kuzyakov <h3r0k1ll3r@gmail.com>
Evgeny Ukhanov <evgeny@aurora.dev>
Frank Braun <frank@aurora.dev>
Illia Polosukhin <ilblackdragon@gmail.com>
Joshua J. Bouw <joshua@aurora.dev>
Kirill Abramov <kirill@aurora.dev>
Marcelo Fornet <marcelo@aurora.dev>
Michael Birch <michael.birch@aurora.dev>
Roman Hodulak <roman@aurora.dev>
131 changes: 121 additions & 10 deletions CHANGES.md
Expand Up @@ -7,26 +7,127 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [2.6.1] 2022-06-23

### Fixes

- Fixed an issue with accounting being problematic with the total supply of ETH on Aurora as it could artificially deplete by @[birchmd]. ([#536])
- Fixed the possibility of forging receipts to allow for withdrawals on the Rainbow Bridge by [@birchmd], [@mfornet], [@sept-en] and [@joshuajbouw]. Written by [@birchmd].
- Fixed the ability the steal funds from those by setting a fee when receiving NEP-141 as ERC-20 by [@birchmd], [@mfornet], and [@joshuajbouw]. Written by [@joshuajbouw].

[#536]: https://github.com/aurora-is-near/aurora-engine/pull/536

## [2.6.0] 2022-06-08

### Added

- A precompile at the address `0x536822d27de53629ef1f84c60555689e9488609f` was created to expose the prepaid gas from the NEAR host function by [@birchmd]. ([#479])

### Changes

- A better implementation of caching was added to reduce the overall gas costs of storage reads resulting in roughly a 15% - 18% reduction of gas costs by [@birchmd]. ([#488])

### Fixes

- If the `v` byte of secp256k1 is incorrect, it now returns correctly an empty vector by [@RomanHodulak]. ([#513])
- Original ETH transactions which do not contain a Chain ID are allowed again to allow for use of [EIP-1820] by [@joshuajbouw]. ([#520])
- Ecrecover didn't reject `r`, `s` values larger than curve order by [@RomanHodulak]. ([#515])
- The predecessor account ID was failing in the `view` method by [@birchmd]. ([#477])
- Ecrecover was incorrectly setting the NEAR ecrecover malleability flag by [@birchmd] and [@joshuajbouw]. ([#474])

[EIP-1820]: https://eips.ethereum.org/EIPS/eip-1820
[#520]: https://github.com/aurora-is-near/aurora-engine/pull/520
[#515]: https://github.com/aurora-is-near/aurora-engine/pull/515
[#513]: https://github.com/aurora-is-near/aurora-engine/pull/513
[#488]: https://github.com/aurora-is-near/aurora-engine/pull/488
[#479]: https://github.com/aurora-is-near/aurora-engine/pull/479
[#477]: https://github.com/aurora-is-near/aurora-engine/pull/477
[#474]: https://github.com/aurora-is-near/aurora-engine/pull/474

## [2.5.3] 2022-04-27

### Fixes

- Fixed inflation vulnerability relating to ExitToNear and ExitToEthereum by [@birchmd], [@mfornet], and [@joshuajbouw]. Written by [@birchmd].

## [2.5.2] 2022-03-22

### Removed

- New Aurora-only precompiles removed since they do not work in NEAR view calls. This will need to be fixed and they will be re-added to a future release.

## [2.5.1] - 2022-03-16

### Fixes

- Fix for bug in checking address exists introduced in the v2.5.0 release by [@birchmd]. ([#469])

### Added

- New Aurora-only precompiles for checking the current and predecessor NEAR account IDs by [@birchmd]. ([#462])

[#462]: https://github.com/aurora-is-near/aurora-engine/pull/462
[#469]: https://github.com/aurora-is-near/aurora-engine/pull/469

## [2.5.0] - 2022-03-09

### Changes

- Performance improvement by [@birchmd] and [@olonho]: ([#455]) ([#456])

### Fixes

- Bug fix for the behaviour of transactions to the zero address by [@birchmd]. ([#458])

[#455]: https://github.com/aurora-is-near/aurora-engine/pull/455
[#456]: https://github.com/aurora-is-near/aurora-engine/pull/456
[#458]: https://github.com/aurora-is-near/aurora-engine/pull/458

## [2.4.0] - 2022-02-16

### Changes

- Performance improvements by [@birchmd] and [@matklad]; the engine should now consume much less NEAR gas: ([#427]) ([#438]) ([#439]) ([#445]) ([#446])
- Security improvment: only Engine contract owner can use the `deploy_upgrade` method by [@birchmd]. ([#410])
- Bug fix: Engine now returns the error message in the case of a revert during an EVM contract deploy, previously it would always return an address (even when the deploy failed) by [@birchmd]. ([#424])
- Security improvment: Engine will no longer accept EVM transactions without a chain ID as part of their signature by [@birchmd]. This should have no impact on users as all modern Ethereum tooling includes the chain ID. ([#432])
- Improvements to code quality by [@mrLSD]: ([#386]) ([#387])
- Improvements and additions to internal tests and benchmarks by [@birchmd]: ([#408]) ([#415]) ([#429])

[#386]: https://github.com/aurora-is-near/aurora-engine/pull/386
[#387]: https://github.com/aurora-is-near/aurora-engine/pull/387
[#408]: https://github.com/aurora-is-near/aurora-engine/pull/408
[#410]: https://github.com/aurora-is-near/aurora-engine/pull/410
[#415]: https://github.com/aurora-is-near/aurora-engine/pull/415
[#424]: https://github.com/aurora-is-near/aurora-engine/pull/424
[#427]: https://github.com/aurora-is-near/aurora-engine/pull/427
[#429]: https://github.com/aurora-is-near/aurora-engine/pull/429
[#432]: https://github.com/aurora-is-near/aurora-engine/pull/432
[#438]: https://github.com/aurora-is-near/aurora-engine/pull/438
[#439]: https://github.com/aurora-is-near/aurora-engine/pull/439
[#445]: https://github.com/aurora-is-near/aurora-engine/pull/445
[#446]: https://github.com/aurora-is-near/aurora-engine/pull/446

## [2.3.0] - 2021-12-10

### Added

- A precompile which exposes NEAR's random number generator was added by [@mfornet] as requested by
[@birchmd]. ([#368] [#297])
- A precompile which exposes NEAR's random number generator was added by [@mfornet] as requested by
[@birchmd]. ([#368] [#297])
- London hard fork support was added by [@birchmd]. ([#244])

### Changes

- The gas limit for `deposit` and `ft_on_transfer` were changed as they were not attaching enough
gas, as changed by [@mrLSD]. ([#389])
gas, as changed by [@mrLSD]. ([#389])

### Fixes

- There was an issue with the original storage not actually being stored. Unfortunately, previous
transactions can't be updated with this change. This has been fixed by [@birchmd]. ([#390])
- There was an issue with the original storage not actually being stored. Unfortunately, previous
transactions can't be updated with this change. This has been fixed by [@birchmd]. ([#390])
- Call arguments were intended to have a value attached to them to make it equivalent to an ETH
call. This was fixed in a backwards compatible manner by [@andrcmdr], as reported by [@birchmd].
([#351] [#309])
call. This was fixed in a backwards compatible manner by [@andrcmdr], as reported by [@birchmd].
([#351] [#309])

### Removed

Expand All @@ -37,10 +138,10 @@ call. This was fixed in a backwards compatible manner by [@andrcmdr], as reporte
[#388]: https://github.com/aurora-is-near/aurora-engine/pull/388
[#368]: https://github.com/aurora-is-near/aurora-engine/pull/368
[#351]: https://github.com/aurora-is-near/aurora-engine/pull/351
[#311]: https://github.com/aurora-is-near/aurora-engine/pull/311
[#311]: https://github.com/aurora-is-near/aurora-engine/pull/311
[#309]: https://github.com/aurora-is-near/aurora-engine/issues/309
[#297]: https://github.com/aurora-is-near/aurora-engine/issues/297
[#244]: https://github.com/aurora-is-near/aurora-engine/pull/244
[#244]: https://github.com/aurora-is-near/aurora-engine/pull/244

## [2.2.0] - 2021-11-09

Expand Down Expand Up @@ -180,7 +281,14 @@ struct SubmitResult {

## [1.0.0] - 2021-05-12

[Unreleased]: https://github.com/aurora-is-near/aurora-engine/compare/2.3.0...master
[Unreleased]: https://github.com/aurora-is-near/aurora-engine/compare/2.6.1...develop
[2.6.1]: https://github.com/aurora-is-near/aurora-engine/compare/2.6.0...2.6.1
[2.6.0]: https://github.com/aurora-is-near/aurora-engine/compare/2.5.3...2.6.0
[2.5.3]: https://github.com/aurora-is-near/aurora-engine/compare/2.5.2...2.5.3
[2.5.2]: https://github.com/aurora-is-near/aurora-engine/compare/2.5.1...2.5.2
[2.5.1]: https://github.com/aurora-is-near/aurora-engine/compare/2.5.0...2.5.1
[2.5.0]: https://github.com/aurora-is-near/aurora-engine/compare/2.4.0...2.5.0
[2.4.0]: https://github.com/aurora-is-near/aurora-engine/compare/2.3.0...2.4.0
[2.3.0]: https://github.com/aurora-is-near/aurora-engine/compare/2.2.0...2.3.0
[2.2.0]: https://github.com/aurora-is-near/aurora-engine/compare/2.1.0...2.2.0
[2.1.0]: https://github.com/aurora-is-near/aurora-engine/compare/2.0.2...2.1.0
Expand Down Expand Up @@ -208,4 +316,7 @@ struct SubmitResult {
[@joshuajbouw]: https://github.com/joshuajbouw
[@mfornet]: https://github.com/mfornet
[@mrLSD]: https://github.com/mrLSD
[@RomanHodulak]: https://github.com/RomanHodulak
[@sept-en]: https://github.com/sept-en
[@matklad]: https://github.com/matklad
[@olonho]: https://github.com/olonho
7 changes: 3 additions & 4 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions README.md
Expand Up @@ -14,9 +14,9 @@ documentation.

Network | Contract ID | Chain ID | Version
------- | ------------------- | ---------- | ------
Mainnet | [`aurora`][Mainnet] | 1313161554 | 2.2.0
Testnet | [`aurora`][Testnet] | 1313161555 | 2.3.0
Local | `aurora.test.near` | 1313161556 | 2.3.0
Mainnet | [`aurora`][Mainnet] | 1313161554 | 2.6.1
Testnet | [`aurora`][Testnet] | 1313161555 | 2.6.1
Local | `aurora.test.near` | 1313161556 | 2.6.1

[Mainnet]: https://explorer.near.org/accounts/aurora
[Testnet]: https://explorer.testnet.near.org/accounts/aurora
Expand Down
20 changes: 0 additions & 20 deletions TODO.md

This file was deleted.

2 changes: 1 addition & 1 deletion VERSION
@@ -1 +1 @@
2.3.0
2.6.1
4 changes: 4 additions & 0 deletions engine-precompiles/src/native.rs
Expand Up @@ -257,6 +257,8 @@ impl<I: IO> Precompile for ExitToNear<I> {
// It's not allowed to call exit precompiles in static mode
if is_static {
return Err(ExitError::Other(Cow::from("ERR_INVALID_IN_STATIC")));
} else if context.address != exit_to_near::ADDRESS.raw() {
return Err(ExitError::Other(Cow::from("ERR_INVALID_IN_DELEGATE")));
}

// First byte of the input is a flag, selecting the behavior to be triggered:
Expand Down Expand Up @@ -451,6 +453,8 @@ impl<I: IO> Precompile for ExitToEthereum<I> {
// It's not allowed to call exit precompiles in static mode
if is_static {
return Err(ExitError::Other(Cow::from("ERR_INVALID_IN_STATIC")));
} else if context.address != exit_to_ethereum::ADDRESS.raw() {
return Err(ExitError::Other(Cow::from("ERR_INVALID_IN_DELEGATE")));
}

// First byte of the input is a flag, selecting the behavior to be triggered:
Expand Down
2 changes: 2 additions & 0 deletions engine-sdk/Cargo.toml
Expand Up @@ -22,3 +22,5 @@ sha2 = { version = "0.9.3", default-features = false }
std = ["aurora-engine-types/std"]
contract = []
log = []
mainnet = []
testnet = []
16 changes: 16 additions & 0 deletions engine-sdk/src/near_runtime.rs
Expand Up @@ -6,6 +6,18 @@ use aurora_engine_types::parameters::{PromiseAction, PromiseBatchAction, Promise
use aurora_engine_types::types::PromiseResult;
use aurora_engine_types::H256;

#[cfg(feature = "mainnet")]
/// The mainnet eth_custodian address 0x6BFaD42cFC4EfC96f529D786D643Ff4A8B89FA52
const CUSTODIAN_ADDRESS: &[u8] = &[
107, 250, 212, 44, 252, 78, 252, 150, 245, 41, 215, 134, 214, 67, 255, 74, 139, 137, 250, 82,
];

#[cfg(feature = "testnet")]
/// The testnet eth_custodian address 0x84a82Bb39c83989D5Dc07e1310281923D2544dC2
const CUSTODIAN_ADDRESS: &[u8] = &[
132, 168, 43, 179, 156, 131, 152, 157, 93, 192, 126, 19, 16, 40, 25, 35, 210, 84, 77, 194,
];

/// Wrapper type for indices in NEAR's register API.
pub struct RegisterIndex(u64);

Expand Down Expand Up @@ -113,6 +125,10 @@ impl crate::io::IO for Runtime {

fn return_output(&mut self, value: &[u8]) {
unsafe {
#[cfg(any(feature = "mainnet", feature = "testnet"))]
if value.len() >= 56 && &value[36..56] == CUSTODIAN_ADDRESS {
panic!("ERR_ILLEGAL_RETURN");
}
exports::value_return(value.len() as u64, value.as_ptr() as u64);
}
}
Expand Down
1 change: 0 additions & 1 deletion engine-standalone-tracing/Cargo.toml
Expand Up @@ -21,7 +21,6 @@ evm-core = { git = "https://github.com/aurora-is-near/sputnikvm.git", rev = "374
evm = { git = "https://github.com/aurora-is-near/sputnikvm.git", rev = "37448b6cacd98b06282cff5a559684505c29bd2b", default-features = false, features = ["std", "tracing"] }
evm-runtime = { git = "https://github.com/aurora-is-near/sputnikvm.git", rev = "37448b6cacd98b06282cff5a559684505c29bd2b", default-features = false, features = ["std", "tracing"] }
evm-gasometer = { git = "https://github.com/aurora-is-near/sputnikvm.git", rev = "37448b6cacd98b06282cff5a559684505c29bd2b", default-features = false, features = ["std", "tracing"] }
hex = { version = "0.4" }
serde = { version = "1", features = ["derive"], optional = true }

[features]
Expand Down
12 changes: 10 additions & 2 deletions engine-standalone-tracing/src/sputnik.rs
Expand Up @@ -48,14 +48,18 @@ impl evm_gasometer::tracing::EventListener for TransactionTraceBuilder {
fn event(&mut self, event: evm_gasometer::tracing::Event) {
use evm_gasometer::tracing::Event;
match event {
Event::RecordCost { cost, snapshot: _ } => {
Event::RecordCost { cost, snapshot } => {
self.current.gas_cost = EthGas::new(cost);
if let Some(snapshot) = snapshot {
self.current.gas =
EthGas::new(snapshot.gas_limit - snapshot.used_gas - snapshot.memory_gas);
}
}
Event::RecordDynamicCost {
gas_cost,
memory_gas,
gas_refund: _,
snapshot: _,
snapshot,
} => {
// In SputnikVM memory gas is cumulative (ie this event always shows the total) gas
// spent on memory up to this point. But geth traces simply show how much gas each step
Expand All @@ -68,6 +72,10 @@ impl evm_gasometer::tracing::EventListener for TransactionTraceBuilder {
};
self.current_memory_gas = memory_gas;
self.current.gas_cost = EthGas::new(gas_cost + memory_cost_diff);
if let Some(snapshot) = snapshot {
self.current.gas =
EthGas::new(snapshot.gas_limit - snapshot.used_gas - snapshot.memory_gas);
}
}
Event::RecordRefund {
refund: _,
Expand Down
4 changes: 2 additions & 2 deletions engine-standalone-tracing/src/types/mod.rs
Expand Up @@ -163,9 +163,9 @@ pub struct TraceLog {
pub depth: Depth,
/// Any errors that may have occurred during execution.
pub error: Option<String>,
/// Gas used to execute the transaction.
/// Remaining (unused) gas.
pub gas: EthGas,
/// Gas cost for the transaction.
/// Gas cost for the opcode at this step.
pub gas_cost: EthGas,
/// The bounded memory.
pub memory: LogMemory,
Expand Down

0 comments on commit 6307874

Please sign in to comment.