test: add tx receipt roundtrip test (#1360)
This commit is contained in:
parent
ea1a87271c
commit
c7a8a1ea5a
|
@ -404,6 +404,7 @@ pub struct TransactionReceipt {
|
||||||
/// Status: either 1 (success) or 0 (failure). Only present after activation of [EIP-658](https://eips.ethereum.org/EIPS/eip-658)
|
/// Status: either 1 (success) or 0 (failure). Only present after activation of [EIP-658](https://eips.ethereum.org/EIPS/eip-658)
|
||||||
pub status: Option<U64>,
|
pub status: Option<U64>,
|
||||||
/// State root. Only present before activation of [EIP-658](https://eips.ethereum.org/EIPS/eip-658)
|
/// State root. Only present before activation of [EIP-658](https://eips.ethereum.org/EIPS/eip-658)
|
||||||
|
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||||
pub root: Option<H256>,
|
pub root: Option<H256>,
|
||||||
/// Logs bloom
|
/// Logs bloom
|
||||||
#[serde(rename = "logsBloom")]
|
#[serde(rename = "logsBloom")]
|
||||||
|
@ -808,4 +809,60 @@ mod tests {
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn serde_create_transaction_receipt() {
|
||||||
|
let v: serde_json::Value = serde_json::from_str(
|
||||||
|
r#"{
|
||||||
|
"transactionHash": "0x611b173b0e0dfda94da7bfb6cb77c9f1c03e2f2149ba060e6bddfaa219942369",
|
||||||
|
"blockHash": "0xa11871d61e0e703ae33b358a6a9653c43e4216f277d4a1c7377b76b4d5b4cbf1",
|
||||||
|
"blockNumber": "0xe3c1d8",
|
||||||
|
"contractAddress": "0x08f6db30039218894067023a3593baf27d3f4a2b",
|
||||||
|
"cumulativeGasUsed": "0x1246047",
|
||||||
|
"effectiveGasPrice": "0xa02ffee00",
|
||||||
|
"from": "0x0968995a48162a23af60d3ca25cddfa143cd8891",
|
||||||
|
"gasUsed": "0x1b9229",
|
||||||
|
"logs": [
|
||||||
|
{
|
||||||
|
"address": "0x08f6db30039218894067023a3593baf27d3f4a2b",
|
||||||
|
"topics": [
|
||||||
|
"0x40c340f65e17194d14ddddb073d3c9f888e3cb52b5aae0c6c7706b4fbc905fac"
|
||||||
|
],
|
||||||
|
"data": "0x0000000000000000000000000968995a48162a23af60d3ca25cddfa143cd88910000000000000000000000000000000000000000000000000000000000002616",
|
||||||
|
"blockNumber": "0xe3c1d8",
|
||||||
|
"transactionHash": "0x611b173b0e0dfda94da7bfb6cb77c9f1c03e2f2149ba060e6bddfaa219942369",
|
||||||
|
"transactionIndex": "0xdf",
|
||||||
|
"blockHash": "0xa11871d61e0e703ae33b358a6a9653c43e4216f277d4a1c7377b76b4d5b4cbf1",
|
||||||
|
"logIndex": "0x196",
|
||||||
|
"removed": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"address": "0x08f6db30039218894067023a3593baf27d3f4a2b",
|
||||||
|
"topics": [
|
||||||
|
"0x40c340f65e17194d14ddddb073d3c9f888e3cb52b5aae0c6c7706b4fbc905fac"
|
||||||
|
],
|
||||||
|
"data": "0x00000000000000000000000059750ac0631f63bfdce0f0867618e468e11ee34700000000000000000000000000000000000000000000000000000000000000fa",
|
||||||
|
"blockNumber": "0xe3c1d8",
|
||||||
|
"transactionHash": "0x611b173b0e0dfda94da7bfb6cb77c9f1c03e2f2149ba060e6bddfaa219942369",
|
||||||
|
"transactionIndex": "0xdf",
|
||||||
|
"blockHash": "0xa11871d61e0e703ae33b358a6a9653c43e4216f277d4a1c7377b76b4d5b4cbf1",
|
||||||
|
"logIndex": "0x197",
|
||||||
|
"removed": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"logsBloom": "0x00000000000000800000000040000000000000000000000000000000000000000000008000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||||
|
"status": "0x1",
|
||||||
|
"to": null,
|
||||||
|
"transactionIndex": "0xdf",
|
||||||
|
"type": "0x2"
|
||||||
|
}
|
||||||
|
"#,
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
let receipt: TransactionReceipt = serde_json::from_value(v.clone()).unwrap();
|
||||||
|
assert!(receipt.to.is_none());
|
||||||
|
let receipt = serde_json::to_value(receipt).unwrap();
|
||||||
|
assert_eq!(v, receipt);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue