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

[move-compler] Added parser resilience for use declarations #18879

Merged
merged 6 commits into from
Aug 8, 2024

Conversation

awelc
Copy link
Contributor

@awelc awelc commented Aug 1, 2024

Description

This PR adds parsing resilience when parsing use declarations. The idea is to recognize partially parsed statements (examples below and also in the new test) to enable auto-completion in the IDE.

        use a::m2::
        use a::m2::{foo
        use a::m2::{foo, bar
        use a::{m2::{foo, bar
        use a::{m2::{foo, bar}, m3

Test plan

New and all tests must pass


Release notes

Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required.

For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates.

  • Protocol:
  • Nodes (Validators and Full nodes):
  • Indexer:
  • JSON-RPC:
  • GraphQL:
  • CLI: Additional compiler errors for incomplete name access chains (such as use some_pkg::some_module::) might appear in the compiler output.
  • Rust SDK:
  • REST API:

@awelc awelc requested review from cgswords and tnowacki August 1, 2024 01:40
@awelc awelc self-assigned this Aug 1, 2024
Copy link

vercel bot commented Aug 1, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
sui-docs ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 7, 2024 5:29pm
3 Skipped Deployments
Name Status Preview Comments Updated (UTC)
multisig-toolkit ⬜️ Ignored (Inspect) Visit Preview Aug 7, 2024 5:29pm
sui-kiosk ⬜️ Ignored (Inspect) Visit Preview Aug 7, 2024 5:29pm
sui-typescript-docs ⬜️ Ignored (Inspect) Visit Preview Aug 7, 2024 5:29pm

@@ -0,0 +1,49 @@
module a::m {
Copy link
Contributor

Choose a reason for hiding this comment

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

This should also have use_incomplete.ide and use_incomplete.ide.exp

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Excluding these was a conscious decision actually - because the use auto-completion for "regular" uses (and these are the only ones in this file) does not use AliasAutocompleteInfo at all, it felt like adding these would only generate unnecessary noise. I can certainly add them of course! Also, perhaps we should keep this test outside of ide_mode directory, but I still thought it's the best location for it

Copy link
Contributor

Choose a reason for hiding this comment

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

There are ways to avoid that, but it seems fine to just land without it since we're doing this for a different purpose.

Copy link
Contributor

@cgswords cgswords left a comment

Choose a reason for hiding this comment

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

LGTM. Two very small nits, but hopefully they will be easy changes to make and land. Also, CI is broken but I leave that up to you.

@awelc awelc force-pushed the aw/compiler-use-decl-parser-resilience branch from b9c04d6 to d38f8d2 Compare August 7, 2024 17:25
@awelc awelc merged commit 58fd1d1 into main Aug 8, 2024
47 of 48 checks passed
@awelc awelc deleted the aw/compiler-use-decl-parser-resilience branch August 8, 2024 01:00
carlosbmamoru added a commit to Mamoru-Foundation/sui that referenced this pull request Aug 13, 2024
commit 8832132a579150733d8cd210dd8f3d72320be08d
Merge: 4ec3953e3 1bf77fe12
Author: Carlos Baez <[email protected]>
Date:   Wed Aug 14 00:44:09 2024 +0200

    Merge tag 'testnet-v1.31.1' into testnet4-v1.31.1

    Sui testnet v1.33.1 release

commit 1bf77fe12ab932de55d2027cb0da5a7ecd054360
Author: Xun Li <[email protected]>
Date:   Mon Aug 12 12:55:12 2024 -0700

    Fix fullnode event resolution

commit 2cc5cea6d0bc6802d792291696a871a90cb5e9d4
Author: Eugene Boguslavsky <[email protected]>
Date:   Mon Aug 12 21:07:17 2024 +0000

    Sui v1.31.1 version bump

commit ea010a09195ad185230255ecf1b5c675146ffcf8
Author: Xun Li <[email protected]>
Date:   Mon Aug 12 09:12:35 2024 -0700

    [cherry-pick][denylist] Fix sign check early return (#18952)

    ## Description

    Describe the changes or additions included in this PR.

    ## Test plan

    How did you test the new or updated feature?

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 0de46e0c0ce3f22e2ff7f3001fccf6fdf1b1dd9e
Author: Eugene Boguslavsky <[email protected]>
Date:   Fri Aug 9 09:56:56 2024 +0100

    Sui v1.31.0 Bytecode Snapshot (#18933)

    ## Description
    Sui v1.31.0 Bytecode Snapshot

    ## Test plan
    👀

commit 3f4cab62afbf86870d37b187a6bfaabf4f33d30e
Author: Adam Welc <[email protected]>
Date:   Fri Aug 9 00:44:14 2024 +0100

    [move-ide] Added support for use-s auto-completion (#18924)

    ## Description

    This PR add support for `::` auto-completion for `use` statements. It is
    the last step towards finishing current level of `::` support started in
    https://github.com/MystenLabs/sui/pull/18778

    ## Test plan

    All new and existing test must pass

commit 3e6540f7b09d14fcb953d0497b44f87fb65a7e76
Author: phoenix <[email protected]>
Date:   Thu Aug 8 14:06:55 2024 -0500

    [data ingestion] for lagging secondary only update local progress state (#18927)

commit ba9495f13b3ee881fc13beeb727edaef5cead487
Author: William Smith <[email protected]>
Date:   Thu Aug 8 12:14:35 2024 -0400

    [snapshots] Add metric for number of local db checkpoints (#18926)

    ## Description

    Because we run snapshot upload and garbage collection as a background
    task but we perform rocksdb checkpointing at end of epoch
    unconditionally for configured nodes, any failure in either the upload
    or garbage collection path will lead to an accumulation of old db
    checkpoints, which will inevitably lead to disk filling and make things
    more difficult to debug.

    This PR adds a metric to periodically count the number of rocksdb
    checkpoints that exist on local disk. Except in rare cases (backfills),
    this number should generally be lower than 3, so we can add alerting on
    this for early intervention.

    ## Test plan

    👀

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 6f4864b78b87fc7be3774aab30e85307b2dad696
Author: shio-coder <[email protected]>
Date:   Thu Aug 8 02:14:16 2024 -0700

    Enable soft bundle on mainnet (#18876)

    ## Description

    This PR adds Protocol Version 54, where soft bundle will be enabled on
    mainnet.

    ## Test plan

    How did you test the new or updated feature?

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [x] Protocol:  Enable soft bundle on mainnet.
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 58fd1d1d2cadec6fb2cc6b85df61727db56a2ad2
Author: Adam Welc <[email protected]>
Date:   Thu Aug 8 02:00:29 2024 +0100

    [move-compler] Added parser resilience for use declarations (#18879)

    ## Description

    This PR adds parsing resilience when parsing use declarations. The idea
    is to recognize partially parsed statements (examples below and also in
    the new test) to enable auto-completion in the IDE.
    ```
            use a::m2::
            use a::m2::{foo
            use a::m2::{foo, bar
            use a::{m2::{foo, bar
            use a::{m2::{foo, bar}, m3
    ```

    ## Test plan

    New and all tests must pass

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [x] CLI: Additional compiler errors for incomplete name access chains
    (such as `use some_pkg::some_module::`) might appear in the compiler
    output.
    - [ ] Rust SDK:
    - [ ] REST API:

commit e4c9076d4f9a017aa0f64cb306e6bdeb639e57b0
Author: phoenix <[email protected]>
Date:   Wed Aug 7 12:13:11 2024 -0500

    [data ingestion] ensure current checkpoint watermark is greater or equal to pruning watermark… (#18922)

    this is required for setups that use colocation setups and have multiple
    processes/hosts that execute the same workflow with shared progress
    store

commit 5cb3a2e41ea878ae8bdb70be3c6072be23087723
Author: Anastasios Kichidis <[email protected]>
Date:   Wed Aug 7 17:32:25 2024 +0100

    [chore] disable flaky test (#18919)

    ## Description

    Temporary disabling until further tuned by @williampsmith

    ## Test plan

    CI

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit b1ebfff1ed0398c3263c8c62befa3877af2a566e
Author: Brandon Williams <[email protected]>
Date:   Wed Aug 7 14:37:17 2024 +0100

    serde_json: don't use the arbitrary_precision feature

commit af1588f0d3eb2aac1a04f23f35add9fd10184a9b
Author: phoenix <[email protected]>
Date:   Wed Aug 7 09:17:48 2024 -0500

    [data ingestion] decrease default queue length for remote reader (#18889)

    should decrease pressure on remote store. The parameter can be bumped
    manually for backfill jobs

commit 6bc8aeee2160c8a8065be343e0432f161d8c9c49
Author: Bridgerz <[email protected]>
Date:   Wed Aug 7 14:41:01 2024 +0100

    Eth Sync rework (#18604)

    ## Description

    Update Eth bridge indexer sync and live event subscription.

    ## Test plan

    Will include unit tests in a subsequent PR.

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:

    ---------

    Co-authored-by: Brandon Williams <[email protected]>

commit e8e6b492a66956ca43e099887e2e94204881cf65
Author: Eugene Boguslavsky <[email protected]>
Date:   Wed Aug 7 12:08:39 2024 +0100

    Fix suiop version and include in builds (#18914)

    ## Description
    Fix `suiop` version and include in builds

    ## Test plan
    👀

commit 1ce3dda3cadcb40a7ddcb8beef17a85769ca3d14
Author: Tim Zakian <[email protected]>
Date:   Wed Aug 7 09:49:20 2024 +0100

    [move] Fixes for enums in Move model + add support in docgen (#18907)

    ## Description

    Fixes some issues with enums in Move model creation, and adds support
    for enums in docgen, and adding doc comments to enum variants.

    ## Test plan

    Added a test for docgen with enums -- this tests both the bugfixes and
    also the generation of doc comments for enums.

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 98603adc68a6363b5dc6ee2fed07025a6282dd3e
Author: Eugene Boguslavsky <[email protected]>
Date:   Wed Aug 7 08:59:02 2024 +0100

    Revert #18910 (#18913)

    ## Description
    Revert #18910
    Unbreaking
    https://github.com/MystenLabs/sui-operations/actions/runs/10278960227/job/28445039800
    Will fix later

    ## Test plan
    👀

commit 4c36d71b9f5a199f0607df8913980578b52101d3
Author: Xun Li <[email protected]>
Date:   Wed Aug 7 06:51:36 2024 +0100

    Enable tx finalizer on mainnet (#18906)

    ## Description

    Describe the changes or additions included in this PR.

    ## Test plan

    How did you test the new or updated feature?

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 226103220755b27dd3798f0193629804e25ae52c
Author: Xun Li <[email protected]>
Date:   Wed Aug 7 06:27:54 2024 +0100

    Improve tx finalizer simtests (#18903)

    ## Description

    Introduce a timing config, and set the values differently for prod vs
    tests.
    This allows tests to run much more quickly.
    Re-enable the simtests in nightly.

    ## Test plan

    CI

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 191589271025c31a1a13f8f4cdd457986e845441
Author: Zhe Wu <[email protected]>
Date:   Tue Aug 6 19:36:59 2024 -0700

    Turn on shared object congestion control in mainnet (#18902)

    ## Description

    Says by the title. Going out in 1.3.1

    ## Test plan

    How did you test the new or updated feature?

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit e34d2b9005eacd220aa8fe08a322289d83e2775f
Author: sui-merge-bot[bot] <114704316+sui-merge-bot[bot]@users.noreply.github.com>
Date:   Tue Aug 6 17:58:40 2024 +0000

    Version Packages (#18874)

    This PR was opened by the [Changesets
    release](https://github.com/changesets/action) GitHub action. When
    you're ready to do a release, you can merge this and publish to npm
    yourself or [setup this action to publish
    automatically](https://github.com/changesets/action#with-publishing). If
    you're not ready to do a release yet, that's fine, whenever you add more
    changesets to main, this PR will be updated.

    # Releases
    ## @mysten/[email protected]

    ### Minor Changes

    -   05fb3ac: Update deepbook addresses

    ### Patch Changes

    -   Updated dependencies [0851b31]
    -   Updated dependencies [f37b3c2]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Minor Changes

    -   0851b31: Deprecate requestType option when executing transactions

    ### Patch Changes

    -   f37b3c2: Add PerEpochConfig and Cancelled to UnchangedSharedKind
    -   Updated dependencies [f37b3c2]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Minor Changes

    -   0851b31: Deprecate requestType option when executing transactions

    ### Patch Changes

    -   Updated dependencies [0851b31]
    -   Updated dependencies [f37b3c2]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   f37b3c2: Improve error message when bcs enum contains unknown value

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [0851b31]
    -   Updated dependencies [f37b3c2]
        -   @mysten/[email protected]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [0851b31]
    -   Updated dependencies [f37b3c2]
        -   @mysten/[email protected]
        -   @mysten/[email protected]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [0851b31]
    -   Updated dependencies [f37b3c2]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [0851b31]
    -   Updated dependencies [f37b3c2]
        -   @mysten/[email protected]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [0851b31]
    -   Updated dependencies [f37b3c2]
    -   Updated dependencies [f37b3c2]
        -   @mysten/[email protected]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [0851b31]
    -   Updated dependencies [f37b3c2]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [0851b31]
    -   Updated dependencies [f37b3c2]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [0851b31]
    -   Updated dependencies [f37b3c2]
    -   Updated dependencies [f37b3c2]
        -   @mysten/[email protected]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [0851b31]
    -   Updated dependencies [f37b3c2]
        -   @mysten/[email protected]
        -   @mysten/[email protected]

    Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

commit f37b3c21d90d1c5299f0f1bc94af0e4194e82094
Author: hayes-mysten <[email protected]>
Date:   Tue Aug 6 10:46:31 2024 -0700

    [ts sdk] Add PerEpochConfig and Cancelled to UnchangedSharedKind (#18909)

    ## Description

    Describe the changes or additions included in this PR.

    ## Test plan

    How did you test the new or updated feature?

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit aa54e5a46cbea799205256b9c1d282c8bd5fe137
Author: pei-mysten <[email protected]>
Date:   Tue Aug 6 05:16:21 2024 -0700

    [suiop] add to internal binaries release list (#18910)

    ## Description

    [suiop] add to internal binaries release list

commit ce145026587eacce9dfe3a56b45c5f09eac5029a
Author: Cam Swords <[email protected]>
Date:   Tue Aug 6 04:01:21 2024 -0700

    [move][move-2024] Fix a small bug in how match was handled in parsing (#18880)

    ## Description

    This adds `Tok::Match` to the `at_start_of_exp` check in the parser

    ## Test plan

    Added tests that failed before the fix.

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 429e1260b5a8b9a62b7bb62e81dbc829faa5464e
Author: stefan-mysten <[email protected]>
Date:   Tue Aug 6 01:48:38 2024 -0700

    [chorse] Update `time` crate to a newer version to avoid compilation errors (#18904)

    ## Description

    Update `time` crate to a newer version to avoid compilation errors

    ## Test plan

    How did you test the new or updated feature?

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit d9dc6ca01e8700d964f45482bf18f863b4fc85fb
Author: mwtian <[email protected]>
Date:   Fri Aug 2 10:11:20 2024 -0700

    [Consensus] update a few parameters (#18891)

    ## Description

    - With consensus latency consistently < 1s under max TPS, the consensus
    adapter limit can be significantly reduced even to support high TPS.
    - Reduce # of transactions that can be included in a block.

    ## Test plan

    Private Testnet

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit aae147c62850b7d39f1af487ca32a70614e668de
Author: Andrew Schran <[email protected]>
Date:   Fri Aug 2 10:26:51 2024 -0400

    Enable random beacon on mainnet (#18888)

    ## Description

    Enables the native randomness (random beacon) feature on sui mainnet.

    ## Test plan

    Extensive manual and automated testing.

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [x] Protocol: Enables the native randomness (random beacon) feature on
    Sui Mainnet.
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 0d765401a13b79ebfd49e403efe36e711a0b216a
Author: jk jensen <[email protected]>
Date:   Fri Aug 2 08:33:55 2024 -0400

    [suiop] add aliases for image building (#18819)

    ## Description

    make it a bit easier to use

    ## Test plan

    works

    ```bash
    » suiop ci image list --repo sui-operations --image test
    Requested list for repo: sui-operations
    ╭──────┬──────╮
    │ name │ tags │
    ├──────┼──────┤
    ```

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 9702dfb58a123664b38c519cb2fde875ca92fb5b
Author: Adam Welc <[email protected]>
Date:   Thu Aug 1 15:03:59 2024 -0700

    [move-ide] Added support for name chain completions in attributes (#18866)

    ## Description

    This PR adds support for handling name access chains in attributes. The
    goal here is NOT to add more general support smart auto-completion for
    attributes, though we can potentially do a lot of interesting things
    there. Instead, the focus here is to finish `::` auto-completion started
    in https://github.com/MystenLabs/sui/pull/18778

    ## Test plan

    All new and old tests must pass

commit 7efc10bd802040003532f310d475fb49849d55e0
Author: wlmyng <[email protected]>
Date:   Thu Aug 1 13:10:01 2024 -0700

    Fix e2e test hanging on local runs (#18887)

    ## Description

    When running `cargo nextest run --test-threads 1 --package
    sui-graphql-rpc --test e2e_tests --test examples_validation_tests
    --features pg_integration` locally, these tests will hang on the first
    one. Explicitly sending a cancellation signal and waiting for the
    indexer and graphql handles to spin down seems to solve the issue.

    Would be nice to run these in parallel too, but punting them for when we
    have an embedded db setup.

    ## Test plan

    Tests pass locally

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 8c453183740d482c5b035e10f90134f011aadd55
Author: Andrew Schran <[email protected]>
Date:   Thu Aug 1 15:52:04 2024 -0400

    Add long-epoch, rolling restart simtest (#18875)

    ## Description

    This reproduces prior bugs with random beacon.

    ## Test plan

    Manual repro testing on old commits.

commit 05fb3aca05accd6dd96d1088036bfed557fde056
Author: Tony Lee <[email protected]>
Date:   Thu Aug 1 20:26:16 2024 +0100

    SDK Updates (#18871)

commit af9a3574e00a4cf396c889b3254422447d365121
Author: ronny-mysten <[email protected]>
Date:   Thu Aug 1 13:09:57 2024 -0600

    [docs] DeepBook SDK (#18815)

    ## Description

    Adds DeepBook SDK.

    ## Test plan

    How did you test the new or updated feature?

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 8599d66ceb8666da15af0200ff63f0058fcfc4af
Author: phoenix <[email protected]>
Date:   Thu Aug 1 13:04:34 2024 -0500

    [data ingestion] update internal state of progress store wrapper (#18883)

    always update internal state of progress store wrapper. It should speed
    up cleaning up local files in case if the host is slow secondary

commit 83863f2c4aba802ab2b102fe3fa19362cbaa320d
Author: Brandon Williams <[email protected]>
Date:   Thu Aug 1 11:59:04 2024 -0500

    rocksdb: reintroduce workspace-hack scoped to typed-store

    Reintroduce a workspace-hack package (`typed-store-workspace-hack`) in
    order to perform feature unification specifically for the third-party
    dependencies which impact the building of rocksdb, the heaviest weight
    dependency we currently have.

    After this patch, no matter where in the workspace you perform a build,
    rocksdb will only be built a single time.

    For now the `typed-store-workspace-hack` package is manually maintained
    and was created with assistance from `cargo hakari` and `cargo tree`.

commit 2a25217f7b62210edb962e0e76ebb2d371c3af11
Author: Brandon Williams <[email protected]>
Date:   Thu Aug 1 10:25:50 2024 -0500

    rocksdb: access rocksdb through typed-store

    This patch does some dependency shuffling to force accessing the rocksdb
    crate via the typed-store crate in order to try and limit how and when
    librocksdb-sys is built.

    Before this patch, when building all targets, librocksdb-sys was
    included in the dependency graph and built twice (with a total of 2005
    targets). After this patch librocksdb-sys is included only a single time
    in the dependency graph and reduces the number of built targets to 1959.

commit d3c7e0e09abb112dae21691d67faba73943a4b09
Author: Brandon Williams <[email protected]>
Date:   Thu Aug 1 10:02:13 2024 -0500

    narwhal: manually build grpc interface

    Manually build grpc interface instead of leveraging protoc in order to
    eliminate needing to build the expensive protoc compiler.

commit 44150d4d4786743e0799c6cafd19169d737b90ee
Author: mamos-mysten <[email protected]>
Date:   Thu Aug 1 09:48:34 2024 -0700

    [wallet-ext]: fix: hidden assets button (#18884)

    ## Description

    Fixes appearance of hide assets button in the wallet extension

    ## Test plan

    How did you test the new or updated feature?

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit b4f6f3cfd0e600b6db6b153692e633bcf25ec877
Author: stefan-mysten <[email protected]>
Date:   Thu Aug 1 08:03:31 2024 -0700

    [Rust SDK] Handle unwrap in wallet context (#18882)

    ## Description

    Handle unwrap in wallet context

    ## Test plan

    How did you test the new or updated feature?

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit e1540fde9d40af20f67f63fade2b0670f9da8958
Author: plam-ml <[email protected]>
Date:   Thu Aug 1 06:32:47 2024 -0700

    add blank and rel (#18881)

    ## Description

    - Add target and rel

    ## Test plan

    How did you test the new or updated feature?

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 1df30b2af1868153dad77fba3a2a43f297bc46a6
Author: devan-ko <[email protected]>
Date:   Thu Aug 1 20:30:05 2024 +0900

    feat: enable ambrus aws cognito as zklogin provider (#18867)

commit b5ca0ebe9d702ff5b5b17bb17663cc9f20a840c5
Author: Anastasios Kichidis <[email protected]>
Date:   Thu Aug 1 10:55:00 2024 +0100

    [Consensus] refactored data remover for store pruning (#18839)

    ## Description

    This PR refactors the store pruning for the consensus db. The following
    have been done:

    * renamed component from `EpochDataRemover` to `ConsensusStorePruner` as
    it's more accurate and easier to locate
    * use the `safe_drop_db` method to ensure more safety/robustness against
    deletions
    * added node configuration for the consensus db epoch retention and run
    interval
    * made the component attempt to prune old epoch dbs not only during
    epoch change but periodically as well (configurable) to ensure that
    there is a retry approach in case of transient failures enhancing the
    robustness.
    * more testing

    ## Test plan

    CI/private-testnet

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 32347c20c248f6691c6ab89ba53266e2f677ed9b
Author: mwtian <[email protected]>
Date:   Wed Jul 31 22:54:28 2024 -0700

    [rocksdb] increase write stopping threshold for L0 files (#18872)

    ## Description

    Currently for column families with high write rate, write stalling and
    stopping can happen after there are 24 pending L0 files, for example in
    consensus DB during consensus catchup. This hurts the throughput
    significantly and reduces the stability of the system. The # of L0 files
    to compact is reduced back to the default (4), to speed up L0
    compactions. Also, for DB that optimizes for write throughput, the
    thresholds to stall and stop writes are further increased.

    Logs observed from one validator:
    ```
    2024/07/31-03:59:57.695047 2702658 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 24 level-0 files rate 16777216
    2024/07/31-04:00:13.393421 2702607 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 24 level-0 files rate 13421772
    2024/07/31-04:00:13.393593 2702607 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 24 level-0 files rate 10737417
    2024/07/31-04:00:14.418687 2702901 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 25 level-0 files rate 8589933
    2024/07/31-04:00:43.754068 2702656 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 25 level-0 files rate 10737416
    2024/07/31-04:00:52.471606 2702597 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 25 level-0 files rate 8589932
    2024/07/31-04:00:52.471784 2702597 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 25 level-0 files rate 9620723
    2024/07/31-04:00:53.677837 2702901 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 26 level-0 files rate 7696578
    2024/07/31-04:01:26.237337 2702597 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 26 level-0 files rate 8620167
    2024/07/31-04:01:26.237494 2702597 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 26 level-0 files rate 6896133
    2024/07/31-04:01:27.389744 2702901 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 27 level-0 files rate 5516906
    2024/07/31-04:02:21.401986 2702597 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 27 level-0 files rate 4413524
    2024/07/31-04:02:21.402179 2702597 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 27 level-0 files rate 3530819
    2024/07/31-04:02:22.441728 2702901 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 28 level-0 files rate 2118491
    2024/07/31-04:03:18.346778 2702614 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 28 level-0 files rate 10066329
    2024/07/31-04:03:18.346980 2702614 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 28 level-0 files rate 6039797
    2024/07/31-04:03:19.198853 2702901 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 29 level-0 files rate 3623878
    ```

    There is no logs for stopping writes at 30 level-0 files.

    ## Test plan

    CI. Private testnet.

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 5a0febd2d09cc6a9a42236577e6238ef02bf21e0
Author: Tom Cat <[email protected]>
Date:   Thu Aug 1 03:55:21 2024 +0700

    [Linter] Warn against freezing a type T with a capability-like name (ends in Cap or Capability) and capability-like usage (one or more functions gated with &T inside the package that declares T) (#17273)

    ## Description
    The lint identifies function calls that may incorrectly freeze such
    types, which can lead to design issues.
    Key Features:

    1. Checks for specific freezing functions defined in constants.
    2. Uses regex to identify capability-like type names.
    3. Reports warnings for potential misuse of freezing on capability-like
    types.

    Implementation Details:

    The lint focuses on public_freeze and freeze functions in the
    sui::transfer module.
    It uses a regex pattern to match type names ending with "Cap",
    "Capability", or similar variations.
    When a match is found, it reports a warning with a custom diagnostic
    message.

    # Test plan
    Added more use case including false positive, false negative case

    ## Release notes

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [X] CLI: Move will now lint against freezing a potential capability object
    - [ ] Rust SDK:

    ---------

    Co-authored-by: jamedzung <[email protected]>
    Co-authored-by: Todd Nowacki <[email protected]>

commit 801989d439b052fee233c6291fd6162ef1be4936
Author: Tom Cat <[email protected]>
Date:   Thu Aug 1 01:37:39 2024 +0700

    [Linter] Missing key (#16616)

    ## Description
    Adds a new linter rule targeting structs that have an 'id' field of type
    'UID' but lack the 'key' ability.
    Key features of this linter:

    - Identifies structs with an 'id' field of type 'UID'.
    - Checks if these structs have the 'key' ability.
    - Issues a warning if the 'key' ability is missing.

    The linter specifically looks for structs that represent Sui objects.
    These are identified by: `has_id_field_of_type_uid`. This function
    checks for a field named "id" of type `sui::object::UID`

    ## Test plan
    Added more use case including false positive, false negative case

    ## Release notes

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [X] CLI:  A new Move lint will warn when a struct has a `id: UID` field, but lacks the `key` ability
    - [ ] Rust SDK:

    ---------

    Co-authored-by: jamedzung <[email protected]>
    Co-authored-by: Todd Nowacki <[email protected]>

commit 0851b31567e87b4d009fbe832cb09f45a43fabdd
Author: hayes-mysten <[email protected]>
Date:   Wed Jul 31 10:41:18 2024 -0700

    [sdk] deprecate requestType option in SDK (#18854)

    ## Description

    Describe the changes or additions included in this PR.

    ## Test plan

    How did you test the new or updated feature?

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit c9a6d67e47ab5deab86639f8620a981d9e767033
Author: Brandon Williams <[email protected]>
Date:   Wed Jul 31 11:26:39 2024 -0500

    jsonrpc: use ExecuteTransactionRequestV3 when executing a transaction

    This patch deprecates the `WaitForLocalExecution` request type that was
    previously relied upon to calculate object and balance changes. Instead
    the new `ExecuteTransactionRequestV3` functionality is used to request
    output object data directly from the validators so that we no longer
    need to rely on waiting for local execution.

    The `WaitForLocalExecution` feature still exists and will still properly
    wait to return a response to a client until after the transaction is
    executed locally in order to retain the Read-after-Write semantics that
    some clients may presently rely on.

commit be249a05b5b3cdc6d0bbc1d149a4ea79cba9e5eb
Author: Patrick Kuo <[email protected]>
Date:   Wed Jul 31 16:50:30 2024 +0100

    [bridge indexer] - indexer refactoring (#18761)

    ## Description

    Describe the changes or additions included in this PR.

    ## Test plan

    How did you test the new or updated feature?

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

    ---------

    Co-authored-by: Lu Zhang <[email protected]>

commit e8ca7ad1ec873307e55b5f65faeed48b107e48d9
Author: Brandon Williams <[email protected]>
Date:   Mon Jul 29 15:33:58 2024 -0500

    rest: implement client with support for all existing endpoints

commit c1b1e1e74c82b950e8d531f1b84c605d1ea957ca
Author: sui-merge-bot[bot] <114704316+sui-merge-bot[bot]@users.noreply.github.com>
Date:   Tue Jul 30 17:26:38 2024 -0700

    Version Packages (#18865)

    This PR was opened by the [Changesets
    release](https://github.com/changesets/action) GitHub action. When
    you're ready to do a release, you can merge this and publish to npm
    yourself or [setup this action to publish
    automatically](https://github.com/changesets/action#with-publishing). If
    you're not ready to do a release yet, that's fine, whenever you add more
    changesets to main, this PR will be updated.

    # Releases
    ## @mysten/[email protected]

    ### Minor Changes

    -   4419234: Add setGasBudgetIfNotSet helper to Transaction class

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [4419234]
        -   @mysten/[email protected]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [4419234]
        -   @mysten/[email protected]
        -   @mysten/[email protected]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [4419234]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [4419234]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [4419234]
        -   @mysten/[email protected]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [4419234]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [4419234]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [4419234]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [4419234]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [4419234]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [4419234]
        -   @mysten/[email protected]
        -   @mysten/[email protected]

    Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

commit 0148d85f3b4a0d3bb7ea880c33825cef7fa9dfbe
Author: Adam Welc <[email protected]>
Date:   Tue Jul 30 17:08:01 2024 -0700

    [move-ide] Added smart auto-completion for colon-colon (#18778)

    ## Description

    Currently, this PR implements most of functionality for `::`
    auto-completion when the cursor is on one of the identifiers in the name
    access chains.

    There are some missing parts here, arguably better split to separate
    PRs:
    - handling of access chains in attributes
    - handling of access chainss in `use` statements

    Also, this PR actually removes `:` completion (auto-completion start
    when typing the first character after `:`) which is consistent with what
    rust-analyzer does. While we can implement auto-completion right after
    `:`, the question is whether we should

    ## Test plan

    All new and old tests must pass

commit b7b2a760cc7597e481a757fd5e9d4a32df25e166
Author: John Martin <[email protected]>
Date:   Tue Jul 30 15:40:18 2024 -0700

    [docs] update snapshot docs based off operator feedback (#18855)

    ## Description

    Got some feedback from a validator operator that the docs were a bit
    confusing, attempting to improve them.

    ---------

    Co-authored-by: ronny-mysten <[email protected]>

commit 82a0a27f95022ffa8c9efa0546410c6ed13d6ed2
Author: shio-coder <[email protected]>
Date:   Tue Jul 30 15:16:44 2024 -0700

    Soft bundle basic observability (#18807)

    ## Description

    The PR adds several metrics and logging to Soft Bundle.

    A node operator will have the ability to understand what bundles are
    submitted, as well as the content.

    This can be particularly useful when tracing down a transaction.

    ## Test plan

    How did you test the new or updated feature?

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 4419234c8a77a1e22b10b1de0e4c2ed1d8b435ed
Author: Tony Lee <[email protected]>
Date:   Tue Jul 30 23:04:21 2024 +0100

    Deepbook SDK (#18610)

commit 3053ad99496f832d5a13ff51b33be55f3e359052
Author: Ashok Menon <[email protected]>
Date:   Tue Jul 30 21:18:12 2024 +0100

    [main][GraphQL] Fix pruning compatibility issues (#18862)

    ## Description

    Two further fixes to get GraphQL working with pruned databases.

    Cherry-pick of #18860 **into main**.

    ## Test plan

    Tested by deploying this version of the service against a pruned DB, and
    ensuring the following query executed successfully:

    ```graphql
    query {
      chainIdentifier
      protocolConfig(protocolVersion: 10) {
        featureFlags {
          key
          value
        }
      }
    }
    ```

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [x] GraphQL: Adds support for running GraphQL against a pruned version
    of the service.
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit de9d14fa86b1c8c2b450458e5f4aad37fd00b362
Author: Lu Zhang <[email protected]>
Date:   Tue Jul 30 12:54:59 2024 -0700

    introduce MeteredEthHttpProvider that meters rpc usage (#18833)

    ## Description

    `MeteredEthHttpProvider` counts every eth rpc query and its latency.
    This will be useful to track the eth rpc usage.

    ## Test plan

    unit tests

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit b3f67dfbd1b367bdb3763add1cdf838af7b92acf
Author: Lu Zhang <[email protected]>
Date:   Tue Jul 30 12:53:52 2024 -0700

    [bridge] move add new coin's handling to monitor (#18831)

    ## Description

    Today, when receiving an `AddNewToken` event, orchestrator updates the
    sui type tags map and send to the watch channel that action execution
    watches. In this PR, we consolidate the handling of this event with the
    newly added monitor module. In the new approach, orchestrator sends the
    event to monitor, instead of handling it in place. Also the type tag
    maps is stored in a `ArcSwap` to allow monitor to change it. Hence we
    get rid of the watch channel.

    ## Test plan

    Added unit tests.

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 447707c01284f450a97817bb6d9735bc5ad8ba28
Author: plam-ml <[email protected]>
Date:   Tue Jul 30 12:33:25 2024 -0700

    update promo setup (#18858)

    ## Description

    - Rounded corners in apps list
    - Bake in centering and padding for interstitial

    ![Screenshot 2024-07-30 at 8 37
    13 AM](https://github.com/user-attachments/assets/b3cd8f9b-a615-4abc-a49b-db072054b059)

    ![Screenshot 2024-07-30 at 10 53
    57 AM](https://github.com/user-attachments/assets/e7e11c05-f8f7-4455-b491-d63f89b910e6)

    ## Test plan

    How did you test the new or updated feature?

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 8d68ee64149d2b8adf2b0b4f069b6e80c39021f4
Author: Lu Zhang <[email protected]>
Date:   Tue Jul 30 12:06:06 2024 -0700

    allow custom validator num in bridge tests (#18835)

    ## Description

    As title, this will make some e2e tests easier to write.
    It's worth noting that surprisingly this does not help with fullnode
    sync up speed in the test, which is the main source of slowness in
    bridge e2e tests.

    ## Test plan

    existing tests

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 6140ef850f4caad3a852d265cdc324c4cac4721a
Author: Lu Zhang <[email protected]>
Date:   Tue Jul 30 11:58:09 2024 -0700

    [bridge] do not submit tx to sui if paused (#18828)

    ## Description

    in `ActionExecutor`, use `bridge_pause_rx` to decide whether to submit
    tx to Sui.

    ## Test plan

    new unit test

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 129f420e3114e132a1b4acbd47a422ddf0edd8f0
Author: Andrew Schran <[email protected]>
Date:   Tue Jul 30 12:53:18 2024 -0400

    revert ci test log output back to default (#18859)

commit 0e3903dd6176f441f39ce88c0af7db298a188383
Author: Brandon Williams <[email protected]>
Date:   Tue Jul 30 10:45:25 2024 -0500

    simtest: fix config-patch

commit 75a729d5ad901b9776d34ca985eab8f6a5a435db
Author: mwtian <[email protected]>
Date:   Tue Jul 30 08:00:01 2024 -0700

    Remove wait timeout from LazyMysticetiClient (#18853)

    ## Description

    Getting a consensus client only fails when the validator has not
    finished initializing consensus. This issue can and should be detected
    inside consensus instead of through client.

    Also, clear consensus client at the end of epochs.

    ## Test plan

    CI

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 33c65ab633d3dee3144bb7d2a3450835d406a348
Author: Emma Zhong <[email protected]>
Date:   Tue Jul 30 05:48:31 2024 -0700

    [gql][indexer] index chain identifier into its own table (#18825)

    ## Description

    This PR puts chain identifier into its own table so that queries of
    chain identifier does not depend on the existence of checkpoint 0 in the
    db, which may be pruned away.

    ## Test plan

    Tested against devnet locally and added a gql e2e test.

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [x] GraphQL: Added a way to always have `chainIdentifier` query return
    the correct chain ID even when pruning is enabled.
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

    ---------

    Co-authored-by: stefan-mysten <[email protected]>
    Co-authored-by: Ashok Menon <[email protected]>

commit 5056e4f192f6b57f2ed507a6a292a0d85c66a47b
Author: Rijnard van Tonder <[email protected]>
Date:   Tue Jul 30 09:09:47 2024 +0200

    docs: update outdated mention on Move.toml (#18837)

    ## Description

    Outdated doc mention as of address management:

    > The publish process replaces the `0x0` address with an actual on-chain
    address.

    ## Test plan

    N/A

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 17454e6449157be9abb208e35e42403b04831bed
Author: veth <[email protected]>
Date:   Tue Jul 30 12:12:45 2024 +0800

    chore: fix some comments (#17992)

    ## Description

     fix some comments
    ## Test plan

    No need.

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:

    Signed-off-by: VitalikButerinEth <[email protected]>

commit 90809ef227f9848df8597292f761d08e89a29c39
Author: plam-ml <[email protected]>
Date:   Mon Jul 29 16:03:21 2024 -0700

    update wallet connect logo (#18821)

    ## Description

    https://linear.app/mysten-labs/issue/APPS-65/update-wallet-logo

    ![Screenshot 2024-07-26 at 1 09
    36 PM](https://github.com/user-attachments/assets/47fc5d1d-1b20-4be4-8406-2c875fff70b3)

    ## Test plan

    How did you test the new or updated feature?

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 14f02fb4f322a0247f13922ffa00de1c932f49c1
Author: Todd Nowacki <[email protected]>
Date:   Mon Jul 29 15:19:03 2024 -0700

    [move] Mark sui::math as deprecated (#18849)

    ## Description

    - Adds the `deprecated` annotation to `sui::math`

    ## Test plan

    - Ran tests

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [X] CLI: The Move module `sui::math` has been deprecated. The
    individual integer modules, e.g. `std::u64`, should be used instead.
    - [ ] Rust SDK:
    - [ ] REST API:

commit 982024ab1793c98c87330b1dc50d737141494479
Author: Mark Logan <[email protected]>
Date:   Mon Jul 29 15:05:18 2024 -0700

    Fix edge-case in assert which can be triggered from jsonrpc (#18843)

    See comments in code for explanation.

    I haven't been able to repro this in a test, but I'm pretty confident
    about the source of the bug.

commit 0512a87dfac161044b2833878e2ad0a7a8103583
Author: Todd Nowacki <[email protected]>
Date:   Mon Jul 29 11:09:05 2024 -0700

    [move] fixed find_index (#18842)

    ## Description

    - Fixed find_index not being by-ref

    ## Test plan

    - new tests that force no `copy` possible

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 9edb72257d9a54cc84a6d3fd2b26cc28fb579338
Author: Joy Wang <[email protected]>
Date:   Mon Jul 29 12:37:28 2024 -0400

    fix: handle nondeterminism in test (#18841)

    ## Description

    my guess is the modified signature byte is already 0 and does not need
    modification. fix here is to deterministically flip the byte.
    ## Test plan

    How did you test the new or updated feature?

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit eb55624e7a5decda7f4946fe86d2b96b3aed6fb1
Author: Todd Nowacki <[email protected]>
Date:   Sun Jul 28 13:56:41 2024 -0700

    [move] Copy Sui's Move stdlib into external-crates. Bump the default package version to 2024 beta.  (#18827)

    ## Description

    - Copied Sui's stdlib over to external-crates
    - Changed the default edition for package-less files in the compiler to
    2024 beta.

    ## Test plan

    - Ran tests, updated where necessary

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 25017335f15a4b5bda591b78364faf50d1ffe40a
Author: Rijnard van Tonder <[email protected]>
Date:   Fri Jul 26 17:33:14 2024 -0700

    move: dump-bytecode-as-base64 uses Move.lock addresses (#18794)

    ## Description

    `sui move build` does not ordinarily require a network connection
    because it doesn't need to know about a chain's ID. The exception is
    when `--dump-bytecode-as-base64` is specified: In this case, we should
    resolve the correct addresses for the respective chain (e.g., testnet,
    mainnet) from the `Move.lock` under automated address management.

    Two options to fix `sui move build --dump-bytecode-as-base64` to work
    with automated addresses / by resolving from the `Move.lock`:

    1. Require an extra `--chain-id` flag on `sui move build`, which a user
    must specify along with `--dump-bytecode-as-base64`. E.g.,
    ```
    sui move build --dump-bytecode-as-base64 --chain-id "$(sui client chain-identifier)"
    ```

    OR

    2. Require a network connection _only when_ `--dump-bytecode-as-base64`
    is set and and resolve the chain-id without requiring a flag.

    This PR opts for **(2)**, but it is trivial to change the implementation
    and test to do **(1)** instead. **(1)** should come with an accompanying
    doc change though.

    Context: encountered when running, e.g.,

    ```
    execSync(`${SUI} move build --dump-bytecode-as-base64 --path ${packagePath}`
    ```

    ## Test plan

    Added test

    ---

    ## Release notes

    Check each box that your changes affect. If none of the boxes relate to
    your changes, release notes aren't required.

    For each box you select, include information after the relevant heading
    that describes the impact of your changes that a user might notice and
    any actions they must take to implement updates.

    - [ ] Protocol:
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [x] CLI: Fixed an issue where `--dump-bytecode-as-base64` did not work
    as expected if [package addresses are automatically
    managed](https://docs.sui.io/concepts/sui-move-concepts/packages/automated-address-management#adopting-automated-address-management-for-published-packages).
    - [ ] Rust SDK:
    - [ ] REST API:

commit db844c3aeaf4378eeb003177c0d3973145608051
Author: Joe Hrbek <[email protected]>
Date:   Fri Jul 26 17:28:31 2024…
suiwombat pushed a commit that referenced this pull request Sep 16, 2024
## Description 

This PR adds parsing resilience when parsing use declarations. The idea
is to recognize partially parsed statements (examples below and also in
the new test) to enable auto-completion in the IDE.
```
        use a::m2::
        use a::m2::{foo
        use a::m2::{foo, bar
        use a::{m2::{foo, bar
        use a::{m2::{foo, bar}, m3
```

## Test plan 

New and all tests must pass

---

## Release notes

Check each box that your changes affect. If none of the boxes relate to
your changes, release notes aren't required.

For each box you select, include information after the relevant heading
that describes the impact of your changes that a user might notice and
any actions they must take to implement updates.

- [ ] Protocol: 
- [ ] Nodes (Validators and Full nodes): 
- [ ] Indexer: 
- [ ] JSON-RPC: 
- [ ] GraphQL: 
- [x] CLI: Additional compiler errors for incomplete name access chains
(such as `use some_pkg::some_module::`) might appear in the compiler
output.
- [ ] Rust SDK:
- [ ] REST API:
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.

2 participants