Comply EIP-86 with the new definition (#9140)
* Comply EIP-86 with the new CREATE2 opcode * Fix rpc compile * Fix interpreter CREATE/CREATE2 stack pop difference * Add unreachable! to fix compile * Fix instruction_info * Fix gas check due to new stack item * Add new tests in executive * Fix have_create2 comment * Remove all unused references of eip86_transition and block_number
This commit is contained in:
@@ -178,8 +178,7 @@ impl<C: miner::BlockChainClient + BlockChainClient, M: MinerService> Dispatcher
|
||||
}
|
||||
|
||||
fn enrich(&self, signed_transaction: SignedTransaction) -> RpcRichRawTransaction {
|
||||
let block_number = self.client.best_block_header().number();
|
||||
RpcRichRawTransaction::from_signed(signed_transaction, block_number, self.client.eip86_transition())
|
||||
RpcRichRawTransaction::from_signed(signed_transaction)
|
||||
}
|
||||
|
||||
fn dispatch_transaction(&self, signed_transaction: PendingTransaction) -> Result<H256> {
|
||||
@@ -405,8 +404,7 @@ impl Dispatcher for LightDispatcher {
|
||||
}
|
||||
|
||||
fn enrich(&self, signed_transaction: SignedTransaction) -> RpcRichRawTransaction {
|
||||
let block_number = self.client.best_block_header().number();
|
||||
RpcRichRawTransaction::from_signed(signed_transaction, block_number, self.client.eip86_transition())
|
||||
RpcRichRawTransaction::from_signed(signed_transaction)
|
||||
}
|
||||
|
||||
fn dispatch_transaction(&self, signed_transaction: PendingTransaction) -> Result<H256> {
|
||||
|
||||
@@ -66,7 +66,7 @@ pub struct LightFetch {
|
||||
}
|
||||
|
||||
/// Extract a transaction at given index.
|
||||
pub fn extract_transaction_at_index(block: encoded::Block, index: usize, eip86_transition: u64) -> Option<Transaction> {
|
||||
pub fn extract_transaction_at_index(block: encoded::Block, index: usize) -> Option<Transaction> {
|
||||
block.transactions().into_iter().nth(index)
|
||||
// Verify if transaction signature is correct.
|
||||
.and_then(|tx| SignedTransaction::new(tx).ok())
|
||||
@@ -85,7 +85,7 @@ pub fn extract_transaction_at_index(block: encoded::Block, index: usize, eip86_t
|
||||
cached_sender,
|
||||
}
|
||||
})
|
||||
.map(|tx| Transaction::from_localized(tx, eip86_transition))
|
||||
.map(|tx| Transaction::from_localized(tx))
|
||||
}
|
||||
|
||||
// extract the header indicated by the given `HeaderRef` from the given responses.
|
||||
@@ -365,7 +365,7 @@ impl LightFetch {
|
||||
|
||||
// Get a transaction by hash. also returns the index in the block.
|
||||
// Only returns transactions in the canonical chain.
|
||||
pub fn transaction_by_hash(&self, tx_hash: H256, eip86_transition: u64)
|
||||
pub fn transaction_by_hash(&self, tx_hash: H256)
|
||||
-> impl Future<Item = Option<(Transaction, usize)>, Error = Error> + Send
|
||||
{
|
||||
let params = (self.sync.clone(), self.on_demand.clone());
|
||||
@@ -397,7 +397,7 @@ impl LightFetch {
|
||||
}
|
||||
|
||||
let index = index.index as usize;
|
||||
let transaction = extract_transaction_at_index(blk, index, eip86_transition);
|
||||
let transaction = extract_transaction_at_index(blk, index);
|
||||
|
||||
if transaction.as_ref().map_or(true, |tx| tx.hash != tx_hash.into()) {
|
||||
// index is actively wrong: indicated block has
|
||||
|
||||
Reference in New Issue
Block a user