fix: add to and from into the transaction receipt to follow spec (#1184)

* fix: add to and from into the transaction receipt to follow spec

* update changelog
This commit is contained in:
Josh Stevens 2022-04-27 13:40:59 +01:00 committed by GitHub
parent 3d9fc21ba9
commit 82d5741bcc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 58 additions and 1 deletions

View File

@ -60,6 +60,8 @@
- Add Yul compilation [994](https://github.com/gakonst/ethers-rs/pull/994) - Add Yul compilation [994](https://github.com/gakonst/ethers-rs/pull/994)
- Enforce commutativity of ENS reverse resolution - Enforce commutativity of ENS reverse resolution
[#996](https://github.com/gakonst/ethers-rs/pull/996) [#996](https://github.com/gakonst/ethers-rs/pull/996)
- Add `TransactionReceipt::to` and `TransactionReceipt::from`
[#1184](https://github.com/gakonst/ethers-rs/pull/1184)
## ethers-contract-abigen ## ethers-contract-abigen
@ -249,7 +251,6 @@
[#1095](https://gakonst/ethers-rs/pull/1095) [#1095](https://gakonst/ethers-rs/pull/1095)
- Add BlockNative gas oracle [#1175](https://github.com/gakonst/ethers-rs/pull/1175) - Add BlockNative gas oracle [#1175](https://github.com/gakonst/ethers-rs/pull/1175)
### 0.6.0 ### 0.6.0
- add the missing constructor for `Timelag` middleware via - add the missing constructor for `Timelag` middleware via

View File

@ -384,6 +384,10 @@ pub struct TransactionReceipt {
/// Number of the block this transaction was included within. /// Number of the block this transaction was included within.
#[serde(rename = "blockNumber")] #[serde(rename = "blockNumber")]
pub block_number: Option<U64>, pub block_number: Option<U64>,
/// address of the sender.
pub from: Address,
// address of the receiver. null when its a contract creation transaction.
pub to: Option<Address>,
/// Cumulative gas used within the block after this was executed. /// Cumulative gas used within the block after this was executed.
#[serde(rename = "cumulativeGasUsed")] #[serde(rename = "cumulativeGasUsed")]
pub cumulative_gas_used: U256, pub cumulative_gas_used: U256,
@ -752,4 +756,56 @@ mod tests {
assert_eq!(tx.hash, tx.hash()); assert_eq!(tx.hash, tx.hash());
assert_eq!(tx.from, tx.recover_from().unwrap()); assert_eq!(tx.from, tx.recover_from().unwrap());
} }
#[test]
fn decode_transaction_receipt() {
let _res: TransactionReceipt = serde_json::from_str(
r#"{
"transactionHash": "0xa3ece39ae137617669c6933b7578b94e705e765683f260fcfe30eaa41932610f",
"blockHash": "0xf6084155ff2022773b22df3217d16e9df53cbc42689b27ca4789e06b6339beb2",
"blockNumber": "0x52a975",
"contractAddress": null,
"cumulativeGasUsed": "0x797db0",
"from": "0xd907941c8b3b966546fc408b8c942eb10a4f98df",
"gasUsed": "0x1308c",
"logs": [
{
"blockHash": "0xf6084155ff2022773b22df3217d16e9df53cbc42689b27ca4789e06b6339beb2",
"address": "0xd6df5935cd03a768b7b9e92637a01b25e24cb709",
"logIndex": "0x119",
"data": "0x0000000000000000000000000000000000000000000000000000008bb2c97000",
"removed": false,
"topics": [
"0x8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a77",
"0x000000000000000000000000d907941c8b3b966546fc408b8c942eb10a4f98df"
],
"blockNumber": "0x52a975",
"transactionIndex": "0x29",
"transactionHash": "0xa3ece39ae137617669c6933b7578b94e705e765683f260fcfe30eaa41932610f"
},
{
"blockHash": "0xf6084155ff2022773b22df3217d16e9df53cbc42689b27ca4789e06b6339beb2",
"address": "0xd6df5935cd03a768b7b9e92637a01b25e24cb709",
"logIndex": "0x11a",
"data": "0x0000000000000000000000000000000000000000000000000000008bb2c97000",
"removed": false,
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"0x0000000000000000000000000000000000000000000000000000000000000000",
"0x000000000000000000000000d907941c8b3b966546fc408b8c942eb10a4f98df"
],
"blockNumber": "0x52a975",
"transactionIndex": "0x29",
"transactionHash": "0xa3ece39ae137617669c6933b7578b94e705e765683f260fcfe30eaa41932610f"
}
],
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000020000000000000000000800000000000000004010000010100000000000000000000000000000000000000000000000000040000080000000000000080000000000000000000000000000000000000000000020000000000000000000000002000000000000000000000000000000000000000000000000000020000000010000000000000000000000000000000000000000000000000000000000",
"root": null,
"status": "0x1",
"to": "0xd6df5935cd03a768b7b9e92637a01b25e24cb709",
"transactionIndex": "0x29"
}"#,
)
.unwrap();
}
} }