Update ethereum types to 0.8.0 version#11139
Conversation
|
@niklasad1 commit e898ad3 was made in order to avoid clashes between rand 0.6 and 0.7. You may want to revert it with global switch to rand 0.7 |
| fn next_id(&mut self) -> Id { | ||
| let data = H64::random_using(&mut self.rand); | ||
| let mut data = H64::default(); | ||
| self.rand.fill_bytes(&mut data.as_bytes_mut()); |
There was a problem hiding this comment.
ahh all right, so we should be able to revert this once both are rand 0.7 then?
There was a problem hiding this comment.
I'm out of the loop, forgive the silly q: How does this change with rand 0.7?
There was a problem hiding this comment.
This is related to the changes of OsRng where version 0.6 is not compatible with version 0.7. I don't really know exactly what was caused it..... I'm guessing it has something to with versions of rand-core (RngCore trait)
Thus, because we now use rand 0.7 in ethereum-types v0.8 and rand 0.6 in rpc it let data = H64::random_using(&mut self.rand); doesn't work anymore.
There was a problem hiding this comment.
ok, let's add a todo here so we don't forget.
There was a problem hiding this comment.
Yes, @niklasad1 is right. I'll add todo here
| // Subscribe | ||
| let request = r#"{"jsonrpc": "2.0", "method": "eth_subscribe", "params": ["newHeads"], "id": 1}"#; | ||
| let response = r#"{"jsonrpc":"2.0","result":"0x43ca64edf03768e1","id":1}"#; | ||
| let response = r#"{"jsonrpc":"2.0","result":"0x4333966aca52ad0b","id":1}"#; |
There was a problem hiding this comment.
Did we change PRNG maybe? :/
There was a problem hiding this comment.
It looks like fixed-hash is using rand::distributions::Standard::sample and OsRng::fill_bytes which is using getrandom but I'm not sure how they differ...
There was a problem hiding this comment.
I changed the way, how next_id is generated. As a result the initial value calculated from the test seed was also changed in tests (where deterministic PRNG used).
dvdplm
left a comment
There was a problem hiding this comment.
lgtm, modulo a few questions and some odd white space questions.
| fn next_id(&mut self) -> Id { | ||
| let data = H64::random_using(&mut self.rand); | ||
| let mut data = H64::default(); | ||
| self.rand.fill_bytes(&mut data.as_bytes_mut()); |
There was a problem hiding this comment.
I'm out of the loop, forgive the silly q: How does this change with rand 0.7?
| // Subscribe | ||
| let request = r#"{"jsonrpc": "2.0", "method": "eth_subscribe", "params": ["newHeads"], "id": 1}"#; | ||
| let response = r#"{"jsonrpc":"2.0","result":"0x43ca64edf03768e1","id":1}"#; | ||
| let response = r#"{"jsonrpc":"2.0","result":"0x4333966aca52ad0b","id":1}"#; |
There was a problem hiding this comment.
Did we change PRNG maybe? :/
| let response = r#"{"jsonrpc":"2.0","method":"eth_subscription","params":{"result":{"author":"0x0000000000000000000000000000000000000000","difficulty":"0x1","extraData":"0x","gasLimit":"0xf4240","gasUsed":"0x0","hash":"0x3457d2fa2e3dd33c78ac681cf542e429becf718859053448748383af67e23218","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","number":"0x1","parentHash":"0x0cd786a2425d16f152c658316c423e6ce1181e15c3295826d7c9904cba9ce303","receiptsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","sealFields":[],"sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x1c9","stateRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","timestamp":"0x0","transactionsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"},"subscription":"0x43ca64edf03768e1"}}"#; | ||
| let response = r#"{"jsonrpc":"2.0","method":"eth_subscription","params":{"result":{"author":"0x0000000000000000000000000000000000000000","difficulty":"0x1","extraData":"0x","gasLimit":"0xf4240","gasUsed":"0x0","hash":"0x3457d2fa2e3dd33c78ac681cf542e429becf718859053448748383af67e23218","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","number":"0x1","parentHash":"0x0cd786a2425d16f152c658316c423e6ce1181e15c3295826d7c9904cba9ce303","receiptsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","sealFields":[],"sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x1c9","stateRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","timestamp":"0x0","transactionsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"},"subscription":"0x4333966aca52ad0b"}}"#; | ||
| assert_eq!(res, Some(response.into())); | ||
|
|
||
| // Notify about two blocks | ||
| handler.new_blocks(NewBlocks::new(vec![], vec![], ChainRoute::new(vec![(h2, ChainRouteType::Enacted), (h3, ChainRouteType::Enacted)]), vec![], vec![], DURATION_ZERO, true)); | ||
|
|
||
| // Receive both | ||
| let (res, receiver) = receiver.into_future().wait().unwrap(); | ||
| let response = r#"{"jsonrpc":"2.0","method":"eth_subscription","params":{"result":{"author":"0x0000000000000000000000000000000000000000","difficulty":"0x2","extraData":"0x","gasLimit":"0xf4240","gasUsed":"0x0","hash":"0x44e5ecf454ea99af9d8a8f2ca0daba96964c90de05db7a78f59b84ae9e749706","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","number":"0x2","parentHash":"0x3457d2fa2e3dd33c78ac681cf542e429becf718859053448748383af67e23218","receiptsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","sealFields":[],"sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x1c9","stateRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","timestamp":"0x0","transactionsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"},"subscription":"0x43ca64edf03768e1"}}"#; | ||
| let response = r#"{"jsonrpc":"2.0","method":"eth_subscription","params":{"result":{"author":"0x0000000000000000000000000000000000000000","difficulty":"0x2","extraData":"0x","gasLimit":"0xf4240","gasUsed":"0x0","hash":"0x44e5ecf454ea99af9d8a8f2ca0daba96964c90de05db7a78f59b84ae9e749706","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","number":"0x2","parentHash":"0x3457d2fa2e3dd33c78ac681cf542e429becf718859053448748383af67e23218","receiptsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","sealFields":[],"sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x1c9","stateRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","timestamp":"0x0","transactionsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"},"subscription":"0x4333966aca52ad0b"}}"#; | ||
| assert_eq!(res, Some(response.into())); | ||
| let (res, receiver) = receiver.into_future().wait().unwrap(); | ||
| let response = r#"{"jsonrpc":"2.0","method":"eth_subscription","params":{"result":{"author":"0x0000000000000000000000000000000000000000","difficulty":"0x3","extraData":"0x","gasLimit":"0xf4240","gasUsed":"0x0","hash":"0xdf04a98bb0c6fa8441bd429822f65a46d0cb553f6bcef602b973e65c81497f8e","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","number":"0x3","parentHash":"0x44e5ecf454ea99af9d8a8f2ca0daba96964c90de05db7a78f59b84ae9e749706","receiptsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","sealFields":[],"sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x1c9","stateRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","timestamp":"0x0","transactionsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"},"subscription":"0x43ca64edf03768e1"}}"#; | ||
| let response = r#"{"jsonrpc":"2.0","method":"eth_subscription","params":{"result":{"author":"0x0000000000000000000000000000000000000000","difficulty":"0x3","extraData":"0x","gasLimit":"0xf4240","gasUsed":"0x0","hash":"0xdf04a98bb0c6fa8441bd429822f65a46d0cb553f6bcef602b973e65c81497f8e","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","number":"0x3","parentHash":"0x44e5ecf454ea99af9d8a8f2ca0daba96964c90de05db7a78f59b84ae9e749706","receiptsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","sealFields":[],"sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x1c9","stateRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","timestamp":"0x0","transactionsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"},"subscription":"0x4333966aca52ad0b"}}"#; |
`#11139` makes use a different `RNG/seed`, not `H64::random_using(&mut self.rand)` This commit reverts the changed tests (the generated id by `Subscribers::next_id`)
* network-devp2p: bump rand `0.7` * updater: bump rand `0.7` * hash-fetch: bump rand `0.7` * ethcore-sync: bump rand `0.7` * rpc: dont work yet * [private-tx] remove unused rand * [ethcore-snapshot] bump rand 0.7 * [engine clique]: bump rand 0.7 * [engine authority-round]: remove rand * [ethcore-blockchain]: bump rand 0.7 * [ethcore]: bump rand 0.7 * [ethcore-light]: bump rand 0.7 * [ethstore]: bump rand 0.7 * Fix for rand usage in rpc * [rpc]: fix test build * [ethcore-sync]: fix test build * [snapshot tests]: rand 0.7 * [ethkey]: bump rand 0.7 * [rpc]: resolve TODO incompatible `rand versions` * [ethkey] use `rust-secp256k1` master branch * fix(bad merge): ethcoore-light remove itertools * [rpc tests]: revert rpc test changes in #11139 `#11139` makes use a different `RNG/seed`, not `H64::random_using(&mut self.rand)` This commit reverts the changed tests (the generated id by `Subscribers::next_id`) * [ethkey/random]: resolve introduced `TODO`
The version of the crate and linked crates (like keccak-hash) were updated across the repository
Updates:
0.80.40.8