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

[Consensus] Add MinBlockTime to delay mempool reaping #924

Open
wants to merge 25 commits into
base: main
Choose a base branch
from

Commits on Jul 21, 2023

  1. [WIP] Add MinBlockTime

    red-0ne committed Jul 21, 2023
    Configuration menu
    Copy the full SHA
    8608bce View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2023

  1. Configuration menu
    Copy the full SHA
    4a25b62 View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2023

  1. Configuration menu
    Copy the full SHA
    1028ae9 View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2023

  1. address review comments

    red-0ne committed Jul 31, 2023
    Configuration menu
    Copy the full SHA
    a7fd743 View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2023

  1. [Docs] Update development docs to warn to not use the changelog hook (#…

    …923)
    
    Co-authored-by: Daniel Olshansky <[email protected]>
    2 people authored and red-0ne committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    867e841 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0d448c9 View commit details
    Browse the repository at this point in the history
  3. [Utility] Feat: add client-side session cache (#888)

    ## Description
    
    Add a client-side cache for sessions and use it in the `servicer`
    command.
    
    ## Issue
    
    Fixes #791
    
    ## Type of change
    
    Please mark the relevant option(s):
    
    - [x] New feature, functionality or library
    - [ ] Bug fix
    - [ ] Code health or cleanup
    - [ ] Major breaking change
    - [ ] Documentation
    - [ ] Other <!-- add details here if it a different type of change -->
    
    ## List of changes
    
    - A session cache in the client package
    - Use the new session cache in the servicer command
    
    ## Testing
    
    - [x] `make develop_test`; if any code changes were made
    - [x] `make test_e2e` on [k8s
    LocalNet](https://github.com/pokt-network/pocket/blob/main/build/localnet/README.md);
    if any code changes were made
    - [ ] `e2e-devnet-test` passes tests on
    [DevNet](https://pocketnetwork.notion.site/How-to-DevNet-ff1598f27efe44c09f34e2aa0051f0dd);
    if any code was changed
    - [ ] [Docker Compose
    LocalNet](https://github.com/pokt-network/pocket/blob/main/docs/development/README.md);
    if any major functionality was changed or introduced
    - [x] [k8s
    LocalNet](https://github.com/pokt-network/pocket/blob/main/build/localnet/README.md);
    if any infrastructure or configuration changes were made
    
    ## Required Checklist
    
    - [x] I have performed a self-review of my own code
    - [x] I have commented my code, particularly in hard-to-understand areas
    - [x] I have added, or updated, [`godoc` format
    comments](https://go.dev/blog/godoc) on touched members (see:
    [tip.golang.org/doc/comment](https://tip.golang.org/doc/comment))
    - [x] I have tested my changes using the available tooling
    
    ### If Applicable Checklist
    
    - [ ] I have updated the corresponding README(s); local and/or global
    - [x] I have added tests that prove my fix is effective or that my
    feature works
    - [ ] I have added, or updated,
    [mermaid.js](https://mermaid-js.github.io) diagrams in the corresponding
    README(s)
    - [ ] I have added, or updated, documentation and
    [mermaid.js](https://mermaid-js.github.io) diagrams in `shared/docs/*`
    if I updated `shared/*`README(s)
    
    ---------
    
    Co-authored-by: Daniel Olshansky <[email protected]>
    2 people authored and red-0ne committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    accccfc View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3165b8d View commit details
    Browse the repository at this point in the history
  5. [CLI] Consistent config/flag parsing & common helpers (#891)

    Co-authored-by: harry <[email protected]>
    Co-authored-by: Daniel Olshansky <[email protected]>
    3 people authored and red-0ne committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    990321e View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    21d7024 View commit details
    Browse the repository at this point in the history
  7. [IBC] Add ICS-02 Client Interfaces (#932)

    h5law authored and red-0ne committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    c67fa14 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    db8d8d6 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    74a5816 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    950ccc3 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    d3bf0ad View commit details
    Browse the repository at this point in the history
  12. [Utility] Create trustless_relay_validation.md (#938)

    ## Description
    
    Add diagrams to describe validations done on trustless relays. Part of
    work on #918
    
    ## Issue
    
    Fixes #918 
    
    ## Type of change
    
    Please mark the relevant option(s):
    
    - [ ] New feature, functionality or library
    - [ ] Bug fix
    - [ ] Code health or cleanup
    - [ ] Major breaking change
    - [X] Documentation
    - [ ] Other <!-- add details here if it a different type of change -->
    
    ## List of changes
    
    - Add a new markdown file to show trustless relay validations.
    
    ## Testing
    
    - [ ] `make develop_test`; if any code changes were made
    - [ ] `make test_e2e` on [k8s
    LocalNet](https://github.com/pokt-network/pocket/blob/main/build/localnet/README.md);
    if any code changes were made
    - [ ] `e2e-devnet-test` passes tests on
    [DevNet](https://pocketnetwork.notion.site/How-to-DevNet-ff1598f27efe44c09f34e2aa0051f0dd);
    if any code was changed
    - [ ] [Docker Compose
    LocalNet](https://github.com/pokt-network/pocket/blob/main/docs/development/README.md);
    if any major functionality was changed or introduced
    - [ ] [k8s
    LocalNet](https://github.com/pokt-network/pocket/blob/main/build/localnet/README.md);
    if any infrastructure or configuration changes were made
    
    ## Required Checklist
    
    - [x] I have performed a self-review of my own code
    - [ ] I have commented my code, particularly in hard-to-understand areas
    - [ ] I have added, or updated, [`godoc` format
    comments](https://go.dev/blog/godoc) on touched members (see:
    [tip.golang.org/doc/comment](https://tip.golang.org/doc/comment))
    - [ ] I have tested my changes using the available tooling
    - [ ] I have updated the corresponding CHANGELOG
    
    ### If Applicable Checklist
    
    - [ ] I have updated the corresponding README(s); local and/or global
    - [ ] I have added tests that prove my fix is effective or that my
    feature works
    - [ ] I have added, or updated,
    [mermaid.js](https://mermaid-js.github.io) diagrams in the corresponding
    README(s)
    - [ ] I have added, or updated, documentation and
    [mermaid.js](https://mermaid-js.github.io) diagrams in `shared/docs/*`
    if I updated `shared/*`README(s)
    adshmh authored and red-0ne committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    c903ca1 View commit details
    Browse the repository at this point in the history
  13. [Persistence] Adds atomic Update for TreeStore (#861)

    Co-authored-by: Daniel Olshansky <[email protected]>
    2 people authored and red-0ne committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    298b08f View commit details
    Browse the repository at this point in the history
  14. [chore] Replaces multierr usage with go native errors package (#939)

    Co-authored-by: Daniel Olshansky <[email protected]>
    2 people authored and red-0ne committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    a68af5c View commit details
    Browse the repository at this point in the history
  15. hack: 😴 sleep enough for cli debug subcommands to broadcast (#954)

    Co-authored-by: Daniel Olshansky <[email protected]>
    2 people authored and red-0ne committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    0941549 View commit details
    Browse the repository at this point in the history
  16. DevLog 12 (#957)

    DevLog12 (iteration 21) update.
    Olshansk authored and red-0ne committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    50f8846 View commit details
    Browse the repository at this point in the history
  17. [Utility] servicer signs relays (#952)

    ## Description
    
    This PR modifies servicer code to sign all the served relays. It also
    modified the servicer configuration to a) provide the required private
    key, and b) remove public key and address fields which are now driven
    from the private key.
    
    ## Issue
    
    Fixes #832 
    
    ## Type of change
    
    - [x] New feature, functionality or library
    - [ ] Bug fix
    - [ ] Code health or cleanup
    - [ ] Major breaking change
    - [ ] Documentation
    - [ ] Other <!-- add details here if it a different type of change -->
    
    ## List of changes
    
    - Updaed servicer config proto file.
    - Updated servicer module
    - Updated unit tests covering servicer module
    
    ## Testing
    
    - [x] `make develop_test`; if any code changes were made
    - [ ] `make test_e2e` on [k8s
    LocalNet](https://github.com/pokt-network/pocket/blob/main/build/localnet/README.md);
    if any code changes were made
    - [ ] `e2e-devnet-test` passes tests on
    [DevNet](https://pocketnetwork.notion.site/How-to-DevNet-ff1598f27efe44c09f34e2aa0051f0dd);
    if any code was changed
    - [ ] [Docker Compose
    LocalNet](https://github.com/pokt-network/pocket/blob/main/docs/development/README.md);
    if any major functionality was changed or introduced
    - [ ] [k8s
    LocalNet](https://github.com/pokt-network/pocket/blob/main/build/localnet/README.md);
    if any infrastructure or configuration changes were made
    
    ## Required Checklist
    
    - [x] I have performed a self-review of my own code
    - [x] I have commented my code, particularly in hard-to-understand areas
    - [x] I have added, or updated, [`godoc` format
    comments](https://go.dev/blog/godoc) on touched members (see:
    [tip.golang.org/doc/comment](https://tip.golang.org/doc/comment))
    - [x] I have tested my changes using the available tooling
    
    ### If Applicable Checklist
    
    - [ ] I have updated the corresponding README(s); local and/or global
    - [x] I have added tests that prove my fix is effective or that my
    feature works
    - [ ] I have added, or updated,
    [mermaid.js](https://mermaid-js.github.io) diagrams in the corresponding
    README(s)
    - [ ] I have added, or updated, documentation and
    [mermaid.js](https://mermaid-js.github.io) diagrams in `shared/docs/*`
    if I updated `shared/*`README(s)
    adshmh authored and red-0ne committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    e0e9fd4 View commit details
    Browse the repository at this point in the history
  18. [LocalNet] Fix metrics scraping (#940)

    ## Description
    
    Fixes metrics scraping on LocalNet.
    
    After quite a few changes to the LocalNet infrastructure, the metrics collection appeared broken on LocalNet.
    
    <!-- reviewpad:summarize:start -->
    ### Summary generated by Reviewpad on 26 Jul 23 21:58 UTC
    This pull request fixes the issue with metrics scraping on LocalNet. It updates the Tiltfile and statefulset.yaml files to add pod annotations for Prometheus scraping and specify the port for scraping.
    <!-- reviewpad:summarize:end -->
    
    ## List of changes
    
    - Changed `podAnnotations` helm chart value to always "quote" values in case they are not strings (K8s API expects strings only in annotations)
    - Added annotations necessary for scraping of exporter endpoints by Prometheus on LocalNet
    okdas authored and red-0ne committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    2a226cc View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    6c7599e View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2023

  1. Configuration menu
    Copy the full SHA
    92ece19 View commit details
    Browse the repository at this point in the history
  2. [E2E Test] Utilities for State Sync Test (#874)

    ## Description
    
    <!-- reviewpad:summarize:start -->
    ### Summary generated by Reviewpad on 03 Aug 23 20:11 UTC
    This pull request introduces several changes across multiple files. 
    
    Here is a summary of the changes:
    
    1. `go.mod`:
       - The `golang.org/x/text` dependency is now listed explicitly instead of being an indirect dependency.
    
    2. `scenario_test.go`:
       - Added a new feature called "State Sync Namespace" that includes various commands and waits for specific amounts of time.
       - Code improvements and TODO comments have been added.
    
    3. `FAQ.md`:
       - Updated an issue related to starting LocalNet with SELinux on an operating system. Replaced the command `make compose_and_watch` with `make lightweight_localnet` to avoid permission denied errors.
    
    4. `.gitignore`:
       - Removed the entry "main" from the list of ignored files.
       - Removed the entries "rpc/server.gen.go" and "rpc/client.gen.go" from the list of ignored files.
       - Added the entry "**/gomock_reflect_*/" to ignore mock temporary files.
    
    5. `e2e/README.md`:
       - Added a new section on `Keywords`.
       - Modified scenario descriptions and code examples to replace instances of "Validator" with "Node".
       - Included a flowchart depicting the E2E scenarios with updated terminology.
    
    6. Consensus module files:
       - Added a new logging statement in the `HandleDebugMessage` function.
       - Simplified the handling of the `DEBUG_CONSENSUS_RESET_TO_GENESIS` action.
    
    7. `.tiltignore`:
       - Removed the entry "main" from the list of ignored files.
       - Removed the entries "rpc/server.gen.go" and "rpc/client.gen.go" from the list of ignored files.
    
    8. `CHANGELOG.md`:
       - Updated build commands and added a new section on `Keywords`.
    
    9. `persistence/docs/CHANGELOG.md`:
       - Several changes related to deprecation, addition, and fixing of functions and issues.
    
    10. `validator.feature`:
        - Renamed file from "valdator.feature" to "validator.feature".
        - Updated scenario titles and step descriptions to use more descriptive terminology.
        - Replaced references to "validator" with "node".
    
    11. `tilt_helpers.go`:
        - Added a new file containing functions related to syncing network configuration and checking package installation.
    
    12. `debug.go`:
        - Added new debug commands and subcommands.
        - Updated existing functions and added new functions for debug actions.
        
    13. `account.feature`:
        - Added a new file containing scenarios for testing node account functionalities.
    
    14. `README.md` files:
        - Updated sections, titles, dependencies, and instructions in various README.md files.
    
    15. `build/config/README.md`:
        - Updated usage instructions, changing the command `make compose_and_watch` to `make lightweight_localnet`.
    
    16. `iteration_3_end_to_end_tx.md`:
        - Updated commands to start LocalNet and consensus debugger.
    
    17. Deleted files:
       - `validator.go`
       - `watch_build.sh`
    
    18. New files added:
       - `debug.feature`
       - `tilt_helpers.go`
       - `account.feature`
    
    Please let me know if you need more information about any specific change.
    <!-- reviewpad:summarize:end -->
    
    ## Issue
    
    Fixes par of #579
    
    ## Type of change
    
    Please mark the relevant option(s):
    
    - [x] New feature, functionality or library
    - [ ] Bug fix
    - [ ] Code health or cleanup
    - [ ] Major breaking change
    - [ ] Documentation
    - [ ] Other <!-- add details here if it a different type of change -->
    
    ## List of changes
    
    - `s/compose_and_watch/lightweight_localnet` and all related helpers
    - `s/validator/node` in e2e tests for clarity
    - Add fire-and-forget `Debug` CLI w/ several useful initial subcommands
    - Add `keywords` to the `e2e` document
    - Add an `e2e debug` test to trigger views and track the blockchain increasing
    - Avoid rebuilding the actors if the CLI changes
    - Small miscellaneous improvements & code cleanup
    
    ## Testing
    
    - [x] `make develop_test`; if any code changes were made
    - [ ] `make test_e2e` on [k8s LocalNet](https://github.com/pokt-network/pocket/blob/main/build/localnet/README.md); if any code changes were made
    - [ ] `e2e-devnet-test` passes tests on [DevNet](https://pocketnetwork.notion.site/How-to-DevNet-ff1598f27efe44c09f34e2aa0051f0dd); if any code was changed
    - [ ] [Docker Compose LocalNet](https://github.com/pokt-network/pocket/blob/main/docs/development/README.md); if any major functionality was changed or introduced
    - [ ] [k8s LocalNet](https://github.com/pokt-network/pocket/blob/main/build/localnet/README.md); if any infrastructure or configuration changes were made
    
    ## Required Checklist
    
    - [x] I have performed a self-review of my own code
    - [x] I have commented my code, particularly in hard-to-understand areas
    - [ ] I have added, or updated, [`godoc` format comments](https://go.dev/blog/godoc) on touched members (see: [tip.golang.org/doc/comment](https://tip.golang.org/doc/comment))
    - [ ] I have tested my changes using the available tooling
    - [ ] I have updated the corresponding CHANGELOG
    
    ### If Applicable Checklist
    
    - [x] I have updated the corresponding README(s); local and/or global
    - [x] I have added tests that prove my fix is effective or that my feature works
    - [ ] I have added, or updated, [mermaid.js](https://mermaid-js.github.io) diagrams in the corresponding README(s)
    - [ ] I have added, or updated, documentation and [mermaid.js](https://mermaid-js.github.io) diagrams in `shared/docs/*` if I updated `shared/*`README(s)
    
    ---
    
    Co-authored-by: d7t <[email protected]>
    2 people authored and red-0ne committed Aug 4, 2023
    Configuration menu
    Copy the full SHA
    fef4217 View commit details
    Browse the repository at this point in the history