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

Testnet 25 #4203

Merged
merged 82 commits into from
Jul 31, 2023
Merged

Testnet 25 #4203

merged 82 commits into from
Jul 31, 2023

Conversation

AurelienFT
Copy link
Contributor

  • document all added functions
  • try in sandbox /simulation/labnet
  • unit tests on the added/changed features
    • make tests compile
    • make tests pass
  • add logs allowing easy debugging in case the changes caused problems
  • if the API has changed, update the API specification

Thomas Plisson and others added 30 commits June 26, 2023 16:52
* Update interface impl for leo's changes

Depends on feature/Improve_ABI_types_in_wasmv1 branch for massa-sc-runtime and massa-proto-rs

Signed-off-by: Jean-François Morcillo <[email protected]>

Update target branch

Implemented the interface for my new ABIs

Added prefix to get_op_keys_wasmv1

Update target branch

Update in_downtime context value

Add some unit tests

Use helper function to get address

Added comments and deprecation notice

Target new runtime rev to have consistant proto-rs targets

Simplified a bit the prefix logic

Based on review comments

* Fix after rebase

---------

Co-authored-by: Jean-François Morcillo <[email protected]>
* fmt

* Update branch targeting

* Implement abis

* Update interface (clippy, implem some abis..)

* fmt

* Changed back branch targeting
Co-authored-by: Jean-François Morcillo <[email protected]>
* Implement unsafe_random_wasmv1

* Added doc comments and deprecation notes
damip and others added 29 commits July 24, 2023 15:04
* improve op propagation limit

* correct
* Remove cycle_info local hash

* Remove async_messages local hash

/!\ We probably need to update the protos too!

* Remove deferred_credits local hash

* fmt fix
* Add unban_everyone timer in config

* removed unused last_unban field

* Added unban protocol test

* Added comments

* Update unban behaviour

