Fixing logs-receipt matching (#2403)
This commit is contained in:
parent
a37def823e
commit
443eb19739
@ -331,11 +331,12 @@ impl BlockProvider for BlockChain {
|
|||||||
.filter_map(|number| self.block_hash(number).map(|hash| (number, hash)))
|
.filter_map(|number| self.block_hash(number).map(|hash| (number, hash)))
|
||||||
.filter_map(|(number, hash)| self.block_receipts(&hash).map(|r| (number, hash, r.receipts)))
|
.filter_map(|(number, hash)| self.block_receipts(&hash).map(|r| (number, hash, r.receipts)))
|
||||||
.filter_map(|(number, hash, receipts)| self.block_body(&hash).map(|ref b| (number, hash, receipts, BodyView::new(b).transaction_hashes())))
|
.filter_map(|(number, hash, receipts)| self.block_body(&hash).map(|ref b| (number, hash, receipts, BodyView::new(b).transaction_hashes())))
|
||||||
.flat_map(|(number, hash, mut receipts, hashes)| {
|
.flat_map(|(number, hash, mut receipts, mut hashes)| {
|
||||||
assert_eq!(receipts.len(), hashes.len());
|
assert_eq!(receipts.len(), hashes.len());
|
||||||
log_index = receipts.iter().fold(0, |sum, receipt| sum + receipt.logs.len());
|
log_index = receipts.iter().fold(0, |sum, receipt| sum + receipt.logs.len());
|
||||||
|
|
||||||
let receipts_len = receipts.len();
|
let receipts_len = receipts.len();
|
||||||
|
hashes.reverse();
|
||||||
receipts.reverse();
|
receipts.reverse();
|
||||||
receipts.into_iter()
|
receipts.into_iter()
|
||||||
.map(|receipt| receipt.logs)
|
.map(|receipt| receipt.logs)
|
||||||
@ -1760,7 +1761,7 @@ mod tests {
|
|||||||
gas_price: 0.into(),
|
gas_price: 0.into(),
|
||||||
gas: 100_000.into(),
|
gas: 100_000.into(),
|
||||||
action: Action::Create,
|
action: Action::Create,
|
||||||
value: 100.into(),
|
value: 101.into(),
|
||||||
data: "601080600c6000396000f3006000355415600957005b60203560003555".from_hex().unwrap(),
|
data: "601080600c6000396000f3006000355415600957005b60203560003555".from_hex().unwrap(),
|
||||||
}.sign(&"".sha3());
|
}.sign(&"".sha3());
|
||||||
let t2 = Transaction {
|
let t2 = Transaction {
|
||||||
@ -1768,7 +1769,7 @@ mod tests {
|
|||||||
gas_price: 0.into(),
|
gas_price: 0.into(),
|
||||||
gas: 100_000.into(),
|
gas: 100_000.into(),
|
||||||
action: Action::Create,
|
action: Action::Create,
|
||||||
value: 100.into(),
|
value: 102.into(),
|
||||||
data: "601080600c6000396000f3006000355415600957005b60203560003555".from_hex().unwrap(),
|
data: "601080600c6000396000f3006000355415600957005b60203560003555".from_hex().unwrap(),
|
||||||
}.sign(&"".sha3());
|
}.sign(&"".sha3());
|
||||||
let t3 = Transaction {
|
let t3 = Transaction {
|
||||||
@ -1776,7 +1777,7 @@ mod tests {
|
|||||||
gas_price: 0.into(),
|
gas_price: 0.into(),
|
||||||
gas: 100_000.into(),
|
gas: 100_000.into(),
|
||||||
action: Action::Create,
|
action: Action::Create,
|
||||||
value: 100.into(),
|
value: 103.into(),
|
||||||
data: "601080600c6000396000f3006000355415600957005b60203560003555".from_hex().unwrap(),
|
data: "601080600c6000396000f3006000355415600957005b60203560003555".from_hex().unwrap(),
|
||||||
}.sign(&"".sha3());
|
}.sign(&"".sha3());
|
||||||
let tx_hash1 = t1.hash();
|
let tx_hash1 = t1.hash();
|
||||||
|
Loading…
Reference in New Issue
Block a user