From 5dba43178b1c24e303b6ebe180b406a4cad693a9 Mon Sep 17 00:00:00 2001 From: Arkadiy Paronyan Date: Sat, 16 Jul 2016 19:49:52 +0200 Subject: [PATCH] Removed DAO soft fork traces (#1639) --- ethcore/src/error.rs | 3 --- ethcore/src/evm/schedule.rs | 3 --- ethcore/src/state.rs | 27 --------------------------- rpc/src/v1/impls/mod.rs | 1 - 4 files changed, 34 deletions(-) diff --git a/ethcore/src/error.rs b/ethcore/src/error.rs index d492c2cf5..26a645322 100644 --- a/ethcore/src/error.rs +++ b/ethcore/src/error.rs @@ -59,8 +59,6 @@ pub enum TransactionError { }, /// Transaction's gas limit (aka gas) is invalid. InvalidGasLimit(OutOfBounds), - /// Transaction is invalid for some other reason. - DAORescue, } impl fmt::Display for TransactionError { @@ -79,7 +77,6 @@ impl fmt::Display for TransactionError { GasLimitExceeded { limit, got } => format!("Gas limit exceeded. Limit={}, Given={}", limit, got), InvalidGasLimit(ref err) => format!("Invalid gas limit. {}", err), - DAORescue => "Transaction is invalid due to the DAO rescue.".into(), }; f.write_fmt(format_args!("Transaction error ({})", msg)) diff --git a/ethcore/src/evm/schedule.rs b/ethcore/src/evm/schedule.rs index 188e72373..f82157239 100644 --- a/ethcore/src/evm/schedule.rs +++ b/ethcore/src/evm/schedule.rs @@ -80,8 +80,6 @@ pub struct Schedule { pub tx_data_non_zero_gas: usize, /// Gas price for copying memory pub copy_gas: usize, - /// DAO Rescue softfork block - pub reject_dao_transactions: bool, } impl Schedule { @@ -128,7 +126,6 @@ impl Schedule { tx_data_zero_gas: 4, tx_data_non_zero_gas: 68, copy_gas: 3, - reject_dao_transactions: false, } } } diff --git a/ethcore/src/state.rs b/ethcore/src/state.rs index 92a501e80..3c1b5e7c0 100644 --- a/ethcore/src/state.rs +++ b/ethcore/src/state.rs @@ -232,33 +232,6 @@ impl State { let options = TransactOptions { tracing: tracing, vm_tracing: false, check_nonce: true }; let e = try!(Executive::new(self, env_info, engine, vm_factory).transact(t, options)); - let broken_dao = H256::from("6a5d24750f78441e56fec050dc52fe8e911976485b7472faac7464a176a67caa"); - - // dao attack soft fork - if engine.schedule(&env_info).reject_dao_transactions { - let whitelisted = if let Action::Call(to) = t.action { - to == Address::from("Da4a4626d3E16e094De3225A751aAb7128e96526") || - to == Address::from("2ba9D006C1D72E67A70b5526Fc6b4b0C0fd6D334") - } else { false }; - if !whitelisted { - // collect all the addresses which have changed. - let addresses = self.cache.borrow().iter().map(|(addr, _)| addr.clone()).collect::>(); - - for a in &addresses { - if self.code(a).map_or(false, |c| c.sha3() == broken_dao) { - // Figure out if the balance has been reduced. - let maybe_original = self.trie_factory - .readonly(self.db.as_hashdb(), &self.root) - .expect(SEC_TRIE_DB_UNWRAP_STR) - .get(&a).map(Account::from_rlp); - if maybe_original.map_or(false, |original| *original.balance() > self.balance(a)) { - return Err(Error::Transaction(TransactionError::DAORescue)); - } - } - } - } - } - // TODO uncomment once to_pod() works correctly. // trace!("Applied transaction. Diff:\n{}\n", state_diff::diff_pod(&old, &self.to_pod())); self.commit(); diff --git a/rpc/src/v1/impls/mod.rs b/rpc/src/v1/impls/mod.rs index 50fa0fa1a..0f09035ed 100644 --- a/rpc/src/v1/impls/mod.rs +++ b/rpc/src/v1/impls/mod.rs @@ -170,7 +170,6 @@ fn transaction_error(error: EthcoreError) -> Error { format!("Transaction cost exceeds current gas limit. Limit: {}, got: {}. Try decreasing supplied gas.", limit, got) }, InvalidGasLimit(_) => "Supplied gas is beyond limit.".into(), - DAORescue => "Transaction removes funds from a DAO.".into(), }; Error { code: ErrorCode::ServerError(error_codes::TRANSACTION_ERROR),