* Changed Unbanned peer status from Trusted to HandshakeFailed
* Use consistent instead of 'coherent' + improve versioning doc (#4198)

Co-authored-by: sydhds <[email protected]>

* update get_largest_stakers -> get_stakers

* update get_blocks and remove get_blocks_by_slots

* use from impl for BlockStatus

* fix get_blocks

* update get_datastore_entries

* update api.rs

* refactor: it compilezzzz

* refactor: enable non changed methods

* feat: add private service skeleton

* refactor: split public/private gRPC settings

* make get_blocks working

* update get_datastore_entries

* update get_stakers

* refactor: make private server operational

* feat: first private method add_staking_secret_keys

* feat: add sign messages

* update get_operations

* update get_operations (filter with op_type)

* build: update to latest protos

[skip_ci]

* update get_operations

* update get_sc_execution_events

* update get_sc_execution_events

* update massa-proto-rs (SlotDraw)

* feat: add ban/unban by ids

* update bootstrap white/black list and add ips to blacklist from grpc

* implement remove_from_bootstrap_blacklist for private grpc

* add_to_bootstrap_whitelist remove_from_bootstrap_whitelist

* improve selection system

* refactor: add uncomplete get_node_status

* refactor: add complete get_node_status

* refactor: add complete get_status

* update tests

* impl get_white_list && get_black_list in private grpc

* build: upgrade to latest proto NOT COMPILE

* update get_selector_draws

* Update massa client with public and private grpc api (#4227)

Co-authored-by: sydhds <[email protected]>

* fix write from api in bootstrap blacklist / whitelist

* Remove create KeyPair grpc api (#4233)

Co-authored-by: sydhds <[email protected]>

* fix: add missing field in SC event filter

* refactor: to_event_filter

* update streaming new_operations

* fix clippy lint

* refactor: new slot execution output

* update massa-proto and new_operations streaming

* refactor: remove KeyPair factory from api

* feat: add send_operations

* build: update massa-proto-rs

* refactor: add max args

* refactor: remove custom tokio runtime for JsonRPC

* refactor: add QueryState NOT COMPLETE

[skip_ci]

* refactor: add missing mappings

[skip_ci]

* feat: naive QueryState impl

* refactor: move mapping away from api

* fix: POS tests

* fix: POS selector boilerplate

* fix: dead links in readme

* Add fix disk size unbuntu

* feat: Native TLS is onboard

* refactor: grpc config

* feat: implement execute_read_only_call

* build: upgrade to jsonrpsee 0.19.0

* build: update to latest massa-proto-rs

* fix: first batch

* avoid clone list

* improve write to file (white/black list)

* fix: second batch

* fix: exec read only datastore deser

* refactor: add autogen Address

* build: upgrade to main

* update bom

Signed-off-by: Litchi Pi <[email protected]>

* build: upgrade massa-proto-rs + jsonrpsee

* Change version of massa-sc-runtime

Signed-off-by: Litchi Pi <[email protected]>

---------

Signed-off-by: Litchi Pi <[email protected]>
Co-authored-by: Sydhds <[email protected]>
Co-authored-by: sydhds <[email protected]>
Co-authored-by: modship <[email protected]>
Co-authored-by: Damir Vodenicarevic <[email protected]>
Co-authored-by: AurelienFT <[email protected]>
Co-authored-by: bors[bot] <26634292+bors[bot]@users.noreply.github.com>
Co-authored-by: Litchi Pi <[email protected]>
* debug block propag

* remove unexpected return in block retrieval
* Add max event size check

* Make const easier to read
* stop iteration if peer is disconnected

* split incoming connection and testers

* add nb thread from config

* set connection timer to 250ms

* Add timeouts on read / write operations of the socket

Signed-off-by: Litchi Pi <[email protected]>

* remove todo and add comment

* Annoucement is now Optional in PeerInfo

* update peernet

* check if peer is in connection queue before try connect

* wait cooldown before retry to connect to a peer

* Do not test peers if they are tested in another thread

Signed-off-by: Litchi Pi <[email protected]>

* Add peer tested in default case also

Signed-off-by: Litchi Pi <[email protected]>

* Add timeouts on read / write operations of the socket

Signed-off-by: Litchi Pi <[email protected]>

* re add option to annoucement in tester

* clippy

* remove split

* remove thread_incoming_connections_count from config

* don't connect to local addr

* remove dbg

* Add config for test of oldest peers cooldown

Signed-off-by: Litchi Pi <[email protected]>

* Add new option in base_config.toml

Signed-off-by: Litchi Pi <[email protected]>

* Add config for test

Signed-off-by: Litchi Pi <[email protected]>

* update peernet

* fix indentation

* remove print

* Implement peer priorization

Signed-off-by: Litchi Pi <[email protected]>

* fixup

Signed-off-by: Litchi Pi <[email protected]>

* Add tests for None values, comment tests, fixup

Signed-off-by: Litchi Pi <[email protected]>

* fixup order assumptions

Signed-off-by: Litchi Pi <[email protected]>

* Optimize algorithm

Signed-off-by: Litchi Pi <[email protected]>

* Lint

Signed-off-by: Litchi Pi <[email protected]>

* Add random pick in case of equality between peers

Signed-off-by: Litchi Pi <[email protected]>

* Add random priority field instead of picking it for each cmp

Signed-off-by: Litchi Pi <[email protected]>

* use RwLock of parking_lot instead of std

* Adapt for multiple listeners

Signed-off-by: Litchi Pi <[email protected]>

* Use mutable references instead of ownership for new_X functions

Signed-off-by: Litchi Pi <[email protected]>

* Rename functions of ConnectionMetadata

Signed-off-by: Litchi Pi <[email protected]>

* Update for test also

Signed-off-by: Litchi Pi <[email protected]>

* Improve writing of the entry manipulation

Signed-off-by: Litchi Pi <[email protected]>

* lint

Signed-off-by: Litchi Pi <[email protected]>

* Fixup

Signed-off-by: Litchi Pi <[email protected]>

* Fixup compilation errors on testing

Signed-off-by: Litchi Pi <[email protected]>

* Compute try_connect cooldown based on last connection attempt

Signed-off-by: Litchi Pi <[email protected]>

* apply clippy fixes

Signed-off-by: Litchi Pi <[email protected]>

* Rework peer connection slots computation, add test_failed and test_succeeded to priorization algo

Signed-off-by: Litchi Pi <[email protected]>

* Update massa-protocol-worker/src/connectivity.rs

Co-authored-by: Damir Vodenicarevic <[email protected]>

* clippy fix

Signed-off-by: Litchi Pi <[email protected]>

* format

Signed-off-by: Litchi Pi <[email protected]>

* clippy fix

Signed-off-by: Litchi Pi <[email protected]>

* Add saturation on slots substractions

Signed-off-by: Litchi Pi <[email protected]>

---------

Signed-off-by: Litchi Pi <[email protected]>
Co-authored-by: modship <[email protected]>
Co-authored-by: Damir Vodenicarevic <[email protected]>
* update consensus rule

* Fix tests for two thread scenarios

* update all scenarios

* fmt

---------

Co-authored-by: Leo-Besancon <[email protected]>
@damip damip merged commit 56b7cef into main Jul 31, 2023
9 checks passed
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.

10 participants