Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GH-606-Review-3 #436

Open
wants to merge 13 commits into
base: GH-606-Review-3
Choose a base branch
from
Open

GH-606-Review-3 #436

wants to merge 13 commits into from

Conversation

masqrauder
Copy link
Contributor

I think I've addressed all the feedback from the first and second reviews. I responded to comments in #429. I may understand what happened last time with the previous PR; I suspect I have to be careful using rebase when creating the baseline branch for the next review. Rebasing disturbs the hashes and I have to update my rebased branch to a new hash if it changed.

.unwrap_or_else(|| panic!("record for {} is missing", key))
{
value => assert!(value.is_null()),
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This match should be replaced by simple:

let value = map.get(key).unwrap_or_else(|| panic!("record for {} is missing", key));
assert!(value.is_null())

BlockNumber::Number((start_block_nbr + max_block_count).into())
}
}
};
let start_block = if u64::MAX == start_block_nbr {
let start_block = if use_latest_block {
end_block
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found an issue you must look at. Given your new test uses only the mock version of the blockchain interface (in order to call .retrieve_transactions()), it didn't have a chance to dive in that function. If you consider the parameters your code from here supplies the function with it would most likely cause a panic soon after.

Notice that you pick end_block also to define the value of start_block. Because end_block is BlockNumber::Latest by this time, start_block becomes so too. This goes all aligned with the test where you also do params assertion on that method.

However, go and look inside there, you will bump soon into:

 let fallback_start_block_number = match end_block {
            BlockNumber::Number(eb) => eb.as_u64(),
            _ => {
                if let BlockNumber::Number(start_block_number) = start_block {
                    start_block_number.as_u64() + 1u64
                } else {
                    panic!("start_block of Latest, Earliest, and Pending are not supported");
                }
            }
        };

I read that code so that the panic is reached because we supplied both the start_block and end_block equal to BlockNumber::Latest.

czarte and others added 4 commits April 24, 2024 12:38
* fixed tests failing on Bert's computer

* formatting

* remove commented out code

* change .clone() to reference

* fixed test for windows in actions: tilde_in_config_file_path_from_commandline_and_args_uploaded_from_config_file

* target_os for dirs crate used only on windows test

* implementing Bert's review comments - change DirsWrapperMock to DirsWrapperReal and simplifying home_dir creation

* fixing windows data-directory assertion in test tilde_in_config_file_path_from_commandline_and_args_uploaded_from_config_file

* fixing home dir assertion for windows

* add condition to use of dirs crate only for windows

* fixing config toml for windows test tilde_in_config_file_path_from_commandline_and_args_uploaded_from_config_file

* fixed windows test

* formatting

* fixed tilde tests for windows

* remove unnecesary function for finding project root, use of current dir for DirsWrapperMock

* adjusting name of test and removing commented out code
* GH-791: fixed

* GH-791: put some explanatory lines back

---------

Co-authored-by: Bert <[email protected]>
* GH-797: minor docs modification

* GH-797: some TODOs

* GH-797: add the definitions for min hops and gas price.

* GH-797: remove the markdown code container
* GH-728: add the TODOs

* GH-728: removed the code of the NewPasswordMessage

* GH-728: use ConfigurationChangeMessage while changing password

* GH-728: rename configuration_change_msg_sub_opt to update_min_hops_sub_opt

* GH-728: rename new_password_subs to update_password_subs

* GH-728: fix wrong name for the actor message

* GH-728: send ConfigurationChangeMessage to other actors too

* GH-728: add a TODO

* GH-728: rename to _opt

* GH-728: implement handler for ConfigurationChange::UpdatePassword inside Neighborhood

* GH-728: add TODO to implement handler for ConfigurationChange::UpdatePassword inside BlockchainBridge

* GH-728: add TODO to implement handler for ConfigurationChange::UpdatePassword inside Accountant

* GH-728: create new struct for UpdatePasswordSubs

* GH-728: add the new TODO

* GH-728: send a ConfigurtionChangeMessage when the consuming wallet is generated

* GH-728: add a test for the panic case

* GH-728: some refactor changes in configurator.rs

* GH-728: test drive the case when the wallet is recovered

* GH-728: fix some of the tests

* GH-728: fix the remaining 2 failing tests

* GH-728: reorder fields

* GH-728: the received ConfigurationChangeMessage is properly handled

* GH-728: update the password when necessary

* GH-728: add a todo

* GH-728: add the ability to synchronise password

* GH-728: add ability for accountant to handle an unexpected configuration change msg

* GH-728: improve tests for handling ConfigurationChangeMessage in accountant

* GH-728: minor renames

* GH-728: remove finished TODO and formatting changes

* GH-728: add test in blockchain bridge for ConfigurationChangeMessage

* GH-728: add test in neighborhood for ConfigurationChangeMessage

* GH-728: remove useless tests

* GH-728: revive an old test

* GH-728: improve todo

* GH-728: test rename and add more TODOs

* GH-728: cleanup and creation of new file configuration_change_subs.rs

* GH-728: minor refactor and remove tests

* GH-728: introduce trait for ConfigurationChangesubs

* GH-728: refactor out the subs for UpdateWallets and UpdatePassword

* GH-728: some renames

* GH-728: add TODO and minor reordering

* GH-728: make the test the_password_is_synchronised_among_other_actors_when_modified stronger

* GH-728: add formatting changes

* GH-728: make enum usage more explicit

* GH-728: remove clippy warnings

* GH-728: do some renames

* GH-728: fix wrong rename and import

* GH-728: use peer actors for generating config change subs

* GH-728: recreate ConfigChangeSubs

* GH-728: remove config_change_subs.rs

* GH-728: test for ConfigChangeMsg in Accountant contain assertions

* GH-728: test for ConfigChangeMsg in Neighborhood contain assertions

* GH-728: test for ConfigChangeMsg in BlockchainBridge contain assertions

* GH-728: small rename

* GH-728: add context_id to fn

* GH-728: refactor the fn to transform associated functions to methods

* GH-728: minor fixes

* GH-728: add wallet_opt as a new argument in the begin_scan fn

* GH-728: remove the use of field consuming_wallet_opt from BlockchainBridge

* GH-728: remove the field consuming_wallet_opt from BlockchainBridge

* GH-728: don't send the ConfigChangeMsg to the BlockchainBridge

* GH-728: use the earning wallet in Receivable Scanner's begin_scan

* GH-728: don't save a reference of earning wallet inside Scanners

* GH-728: store the earning wallet directly without an Rc

* GH-728: fix the failing test

* GH-728: formatting changes

* GH-728: remove the earning wallet from ReceivableScannerBuilder

* GH-728: check wallet in the begin_scan() for ScannerMock

* GH-728: remove unnecessary TODO

* GH-728: formatting changes

* GH-728: fix the failing test

* GH-728: remove unused import in blockchain_interaction_test.rs

* GH-728: BlockchainBridge receives consuming_wallet instead of an Option<T>

* GH-728: Check consuming wallet before sending a msg to BlockchainBridge

* GH-728: remove Option<T> from the wallet_opt param in begin_scan fn

* GH-728: remove commented out code

* GH-728: modify AccountantBuilder to make it's field names contain opt

* GH-728: improve test mocks

* GH-728: introduce another URL for mumbai testnet

* GH-728: change the message in trace log

* GH-728: test drive the NoConsumingWallet Error

* GH-728: reordering

* GH-728: add better logging

* GH-728: Review 2 changes

* GH-728: Review 2 leftover changes

* GH-728: add better assertions for logger
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants