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

Extend fixed-point numbers module #19336

Merged
merged 19 commits into from
Oct 17, 2024
Merged

Extend fixed-point numbers module #19336

merged 19 commits into from
Oct 17, 2024

Conversation

jonas-lj
Copy link
Contributor

Description

Extend the fixed-point numbers library to make it more usable.

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:

Copy link

vercel bot commented Sep 12, 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 Oct 16, 2024 11:26pm
3 Skipped Deployments
Name Status Preview Comments Updated (UTC)
multisig-toolkit ⬜️ Ignored (Inspect) Visit Preview Oct 16, 2024 11:26pm
sui-kiosk ⬜️ Ignored (Inspect) Visit Preview Oct 16, 2024 11:26pm
sui-typescript-docs ⬜️ Ignored (Inspect) Visit Preview Oct 16, 2024 11:26pm

@tnowacki
Copy link
Contributor

Draft is generally looking good, main thing is discussions within @MystenLabs/devx-move with regards to naming for the APIs/types

## Description 

- Switching to `uqX_X` naming scheme 
- I cut out `one`, `zero`, and `is_zero` as they felt a bit superfluous 
- Renamed the `u64` based mul/div to `int_mul` and `int_div` so that the
naming is consistent across all `uqX_X` and `qX_X` modules
- We should consider `integer_mul` to match `from_integer` or similarly
`from_int` to match `int_mul`. Although... the "int"s here have
different sizes.
- Reordered functions a bit to best match what I think current modules
are doing in std
  - creation functions, followed by 
  - core API, followed by
  - less-core... API. Not sure what to call these 

## Test plan 

- Migrated  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:

/// Multiply a `u64` integer by a fixed-point number, truncating any fractional part of the product.
/// Aborts if the product overflows.
public fun int_mul(val: u64, multiplier: UQ32_32): u64 {
Copy link
Contributor

Choose a reason for hiding this comment

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

The idea behind int_mul and int_div is to have a common prefix for these integer leading operations that are agnostic to the actual bitsize here.

My main question is whether or not we should have:

  • from_integer and int_mul
  • from_int and int_mul
  • from_integer and integer_mul

Copy link
Contributor

Choose a reason for hiding this comment

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

Of the options above, I prefer the second option (from_int and int_mul) for consistency while still being terse and easy to write.

Now, lets enter the land of pedantry (but I think it's useful pedantry):

I'm wondering if int/integer is what we should be using here for names since technically integers mathematically mean signed numbers. Thoughts on possibly from_nat, and nat_mul?

Similarly, from_rational may be better named from_quotient since rational has a specific mathematical meaning (including negative numbers) and more importantly the "rational" you are supplying to the function need not be an actual expressible rational number (e.g., 1/0).

Copy link
Contributor

Choose a reason for hiding this comment

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

I think having everything be "int" even while imprecise, will make everything line up nicely with the signed version


/// Accessor for the raw u64 value. Can be paired with `from_raw` to perform less common operations
/// on the raw values directly.
public fun to_raw(a: UQ32_32): u64 {
Copy link
Contributor

Choose a reason for hiding this comment

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

I believe this is correctly to_raw and not into_raw since UQ32_32 has copy

Copy link
Contributor

Choose a reason for hiding this comment

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

Very much agree and like this naming convention.


/// Multiply a `u64` integer by a fixed-point number, truncating any fractional part of the product.
/// Aborts if the product overflows.
public fun int_mul(val: u64, multiplier: UQ32_32): u64 {
Copy link
Contributor

Choose a reason for hiding this comment

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

Of the options above, I prefer the second option (from_int and int_mul) for consistency while still being terse and easy to write.

Now, lets enter the land of pedantry (but I think it's useful pedantry):

I'm wondering if int/integer is what we should be using here for names since technically integers mathematically mean signed numbers. Thoughts on possibly from_nat, and nat_mul?

Similarly, from_rational may be better named from_quotient since rational has a specific mathematical meaning (including negative numbers) and more importantly the "rational" you are supplying to the function need not be an actual expressible rational number (e.g., 1/0).


/// Accessor for the raw u64 value. Can be paired with `from_raw` to perform less common operations
/// on the raw values directly.
public fun to_raw(a: UQ32_32): u64 {
Copy link
Contributor

Choose a reason for hiding this comment

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

Very much agree and like this naming convention.

/// Subtract two fixed-point numbers, `a - b`.
/// Aborts if `a < b`.
public fun sub(a: UQ32_32, b: UQ32_32): UQ32_32 {
assert!(a.0 >= b.0, EOverflow);
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we want to label this as underflow? I went with Overflow for simplicity, but I definitely see the valid argument of calling this underflow

/// Aborts if the input is too large, e.g. larger than or equal to 2^32.
public fun from_rational(numerator: u64, denominator: u64): UQ32_32 {
public fun from_quotient(numerator: u64, denominator: u64): UQ32_32 {
Copy link
Contributor

Choose a reason for hiding this comment

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

Thank you!

Comment on lines +240 to +257
#[random_test]
fun test_int_roundtrip(c: u32) {
assert_eq!(from_int(c).to_int(), c);
}

#[random_test]
fun test_mul_rand(n: u16, d: u16, c: u16) {
if (d == 0) return;
let q = from_quotient(n as u64, d as u64);
assert_eq!(int_mul(c as u64, q), q.mul(from_int(c as u32)).to_int() as u64);
}

#[random_test]
fun test_div_rand(n: u16, d: u16, c: u16) {
if (d == 0) return;
let q = from_quotient(n as u64, d as u64);
assert_eq!(int_div(c as u64, q), from_int(c as u32).div(q).to_int() as u64);
}
Copy link
Contributor

Choose a reason for hiding this comment

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

❤️

Copy link
Contributor

@tzakian tzakian left a comment

Choose a reason for hiding this comment

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

Changes look good to me. Thanks for changing the name on from_rational!

@tnowacki tnowacki merged commit a762240 into main Oct 17, 2024
50 checks passed
@tnowacki tnowacki deleted the jonas/fixed branch October 17, 2024 18:27
carlosbmamoru pushed a commit to Mamoru-Foundation/sui that referenced this pull request Oct 28, 2024
commit 72994fe5ee4f4d12c31a8a888c4f7c384e765a4b
Author: Carlos Baez <[email protected]>
Date:   Mon Oct 28 10:25:51 2024 +0100

    Squashed commit of the following:

    commit 3ada97c109cc7ae1b451cb384a1f2cfae49c8d3e
    Author: Ashok Menon <[email protected]>
    Date:   Fri Oct 25 23:58:47 2024 +0100

        sui-system(v1.36): fix next epoch stake book-keeping (#20036)

        ## Description

        Update `next_epoch_stake` when redeeming a fungible staked sui. This
        value is used as a sanity check that everything matches up at the end of
        an epoch.

        ## Test plan

        ```
        sui$ cargo nextest run -p sui-framework-tests
        ```

        ## 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.

        - [x] Protocol: Protocol bumped to 67, introducing a framework change to
        fix next_epoch_stake book-keeping while redeeming fungible staked sui.
        - [ ] Nodes (Validators and Full nodes):
        - [ ] Indexer:
        - [ ] JSON-RPC:
        - [ ] GraphQL:
        - [ ] CLI:
        - [ ] Rust SDK:
        - [ ] REST API:

        ---------

        Co-authored-by: Arun Koshy <[email protected]>
        Co-authored-by: Sam Blackshear <[email protected]>
        Co-authored-by: Emma Zhong <[email protected]>

    commit 81da0c70ea1f862a8aed0cafad781a86b0bf65bb
    Author: Ge Gao <[email protected]>
    Date:   Thu Oct 24 18:50:57 2024 -0400

        pick: indexer: handle sui safe mode (#20015) (#20025)

        ## Description

        title

        ## 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:

        ## 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 29ff3e3f53fc7aa590da97d1033265645be1ea1a
    Author: Mark Logan <[email protected]>
    Date:   Wed Oct 23 09:12:40 2024 -0700

        [cherrypick] Fix logic for end-of-epoch checkpoint when dkg has failed (#19976)

        If DKG has failed, we might accidentally construct two end of epoch
        checkpoints.

    commit 7a166ee0e58d036fbf626ba6bc21a3c2ec92225e
    Author: Mark Logan <[email protected]>
    Date:   Tue Oct 22 17:24:48 2024 -0700

        [cherrypick] Fix one more possible crash in execution_driver (#19870)

        Don't even try to execute certs from prior epochs

    commit a11f7b5d868396e0d23588d3713f6a70a43b293e
    Author: Mark Logan <[email protected]>
    Date:   Tue Oct 22 11:05:16 2024 -0700

        [cherrypick] Fix rare crash when a transaction executes after its shared object assignments have been deleted. (#19949)

        Fix rare crash when a transaction executes after its shared object
        assignments have been deleted.

        This is only possible if a second execution of the same tx starts
        concurrently, and the shared version assignments have been deleted as we
        are checking for object availability in TransactionManager

    commit bf79606ff4eb7c666629f14157715c1219504fed
    Author: Mark Logan <[email protected]>
    Date:   Mon Oct 21 20:23:46 2024 -0700

        [cherrypick] Must not wait on notify_read_effects after epoch ends, on a transaction that might be reverted (#19934)

        Found this crash after adding the delay failpoint seen in this PR. I
        don't quite understand why that exposed this crash.

    commit 8d34dfbb45414303cfd448c94bb04dcea0231369
    Author: wlmyng <[email protected]>
    Date:   Wed Oct 23 10:06:00 2024 -0700

        [indexer] committers should read watermark hi directly from table (#1… (#19981)

        …9980)

        ## 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 675ea8cf5437e6ade14d6c966ff8ff51a34b5357
    Author: Mark Logan <[email protected]>
    Date:   Tue Oct 22 14:47:53 2024 -0700

        [cherrypick] Fix possible (but probably rare) race condition (#19951) (#19967)

        Fix crashes in execution_driver due to inability to execute
        transactions.

        --------

        We must hold the lock for the object entry while inserting to the
        `object_by_id_cache`. Otherwise, a surprising bug can occur:

        1. A thread executing TX1 can write object (O,1) to the dirty set and
        then pause.
        2. TX2, which reads (O,1) can begin executing, because
        TransactionManager immediately
        schedules transactions if their inputs are available. It does not matter
        that TX1
           hasn't finished executing yet.
        3. TX2 can write (O,2) to both the dirty set and the object_by_id_cache.
        4. The thread executing TX1 can resume and write (O,1) to the
        object_by_id_cache.

        Now, any subsequent attempt to get the latest version of O will return
        (O,1) instead of
        (O,2).

        This seems very unlikely, but it may be more likely under the following
        circumstances:
        - While a thread is unlikely to pause for so long, moka cache uses
        optimistic
        lock-free algorithms that have retry loops. Possibly, under high
        contention, this
          code might spin for a surprisingly long time.
        - Additionally, many concurrent re-executions of the same tx could
        happen due to
        the tx finalizer, plus checkpoint executor, consensus, and RPCs from
        fullnodes.

        Unfortunately I have not been able to reproduce this bug, so we cannot
        be sure that
        this fixes the crashes we've seen. But this is certainly a possible bug.

        ## 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 a85ea98b9982e1156fedd9bd149ee77483587cf5
    Author: Eugene Boguslavsky <[email protected]>
    Date:   Tue Oct 22 19:08:14 2024 +0000

        Sui v1.36.2 Version Bump

    commit cf3fee71b907969b9308bfa83802c16b9b29bc70
    Author: Brandon Williams <[email protected]>
    Date:   Mon Oct 21 21:17:57 2024 -0500

        Revert "rest: stabalize some checkpoint apis" (#19950)

        This reverts commit 13c1ec7b2a7a18e304444d63277c20f8f52a1bc2.

        ## 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: Eugene Boguslavsky <[email protected]>

    commit 032ac7d9ad2367b43be0ccd444d18d6d4f0ca001
    Author: Brandon Williams <[email protected]>
    Date:   Mon Oct 21 20:41:26 2024 -0500

        1.36 index fix (#19947)

        ## 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: Eugene Boguslavsky <[email protected]>

    commit f4695a93815a8e2ce43f558ef1b0ccf0e96ff51d
    Author: Eugene Boguslavsky <[email protected]>
    Date:   Tue Oct 22 00:37:13 2024 +0000

        Sui v1.36.1 Version Bump

    commit e3e5ac7113a7bff11982ef44492618e9ee133e61
    Author: Brandon Williams <[email protected]>
    Date:   Fri Oct 18 17:07:29 2024 -0500

        jsonrpc_index: bump coin index version to 1

    commit 0bf87c09f2d35a3567f3892ed648671adf656d75
    Author: wlmyng <[email protected]>
    Date:   Fri Oct 18 17:11:08 2024 -0700

        [indexer] align watermarks table schema in live indexer to alt indexe… (#19922)

        …r (#19908)

        ## Description

        Since watermarks table isn't being written to yet, modify the db schema
        to match alt-indexer. The changes are to rename entity -> pipeline,
        tx_hi_inclusive -> tx_hi, and pruner_hi_inclusive -> pruner_hi and make
        it a non-null column. This works out nicely for graphql, since the
        transactions query implementations expect a half-open interval. Also
        simplifies pruner logic, since it can write the `reader_lo` as
        `pruner_hi` after delay, and table pruners will delete between
        `[table_data, pruner_hi)`.

        ## 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:

        ## 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 1c9e15645e107ec85bb933f9ee4d38f070b8db40
    Author: wlmyng <[email protected]>
    Date:   Fri Oct 18 15:39:20 2024 -0700

        [indexer] quick fix for events in descending order without cursor (#1… (#19919)

        …9902)

        ## Description

        This PR fixes a bug where events queries in descending order without a
        cursor return no results

        ## 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:

        ## 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 95dcb93d79d23bc32adc8fd05d70c92e6db82b49
    Author: Ge Gao <[email protected]>
    Date:   Fri Oct 18 17:21:21 2024 -0400

        Pick: indexer handler: limit unprocessed buffer size #19913 (#19917)

        ## Description

        without this change, the unprocessed buffer will grow unboundedly until
        OOM
        it did not manifest on previous processor b/c it has sleep codes of
        ```
        _ = tokio::time::sleep(std::time::Duration::from_secs(config.sleep_duration))
        ```
        and `sleep_duration` is 5 seconds.

        ## Test plan

        - correctness via the added objects_snapshot test
        - oom via experiment result on benchmark env with mem usage
        [link](https://app.datadoghq.com/metric/explorer?fromUser=false&start=1729280070529&end=1729283670529&paused=false#N4Ig7glgJg5gpgFxALlAGwIYE8D2BXJVEADxQEYAaELcqyKBAC1pEbghkcLIF8qo4AMwgA7CAgg4RKUAiwAHOChASAtnADOcAE4RNIKtrgBHPJoQaUAbVBGN8qVoD6gnNtUZCKiOq279VKY6epbINiAiGOrKQdpYZAYgUJ4YThr42gDGSsgg6gi6mZaBZnHKGABuMMiZUggYojoAdOqqblhNeBoY8MAA1ngARnBOkb7yGNnI2vKZALTDIpmMHtp9AAQU67Ui9Y3ao1FwyBp4EHOiAsQ6POuDWOvADlCH6jwgPAC6VK7ueJihcK-VT-DAxUrxD7fEAaORoHKgCbwhAIHJJHAwJyZAEaCCZRJoRpOOSKZTpQlQAlE+hMZQiNweNAffgQeyYLDEhRowkiJRfHh8GHyQkIADCUmEMBQIn+aB4QA)

        ---

        ## 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 775f2cb85e6113639f15877127ed66c1f8ad4671
    Author: Eugene Boguslavsky <[email protected]>
    Date:   Thu Oct 17 19:25:36 2024 -0700

        Sui `v1.36.0` Framework Bytecode snapshot (#19904)

        ## Description
        Sui `v1.36.0` Framework Bytecode snapshot

        ## Test plan
        `cargo run --bin sui-framework-snapshot`

    commit 3e8d2312106e66e9b24e6acfcbdb721aa1a78651
    Author: Mark Logan <[email protected]>
    Date:   Thu Oct 17 18:44:08 2024 -0700

        Revert congestion control change, use 3 txn per commit limit. (#19900)

    commit d239be81239619feefeb9fbc007f6d6c78335961
    Author: wlmyng <[email protected]>
    Date:   Thu Oct 17 15:51:31 2024 -0700

        [indexer][watermarks][3/n] pruner updates watermarks lower bound (#19650)

        ## Description

        With the committer writing upper bounds, the pruner can now read from
        watermarks and determine whether the lower bounds need to be updated.
        Pruner does this by spawning a separate task, without touching the
        extant pruning logic (so all things are as is.) It will ignore any
        entries from watermarks that do not correspond to a `PrunableTable`
        variant.

        Part of a stack of PRs for watermarks

        simplify setting up test indexer:
        https://github.com/MystenLabs/sui/pull/19663
        update pruner config: https://github.com/MystenLabs/sui/pull/19637
        committer writes upper bounds
        https://github.com/MystenLabs/sui/pull/19649
        pruner writes lower bounds: https://github.com/MystenLabs/sui/pull/19650
        pruner prunes (wip)

        ## 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 446d7d5f111330bf915f9d5bf4e96ff4cf7aa857
    Author: Bridgerz <[email protected]>
    Date:   Thu Oct 17 21:57:20 2024 +0100

        Fix ViewSuiBridge Bridge CLI command (#19869)

        ## Description

        Handle the case where a bridge committee member is no longer a
        validator.

        ## Test plan

        Tested locally.

    commit 67ac5c85a7df1c897336f987a7080f5887923f9a
    Author: sui-merge-bot[bot] <114704316+sui-merge-bot[bot]@users.noreply.github.com>
    Date:   Thu Oct 17 13:27:15 2024 -0700

        Version Packages (#19898)

        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

        -   477d2a4: Add new errors to ExecutionFailureStatus enum

        ## @mysten/[email protected]

        ### Patch Changes

        -   Updated dependencies [477d2a4]
            -   @mysten/[email protected]
            -   @mysten/[email protected]

        ## @mysten/[email protected]

        ### Patch Changes

        -   Updated dependencies [477d2a4]
            -   @mysten/[email protected]
            -   @mysten/[email protected]
            -   @mysten/[email protected]

        ## @mysten/[email protected]

        ### Patch Changes

        -   Updated dependencies [477d2a4]
            -   @mysten/[email protected]

        ## @mysten/[email protected]

        ### Patch Changes

        -   Updated dependencies [477d2a4]
            -   @mysten/[email protected]

        ## @mysten/[email protected]

        ### Patch Changes

        -   Updated dependencies [477d2a4]
            -   @mysten/[email protected]
            -   @mysten/[email protected]

        ## @mysten/[email protected]

        ### Patch Changes

        -   Updated dependencies [477d2a4]
            -   @mysten/[email protected]

        ## @mysten/[email protected]

        ### Patch Changes

        -   Updated dependencies [477d2a4]
            -   @mysten/[email protected]

        ## @mysten/[email protected]

        ### Patch Changes

        -   Updated dependencies [477d2a4]
            -   @mysten/[email protected]

        ## @mysten/[email protected]

        ### Patch Changes

        -   Updated dependencies [477d2a4]
            -   @mysten/[email protected]

        ## @mysten/[email protected]

        ### Patch Changes

        -   Updated dependencies [477d2a4]
            -   @mysten/[email protected]

        ## @mysten/[email protected]

        ### Patch Changes

        -   Updated dependencies [477d2a4]
            -   @mysten/[email protected]
            -   @mysten/[email protected]

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

    commit 477d2a41ae8c6a2af6afe4a241cdce73cda6aef9
    Author: hayes-mysten <[email protected]>
    Date:   Thu Oct 17 13:12:59 2024 -0700

        [ts sdk] Add new errors to ExecutionFailureStatus (#19897)

        ## 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 c3562a362bc04802e7ae074ab9947fa9697e4488
    Author: Andrew Schran <[email protected]>
    Date:   Thu Oct 17 16:04:36 2024 -0400

        Enable signed Discovery messages by default (#19895)

        ## Description

        Followup to PR #19587.

        ## Test plan

        As tested in first 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:
        - [x] Nodes (Validators and Full nodes): Adds authentication signatures
        to Discovery protocol messages.
        - [ ] Indexer:
        - [ ] JSON-RPC:
        - [ ] GraphQL:
        - [ ] CLI:
        - [ ] Rust SDK:
        - [ ] REST API:

    commit 491dcfe38a6d23e6771ebe1a33a674a0dbbe7d05
    Author: Brandon Williams <[email protected]>
    Date:   Thu Oct 17 14:30:02 2024 -0500

        ci: set log level to error

    commit a762240611457bf262699713bf3db71004631139
    Author: Jonas Lindstrøm <[email protected]>
    Date:   Thu Oct 17 20:26:58 2024 +0200

        Extend fixed-point numbers module (#19336)

        ## Description

        - Deprecated `fixed_point32`
        - Added `uq32_32` to replace it

        ## Test plan

        - New 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: Move `fixed_point32` has been deprecated for a new `uq32_32` module
        - [ ] Rust SDK:
        - [ ] REST API:

        ---------

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

    commit 0393579cd214511d5af61ba6fe052c42a34ff8a9
    Author: sui-merge-bot[bot] <114704316+sui-merge-bot[bot]@users.noreply.github.com>
    Date:   Thu Oct 17 12:03:38 2024 -0400

        Version Packages (#19892)

        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

        -   60f96ee: New stablecoin pool params

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

    commit 60f96ee37c2c7c251ab07f495190ef89ad479ed8
    Author: Tony Lee <[email protected]>
    Date:   Thu Oct 17 11:28:22 2024 -0400

        New Deepbook Pool Params (#19891)

        ## Description

        New Deepbook Pool Params

        ## Test plan

        How did you test the new or updated feature?

        Mainnet

        ## 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 df56cb03c8c04653a43cc076b4450d2cecb32e8e
    Author: Patrick Kuo <[email protected]>
    Date:   Thu Oct 17 12:59:38 2024 +0100

        [Rosetta] - serialize total_coin_value to string instead of number to prevent precision lost (#19580)

        ## Description

        As titled

        ## 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: nikos.kitmeridis <[email protected]>

    commit 8adfe733b6977acb879583a1cba354d419d5c707
    Author: jk jensen <[email protected]>
    Date:   Wed Oct 16 16:29:58 2024 -0700

        [suiop][image] enable q or esc to quit watching (#19881)

        ## Description

        Make it so the user can hit 'q' or 'esc' to exit the image watch
        interface

        ## Test plan

        https://github.com/user-attachments/assets/578ab67e-763e-4cd8-a4a7-1ac6006a4004

        ---

        ## 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 6d87bd24f2f5e88757d697a21cc13398f0f932a1
    Author: Jort <[email protected]>
    Date:   Wed Oct 16 16:01:58 2024 -0700

        [move] add return locations to source map (#19885)

        ## Description

        store the return loc's in source maps

        ## 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 6f3ce94e08d727635236980d6332bd91d6d46c78
    Author: Tim Zakian <[email protected]>
    Date:   Wed Oct 16 14:18:48 2024 -0700

        [move] Initial trace format and implementation (#18729) (#19858)

        This PR adds the initial trace format, and the implementation of this
        trace format in the VM. I've gone through the tracing format with most
        of you synchronously so won't write out all the details here (but I will
        take it on to write a spec for the trace format once this is done so
        other folks can use it when consuming this format). Happy to go through
        it at any point in real time.

        Other TODO: right now the `MoveValue`s only support serialize and not
        deserialize back into Rust so we can only push a trace out from Rust but
        not consume it. The next thing I'm working on right now is adding
        support for that, and it may be either an update to this PR, or an
        additional PR depending on how involved that is...

        Tests and integration of this into the Move CLI (not the Sui CLI yet) is
        in the PR above this one.

        This keeps the tracing largely feature-gated in the VM, and the only
        additional overhead/change at runtime with `gas-profiling` turned off is
        the additional argument, but this argument is unused and should be
        optimized away (and at worst only add essentially no overhead).

        I kept the `gas-profiling` feature flag and gated the new tracing under
        it. The plan being to eventually rename that flag at the same time that
        we update test coverage and gas profiling to use this new tracing format
        as well (but that's for a couple future PRs!).

        https://github.com/MystenLabs/sui/pull/19452 is stacked on top of this
        and cleans up the insertion points of the tracer into the VM.

        ---

        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:

        ## 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 cbffe5b8522ed7723371cf8fcfa802f47c1178ed
    Author: Eugene Boguslavsky <[email protected]>
    Date:   Wed Oct 16 12:51:13 2024 -0700

        Update mac os runner (#19883)

        ## Description
        `macos-latest-xl` is being depricated.
        ![Screenshot 2024-10-16 at 12 44
        20 PM](https://github.com/user-attachments/assets/d0f49345-2538-4836-bdbf-9975d6df5299)

        ## Test plan
        👀

    commit b78eb1098ee2fcd08fb1576d049c354dd57fc8ca
    Author: Anastasios Kichidis <[email protected]>
    Date:   Wed Oct 16 20:00:19 2024 +0100

        [Consensus] fix amnesia recovery boot run (#19774)

        ## Description

        Currently if someone recovers their node within epoch `R` with a
        snapshot that's from epoch `< R-1` , consensus will not start in amnesia
        recovery mode in epoch R as the boot counter will have already been
        incremented as node is trying to catch up from earlier epochs. This is
        problematic as it defies the whole point of the automatic amnesia
        recovery.

        Instead on this PR we track consensus participation activity from
        earlier epochs/run and only then we increment the boot counter.
        Otherwise we keep the boot counter to `0` so we effectively enforce
        amnesia recovery until we get to an epoch where the node is able to
        participate. In this case participate means "able to have performed at
        least one commit".

        ## Test plan

        CI/PT

        ---

        ## 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 62f72cdea33c0782f3116dfd194ae81c562a0b43
    Author: jk jensen <[email protected]>
    Date:   Wed Oct 16 10:57:07 2024 -0700

        [suiop][image] add --watch/-w to continuously query image build (#19872)

        ## Description

        Add new arg to continuously query image remote builds

        ## Test plan

        https://github.com/user-attachments/assets/a6b3ec5d-605d-48f2-a241-9ade8bfbfbf3

        ---

        ## 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 692f6c6a89b2e32659574fa20828222d289b102d
    Author: Tim Zakian <[email protected]>
    Date:   Wed Oct 16 10:55:35 2024 -0700

        [move][ir-to-bytecode] Add source locations to `Type` in the Move IR (#19875)

        ## Description

        Plumbs in source locations for `Type`s in the Move IR. This will be
        useful for adding return types to the Move source maps.

        ## Test plan

        Make sure existing types 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:
        - [ ] Rust SDK:
        - [ ] REST API:

    commit 31b15dde1758a6ba7d7029ecbd74804180f4800c
    Author: Lu Zhang <[email protected]>
    Date:   Wed Oct 16 08:51:49 2024 -0700

        [bridge] remove test-cluster's dependency on sui-bridge crate (#19840)

        ## Description

        as title. It also removes the transitive dependency of other crates on
        sui-bridge.

        ## Test plan

        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 8fec5f8caeaf0d0d5a9d13c776fc8dd80219719e
    Author: Arun Koshy <[email protected]>
    Date:   Wed Oct 16 01:48:58 2024 -0700

        Add known peers for p2p network connection monitor (#19815)

        ## Description

        This will enable quinn stats for p2p network

        ---

        ## 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 f8e33f58104e6ed0d38e756beb0572e3bc263f10
    Author: Arun Koshy <[email protected]>
    Date:   Wed Oct 16 00:58:39 2024 -0700

        [consensus] Migrate sui to Mysticeti connection monitor (#19814)

        ## Description

        Will follow up to ensure that known peers are set in sui via discovery
        so that metrics will be updated. Also will be adding
        TonicConnectionMonitor for Mysticeti to use.

        ---

        ## 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 2224cf355dc25d6ded1d9a4b93c6f31939b80a01
    Author: Brandon Williams <[email protected]>
    Date:   Tue Oct 15 20:53:11 2024 -0500

        rest: enable resolving of literals (#19857)

        Improve the format of `UnresolvedTransaction` as well as introduce the
        ability to resolve un-serialized pure argument literals.

        Example of JSON payload of an `UnresolvedTransaction`:
        ```
        {
          "inputs": [
            {
              "object_id": "0x2d7f57570815c43eb485be9018caabd11ac863e9d49b1d9e33b3f4ac40cadc72"
            },
            {
              "value": 1
            },
            {
              "value": "0xc6fc0e38458632b1dd1d60b3a833865268a0faebe36864c71fb9805bd5a116cf"
            }
          ],
          "commands": [
            {
              "command": "split_coins",
              "coin": {
                "input": 0
              },
              "amounts": [
                {
                  "input": 1
                },
                {
                  "input": 1
                }
              ]
            },
            {
              "command": "transfer_objects",
              "objects": [
                {
                  "result": [
                    0,
                    1
                  ]
                },
                {
                  "result": [
                    0,
                    0
                  ]
                }
              ],
              "address": {
                "input": 2
              }
            }
          ],
          "sender": "0xff69fdb72bfc6ff5a337ff01c650fb0ce72447105ff050c2039c6b5b267b04a7"
        }
        ```

        which is resolved into the following `Transaction`:

        ```
        {
          "version": "1",
          "kind": {
            "kind": "programmable_transaction",
            "inputs": [
              {
                "type": "immutable_or_owned",
                "object_id": "0x03517c0699f36a1df2e93b6c18db815d8f247a853465aec9cc48f9ceae4561ca",
                "version": "1",
                "digest": "7WyoNoiZQmTj75viHKYhA48tCSJ5CFqA6HtzJ55hehxP"
              },
              {
                "type": "pure",
                "value": "AQAAAAAAAAA="
              },
              {
                "type": "pure",
                "value": "JtcBTFgpW/n7HipqY6oz4bka0J8PyUPlSQbjR5lCq0Y="
              }
            ],
            "commands": [
              {
                "command": "split_coins",
                "coin": {
                  "input": 0
                },
                "amounts": [
                  {
                    "input": 1
                  },
                  {
                    "input": 1
                  }
                ]
              },
              {
                "command": "transfer_objects",
                "objects": [
                  {
                    "result": [
                      0,
                      1
                    ]
                  },
                  {
                    "result": [
                      0,
                      0
                    ]
                  }
                ],
                "address": {
                  "input": 2
                }
              }
            ]
          },
          "sender": "0xb73663359e72a36122aaf3f08629fa684b667e0fe6e356b119c623c7c9459888",
          "gas_payment": {
            "objects": [
              {
                "object_id": "0x94b1bef12a8db7b60fa89ad9bc2966d661a3a1002d921ada981e700648470304",
                "version": "1",
                "digest": "9kcUt38E4i8g5DartpUdBxW9m5n1u8AaJLyintWiddd6"
              },
              {
                "object_id": "0xacc757731db589ef093130e0d6c839e809f9673a51be92667ecbcd486db73995",
                "version": "1",
                "digest": "2U3xxN1G9vf4raCGUHz6AejqVMWJCkEBmsbLgqwae5be"
              },
              {
                "object_id": "0xd0891f6c419f3dd1a531e70779979f3c7aa91d13ae9125ffbae05f3960ee4249",
                "version": "1",
                "digest": "DkJRVUKfwV9pZ1NYEydvKwGpJei7YDDRemfRahruBDsQ"
              },
              {
                "object_id": "0xde8bdc786f18e7d1b9d2ac975acd640952fd3c75303e4f35d0657f90ab7e947e",
                "version": "1",
                "digest": "8RJuNzFawuVbFz6zSH1GMeJuwiHfT2ZzfHKHdr6LrJrU"
              }
            ],
            "owner": "0xb73663359e72a36122aaf3f08629fa684b667e0fe6e356b119c623c7c9459888",
            "price": "1000",
            "budget": "5952000"
          },
          "expiration": null
        }
        ```

    commit 6cc663c639ca3fa1421db7021e0af33b0466e1be
    Author: wlmyng <[email protected]>
    Date:   Tue Oct 15 18:42:57 2024 -0700

        [indexer][writer] Add first_tx_sequence_number to epochs table to decouple from checkpoints table (#19773)

        ## Description

        The `epoch_total_transactions` field on `epochs` table is calculated
        today from `checkpoints.network_total_transactions`, which is not ideal
        since the latter is prunable and `epochs` will not be pruned for the
        foreseeable future. To remove this dependency, we add
        `first_tx_sequence_number` to the `epochs` table at epoch boundary. That
        is, the network total transaction count from the final checkpoint of the
        epoch becomes the first tx sequence number of the new epoch. This also
        means that at epoch boundary, the current-to-be-previous epoch's
        `epoch_total_transactions` is derived from the checkpoint's network
        total transactions - the epoch's `first_tx_sequence_number`.
        Consequently, this will also help in the pruner implementation, as given
        an epoch we'd like to know the corresponding cp and tx.

        This encompasses just the writer change. Before updating the read path,
        we will need to backfill the instance.

        ## 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 71f9203abbf9bf0a3a887e1f2157a7caed7bcef2
    Author: Brandon Williams <[email protected]>
    Date:   Tue Oct 15 10:19:36 2024 -0500

        jsonrpc: introduce a meta column family for tracking index initialization

        Introduce a meta column family that is used to track initialization of
        the Index DB itself as well as the status of the various column families
        themsevles.

    commit 814af2a99e0e66bda4fec1748082ce4af7fd3137
    Author: Brandon Williams <[email protected]>
    Date:   Tue Oct 15 10:18:02 2024 -0500

        jsonrpc, rest: reduce batch size to 128MB before writting

        Reduce the minimum batch size to write out during indexing the live
        object set from 256MB to 128MB, these smaller batch sizes resulted in a
        small improvement to index initialization.

    commit d7e977a0ac58b885a98c4967e3e82cce43e720ff
    Author: Brandon Williams <[email protected]>
    Date:   Fri Oct 11 15:24:26 2024 -0500

        jsonrpc: add test for sorted coin balances

    commit c3371a28c783ff1e54b71c873b98f80b394f30a3
    Author: Brandon Williams <[email protected]>
    Date:   Fri Oct 11 14:07:40 2024 -0500

        jsonrpc: initialize new coin_index_2

        Initialize the new coin_index_2 index and clear the old coin_index
        column family.

    commit 47ba7e4684147b91cbf0fa628ce83f4a4b80d3bc
    Author: Brandon Williams <[email protected]>
    Date:   Fri Oct 11 12:47:08 2024 -0500

        jsonrpc: introduce coin_index_2 with coins sorted by balance

        Introduce a new coin_index_2 index with coins sorted by balance in
        decreasing value (sorted high to low).

    commit 6159973ae01f7b74505271d5ae76681f6594fe59
    Author: Brandon Williams <[email protected]>
    Date:   Fri Oct 11 10:25:19 2024 -0500

        core: factor out parallel live object indexing

        Factor out the parallel live object indexing, used for initializing the
        rest indexes, into more general purpose and reusable logic.

    commit 4ad76b5679ec0e11b635537074b552cc96d584ba
    Author: Brandon Williams <[email protected]>
    Date:   Fri Oct 11 09:07:27 2024 -0500

        jsonrpc: move indexes from sui-storage to sui-core

    commit 99cebd9469dea1c2bbbd73d4cd6fb8284203a93a
    Author: Brandon Williams <[email protected]>
    Date:   Fri Oct 11 08:45:29 2024 -0500

        db_tool: remove loaded_child_object_versions search match arm

    commit 455e6c981e2af4da7bcd91e1e6642b3f8a10cb5a
    Author: Eugene Boguslavsky <[email protected]>
    Date:   Tue Oct 15 16:00:17 2024 -0700

        Fix node operator doc quote (#19874)

        ## Description
        Fix node operator doc quote

        ## Test plan
        Before:
        ![Screenshot 2024-10-15 at 3 31
        55 PM](https://github.com/user-attachments/assets/c6aabc7b-328c-4404-be4a-b8b5c124e111)

        After:
        ![Screenshot 2024-10-15 at 3 32
        00 PM](https://github.com/user-attachments/assets/3ef6d6dc-516a-4771-9a2f-a898610893bb)

    commit 3be7841e208731a69b8dd7ad5b39fa94f92fe59f
    Author: Eugene Boguslavsky <[email protected]>
    Date:   Tue Oct 15 15:28:22 2024 -0700

        Add release info for sui-full-node doc (#19808)

        ## Description
        Add release info for sui-full-node doc

        ## Test plan
        @ronny-mysten !

        ---------

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

    commit ee100a7ed7e4cc6503fb5e7b94349151f24597e0
    Author: techdebt-99 <[email protected]>
    Date:   Tue Oct 15 16:21:56 2024 -0600

        Update sponsor-txn.mdx (#19873)

        ## 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 8fa9f571a26f3e3faeec78afca706c8eedb2b283
    Author: Zhe Wu <[email protected]>
    Date:   Tue Oct 15 14:31:16 2024 -0700

        Use more realistic cap factor in simtest (#19862)

        ## Description

        So that we can exercise cap factor is higher and lower than the gas
        budget.

        ## Test plan

        Updating 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 e2c7aa1f4e3d0facbff0af78aad5bda283bc145e
    Author: ronny-mysten <[email protected]>
    Date:   Tue Oct 15 15:31:04 2024 -0600

        [docs] Update dbv3 content (#19867)

        ## Description

        DBv3 is now on Mainnet. Makes the sentence removed somewhat pointless.

        ## 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 25c52c659ff00c0c54834de73760b38b6dbca938
    Author: hayes-mysten <[email protected]>
    Date:   Tue Oct 15 13:57:16 2024 -0700

        [gql-transport] fix rawInput for transaction queries (#19866)

        ## 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 aa2ca1d79fc3de862e398716f044337b6757acc1
    Author: Tom Cat <[email protected]>
    Date:   Wed Oct 16 03:31:17 2024 +0700

        [Linter] Redundant ref deref (#16491)

        ## Description
        This lint rule detects and reports unnecessary temporary borrow
        operations followed by a dereference and a local borrow in Move code. It
        aims to improve code efficiency by suggesting direct usage of
        expressions without redundant operations.
        Implementation
        The lint rule is implemented as follows:

        A temporary borrow (TempBorrow)
        Followed by a dereference (Dereference)
        Where the dereferenced expression is either a BorrowLocal, Borrow, or
        another TempBorrow

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

        ## Release notes

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

        ---------

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

    commit 6b231597e707bae887ca038d670ba3aa02775d37
    Author: pei-mysten <[email protected]>
    Date:   Tue Oct 15 11:59:35 2024 -0700

        [docker] fix dockerfile for kaniko (#19865)

        ## Description

        kaniko doesn't like `*` wildcard, so have to be a little bit smarter.

        ## Test plan

        had a successfully built from kaniko. I pulled it down and inspected
        manually, binaries are ther

        ---

        ## 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 8aac6c2cfcbc48efd1ccb34ea8cfd28eae99b701
    Author: Tony Lee <[email protected]>
    Date:   Tue Oct 15 14:44:56 2024 -0400

        Faucet Routes (#19692)

        ## 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 e510867bd334fdd7b95bf0dab2ea7ce6b49f2409
    Author: nikos-terzo <[email protected]>
    Date:   Tue Oct 15 21:17:19 2024 +0300

        Update typescript sdk examples (#19816)

        ## Description

        Update Typescript SDK examples in README to work

        ## Test plan

        Copy-pasted changed code to a new project depending on '@mysten/sui' and
        checked for no relevant typescript errors.

        ---

        ## 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 4241c352fff0d71b40ec3148e62b558877c82d13
    Author: Tim Zakian <[email protected]>
    Date:   Tue Oct 15 11:06:54 2024 -0700

        [move][docgen] Render string constants for error constants (#19823)

        ## Description

        This updates how constants annotated with `#[error]` are rendered in
        docgen. This also adds the `#[error]` annotation on them in the
        generated documentation.

        Note that we don't try to render all bytearrays as strings, but only
        constants with the `#[error]` annotation to avoid rendering normal
        bytearrays strings.

        ## Test plan

        Added a test to make sure we render error-annotated consts as we expect.

    commit 4357bfa20c4a4eb1675f2f31e32a34b8f5956db2
    Author: Eugene Boguslavsky <[email protected]>
    Date:   Tue Oct 15 10:35:55 2024 -0700

        Remove mysten-tap sui.rb update (#19861)

        ## Description
        Remove mysten-tap sui.rb update

        ## Test plan
        👀

    commit 1e72cfbe5a269b880245c4de777a8126c4d3557f
    Author: mwtian <[email protected]>
    Date:   Tue Oct 15 10:07:29 2024 -0700

        [db] allow putting larger layer in higher levels (#19854)

        ## Description

        A followup to #19770. For cfs larger than 250GB, they need to be able to
        shard the files.

        ## Test plan

        Applied the new setting to other large cfs (transactions, effects) on
        fullnodes.

        ---

        ## 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 34416bfce4f949c7ba07e08a47535f15f59dbf4a
    Author: Anastasios Kichidis <[email protected]>
    Date:   Tue Oct 15 13:26:52 2024 +0100

        [Consensus] DagState to evict blocks based on GC round (#19465)

        ## Description

        Currently we evict the cached ref entries in DagState whenever we
        `flush`. At this point we evict the entries for each authority by
        dropping all the blocks which are `<= evict_round`, where `evict_round =
        authority_latest_commit_round - CACHED_ROUNDS` . The `CACHED_ROUNDS`
        here allow us to keep around for a little longer committed blocks. Of
        course all the blocks that are `> evict_round` are kept.

        This can work fine so far where we don't use GC , as we expect
        eventually to include blocks from other peers as weak links - no matter
        how far back they are - and that will move the
        `authority_latest_commit_round` and trigger the eviction of their blocks
        from our memory. Now with GC we don't have those guarantees. It is
        possible to get to a scenario where even a group of slow nodes that are
        constantly behind `gc_round`, they keep proposing but their blocks never
        get committed. Although their blocks should not end up in others DAGs ,
        they will remain in their own and fill up their memory. Overall, the
        current approach will provide weaker guarantees.

        This PR is changing the eviction strategy so it's driven by the
        `gc_round`. Doing though the eviction purely on the `gc_round` will
        change a lot the semantics of the `DagState` as one of the intentions
        was to keep recent cached data from each authority. That would also be
        particularly visible for authorities for which we do not have frequent
        block proposals, as we could end up always evicting all their blocks if
        they are behind the `gc_round`. Then this would not allow us to do
        certain operations we used to do before with cached data(ex get latest
        cached block per authority).

        For that reason this PR is changing a bit the semantics of the
        `CACHED_ROUNDS` and from now on it will be the minimum/desired amount of
        rounds we want to keep in cache for each of authority. The eviction
        algorithm will still attempt to clean up records that are `<= gc_round`,
        but it will also make sure that `CACHED_ROUNDS` worth of data are kept
        around.
        Especially for more edge case situation where a node has not produced
        blocks `> gc_round`, we guarantee to keep `CACHED_ROUNDS` even when all
        of them are `<= gc_round`, but we'll eventually evict anything before -
        practically like a moving window.

        ## Test plan

        CI/PT

        ---

        ## 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:
       …
carlosbmamoru pushed a commit to Mamoru-Foundation/sui that referenced this pull request Oct 29, 2024
commit 3ada97c109cc7ae1b451cb384a1f2cfae49c8d3e
Author: Ashok Menon <[email protected]>
Date:   Fri Oct 25 23:58:47 2024 +0100

    sui-system(v1.36): fix next epoch stake book-keeping (#20036)

    ## Description

    Update `next_epoch_stake` when redeeming a fungible staked sui. This
    value is used as a sanity check that everything matches up at the end of
    an epoch.

    ## Test plan

    ```
    sui$ cargo nextest run -p sui-framework-tests
    ```

    ## 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.

    - [x] Protocol: Protocol bumped to 67, introducing a framework change to
    fix next_epoch_stake book-keeping while redeeming fungible staked sui.
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

    ---------

    Co-authored-by: Arun Koshy <[email protected]>
    Co-authored-by: Sam Blackshear <[email protected]>
    Co-authored-by: Emma Zhong <[email protected]>

commit 81da0c70ea1f862a8aed0cafad781a86b0bf65bb
Author: Ge Gao <[email protected]>
Date:   Thu Oct 24 18:50:57 2024 -0400

    pick: indexer: handle sui safe mode (#20015) (#20025)

    ## Description

    title

    ## 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:

    ## 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 29ff3e3f53fc7aa590da97d1033265645be1ea1a
Author: Mark Logan <[email protected]>
Date:   Wed Oct 23 09:12:40 2024 -0700

    [cherrypick] Fix logic for end-of-epoch checkpoint when dkg has failed (#19976)

    If DKG has failed, we might accidentally construct two end of epoch
    checkpoints.

commit 7a166ee0e58d036fbf626ba6bc21a3c2ec92225e
Author: Mark Logan <[email protected]>
Date:   Tue Oct 22 17:24:48 2024 -0700

    [cherrypick] Fix one more possible crash in execution_driver (#19870)

    Don't even try to execute certs from prior epochs

commit a11f7b5d868396e0d23588d3713f6a70a43b293e
Author: Mark Logan <[email protected]>
Date:   Tue Oct 22 11:05:16 2024 -0700

    [cherrypick] Fix rare crash when a transaction executes after its shared object assignments have been deleted. (#19949)

    Fix rare crash when a transaction executes after its shared object
    assignments have been deleted.

    This is only possible if a second execution of the same tx starts
    concurrently, and the shared version assignments have been deleted as we
    are checking for object availability in TransactionManager

commit bf79606ff4eb7c666629f14157715c1219504fed
Author: Mark Logan <[email protected]>
Date:   Mon Oct 21 20:23:46 2024 -0700

    [cherrypick] Must not wait on notify_read_effects after epoch ends, on a transaction that might be reverted (#19934)

    Found this crash after adding the delay failpoint seen in this PR. I
    don't quite understand why that exposed this crash.

commit 8d34dfbb45414303cfd448c94bb04dcea0231369
Author: wlmyng <[email protected]>
Date:   Wed Oct 23 10:06:00 2024 -0700

    [indexer] committers should read watermark hi directly from table (#1… (#19981)

    …9980)

    ## 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 675ea8cf5437e6ade14d6c966ff8ff51a34b5357
Author: Mark Logan <[email protected]>
Date:   Tue Oct 22 14:47:53 2024 -0700

    [cherrypick] Fix possible (but probably rare) race condition (#19951) (#19967)

    Fix crashes in execution_driver due to inability to execute
    transactions.

    --------

    We must hold the lock for the object entry while inserting to the
    `object_by_id_cache`. Otherwise, a surprising bug can occur:

    1. A thread executing TX1 can write object (O,1) to the dirty set and
    then pause.
    2. TX2, which reads (O,1) can begin executing, because
    TransactionManager immediately
    schedules transactions if their inputs are available. It does not matter
    that TX1
       hasn't finished executing yet.
    3. TX2 can write (O,2) to both the dirty set and the object_by_id_cache.
    4. The thread executing TX1 can resume and write (O,1) to the
    object_by_id_cache.

    Now, any subsequent attempt to get the latest version of O will return
    (O,1) instead of
    (O,2).

    This seems very unlikely, but it may be more likely under the following
    circumstances:
    - While a thread is unlikely to pause for so long, moka cache uses
    optimistic
    lock-free algorithms that have retry loops. Possibly, under high
    contention, this
      code might spin for a surprisingly long time.
    - Additionally, many concurrent re-executions of the same tx could
    happen due to
    the tx finalizer, plus checkpoint executor, consensus, and RPCs from
    fullnodes.

    Unfortunately I have not been able to reproduce this bug, so we cannot
    be sure that
    this fixes the crashes we've seen. But this is certainly a possible bug.

    ## 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 a85ea98b9982e1156fedd9bd149ee77483587cf5
Author: Eugene Boguslavsky <[email protected]>
Date:   Tue Oct 22 19:08:14 2024 +0000

    Sui v1.36.2 Version Bump

commit cf3fee71b907969b9308bfa83802c16b9b29bc70
Author: Brandon Williams <[email protected]>
Date:   Mon Oct 21 21:17:57 2024 -0500

    Revert "rest: stabalize some checkpoint apis" (#19950)

    This reverts commit 13c1ec7b2a7a18e304444d63277c20f8f52a1bc2.

    ## 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: Eugene Boguslavsky <[email protected]>

commit 032ac7d9ad2367b43be0ccd444d18d6d4f0ca001
Author: Brandon Williams <[email protected]>
Date:   Mon Oct 21 20:41:26 2024 -0500

    1.36 index fix (#19947)

    ## 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: Eugene Boguslavsky <[email protected]>

commit f4695a93815a8e2ce43f558ef1b0ccf0e96ff51d
Author: Eugene Boguslavsky <[email protected]>
Date:   Tue Oct 22 00:37:13 2024 +0000

    Sui v1.36.1 Version Bump

commit e3e5ac7113a7bff11982ef44492618e9ee133e61
Author: Brandon Williams <[email protected]>
Date:   Fri Oct 18 17:07:29 2024 -0500

    jsonrpc_index: bump coin index version to 1

commit 0bf87c09f2d35a3567f3892ed648671adf656d75
Author: wlmyng <[email protected]>
Date:   Fri Oct 18 17:11:08 2024 -0700

    [indexer] align watermarks table schema in live indexer to alt indexe… (#19922)

    …r (#19908)

    ## Description

    Since watermarks table isn't being written to yet, modify the db schema
    to match alt-indexer. The changes are to rename entity -> pipeline,
    tx_hi_inclusive -> tx_hi, and pruner_hi_inclusive -> pruner_hi and make
    it a non-null column. This works out nicely for graphql, since the
    transactions query implementations expect a half-open interval. Also
    simplifies pruner logic, since it can write the `reader_lo` as
    `pruner_hi` after delay, and table pruners will delete between
    `[table_data, pruner_hi)`.

    ## 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:

    ## 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 1c9e15645e107ec85bb933f9ee4d38f070b8db40
Author: wlmyng <[email protected]>
Date:   Fri Oct 18 15:39:20 2024 -0700

    [indexer] quick fix for events in descending order without cursor (#1… (#19919)

    …9902)

    ## Description

    This PR fixes a bug where events queries in descending order without a
    cursor return no results

    ## 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:

    ## 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 95dcb93d79d23bc32adc8fd05d70c92e6db82b49
Author: Ge Gao <[email protected]>
Date:   Fri Oct 18 17:21:21 2024 -0400

    Pick: indexer handler: limit unprocessed buffer size #19913 (#19917)

    ## Description

    without this change, the unprocessed buffer will grow unboundedly until
    OOM
    it did not manifest on previous processor b/c it has sleep codes of
    ```
    _ = tokio::time::sleep(std::time::Duration::from_secs(config.sleep_duration))
    ```
    and `sleep_duration` is 5 seconds.

    ## Test plan

    - correctness via the added objects_snapshot test
    - oom via experiment result on benchmark env with mem usage
    [link](https://app.datadoghq.com/metric/explorer?fromUser=false&start=1729280070529&end=1729283670529&paused=false#N4Ig7glgJg5gpgFxALlAGwIYE8D2BXJVEADxQEYAaELcqyKBAC1pEbghkcLIF8qo4AMwgA7CAgg4RKUAiwAHOChASAtnADOcAE4RNIKtrgBHPJoQaUAbVBGN8qVoD6gnNtUZCKiOq279VKY6epbINiAiGOrKQdpYZAYgUJ4YThr42gDGSsgg6gi6mZaBZnHKGABuMMiZUggYojoAdOqqblhNeBoY8MAA1ngARnBOkb7yGNnI2vKZALTDIpmMHtp9AAQU67Ui9Y3ao1FwyBp4EHOiAsQ6POuDWOvADlCH6jwgPAC6VK7ueJihcK-VT-DAxUrxD7fEAaORoHKgCbwhAIHJJHAwJyZAEaCCZRJoRpOOSKZTpQlQAlE+hMZQiNweNAffgQeyYLDEhRowkiJRfHh8GHyQkIADCUmEMBQIn+aB4QA)

    ---

    ## 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 775f2cb85e6113639f15877127ed66c1f8ad4671
Author: Eugene Boguslavsky <[email protected]>
Date:   Thu Oct 17 19:25:36 2024 -0700

    Sui `v1.36.0` Framework Bytecode snapshot (#19904)

    ## Description
    Sui `v1.36.0` Framework Bytecode snapshot

    ## Test plan
    `cargo run --bin sui-framework-snapshot`

commit 3e8d2312106e66e9b24e6acfcbdb721aa1a78651
Author: Mark Logan <[email protected]>
Date:   Thu Oct 17 18:44:08 2024 -0700

    Revert congestion control change, use 3 txn per commit limit. (#19900)

commit d239be81239619feefeb9fbc007f6d6c78335961
Author: wlmyng <[email protected]>
Date:   Thu Oct 17 15:51:31 2024 -0700

    [indexer][watermarks][3/n] pruner updates watermarks lower bound (#19650)

    ## Description

    With the committer writing upper bounds, the pruner can now read from
    watermarks and determine whether the lower bounds need to be updated.
    Pruner does this by spawning a separate task, without touching the
    extant pruning logic (so all things are as is.) It will ignore any
    entries from watermarks that do not correspond to a `PrunableTable`
    variant.

    Part of a stack of PRs for watermarks

    simplify setting up test indexer:
    https://github.com/MystenLabs/sui/pull/19663
    update pruner config: https://github.com/MystenLabs/sui/pull/19637
    committer writes upper bounds
    https://github.com/MystenLabs/sui/pull/19649
    pruner writes lower bounds: https://github.com/MystenLabs/sui/pull/19650
    pruner prunes (wip)

    ## 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 446d7d5f111330bf915f9d5bf4e96ff4cf7aa857
Author: Bridgerz <[email protected]>
Date:   Thu Oct 17 21:57:20 2024 +0100

    Fix ViewSuiBridge Bridge CLI command (#19869)

    ## Description

    Handle the case where a bridge committee member is no longer a
    validator.

    ## Test plan

    Tested locally.

commit 67ac5c85a7df1c897336f987a7080f5887923f9a
Author: sui-merge-bot[bot] <114704316+sui-merge-bot[bot]@users.noreply.github.com>
Date:   Thu Oct 17 13:27:15 2024 -0700

    Version Packages (#19898)

    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

    -   477d2a4: Add new errors to ExecutionFailureStatus enum

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [477d2a4]
        -   @mysten/[email protected]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [477d2a4]
        -   @mysten/[email protected]
        -   @mysten/[email protected]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [477d2a4]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [477d2a4]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [477d2a4]
        -   @mysten/[email protected]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [477d2a4]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [477d2a4]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [477d2a4]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [477d2a4]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [477d2a4]
        -   @mysten/[email protected]

    ## @mysten/[email protected]

    ### Patch Changes

    -   Updated dependencies [477d2a4]
        -   @mysten/[email protected]
        -   @mysten/[email protected]

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

commit 477d2a41ae8c6a2af6afe4a241cdce73cda6aef9
Author: hayes-mysten <[email protected]>
Date:   Thu Oct 17 13:12:59 2024 -0700

    [ts sdk] Add new errors to ExecutionFailureStatus (#19897)

    ## 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 c3562a362bc04802e7ae074ab9947fa9697e4488
Author: Andrew Schran <[email protected]>
Date:   Thu Oct 17 16:04:36 2024 -0400

    Enable signed Discovery messages by default (#19895)

    ## Description

    Followup to PR #19587.

    ## Test plan

    As tested in first 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:
    - [x] Nodes (Validators and Full nodes): Adds authentication signatures
    to Discovery protocol messages.
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 491dcfe38a6d23e6771ebe1a33a674a0dbbe7d05
Author: Brandon Williams <[email protected]>
Date:   Thu Oct 17 14:30:02 2024 -0500

    ci: set log level to error

commit a762240611457bf262699713bf3db71004631139
Author: Jonas Lindstrøm <[email protected]>
Date:   Thu Oct 17 20:26:58 2024 +0200

    Extend fixed-point numbers module (#19336)

    ## Description

    - Deprecated `fixed_point32`
    - Added `uq32_32` to replace it

    ## Test plan

    - New 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: Move `fixed_point32` has been deprecated for a new `uq32_32` module
    - [ ] Rust SDK:
    - [ ] REST API:

    ---------

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

commit 0393579cd214511d5af61ba6fe052c42a34ff8a9
Author: sui-merge-bot[bot] <114704316+sui-merge-bot[bot]@users.noreply.github.com>
Date:   Thu Oct 17 12:03:38 2024 -0400

    Version Packages (#19892)

    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

    -   60f96ee: New stablecoin pool params

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

commit 60f96ee37c2c7c251ab07f495190ef89ad479ed8
Author: Tony Lee <[email protected]>
Date:   Thu Oct 17 11:28:22 2024 -0400

    New Deepbook Pool Params (#19891)

    ## Description

    New Deepbook Pool Params

    ## Test plan

    How did you test the new or updated feature?

    Mainnet

    ## 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 df56cb03c8c04653a43cc076b4450d2cecb32e8e
Author: Patrick Kuo <[email protected]>
Date:   Thu Oct 17 12:59:38 2024 +0100

    [Rosetta] - serialize total_coin_value to string instead of number to prevent precision lost (#19580)

    ## Description

    As titled

    ## 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: nikos.kitmeridis <[email protected]>

commit 8adfe733b6977acb879583a1cba354d419d5c707
Author: jk jensen <[email protected]>
Date:   Wed Oct 16 16:29:58 2024 -0700

    [suiop][image] enable q or esc to quit watching (#19881)

    ## Description

    Make it so the user can hit 'q' or 'esc' to exit the image watch
    interface

    ## Test plan

    https://github.com/user-attachments/assets/578ab67e-763e-4cd8-a4a7-1ac6006a4004

    ---

    ## 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 6d87bd24f2f5e88757d697a21cc13398f0f932a1
Author: Jort <[email protected]>
Date:   Wed Oct 16 16:01:58 2024 -0700

    [move] add return locations to source map (#19885)

    ## Description

    store the return loc's in source maps

    ## 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 6f3ce94e08d727635236980d6332bd91d6d46c78
Author: Tim Zakian <[email protected]>
Date:   Wed Oct 16 14:18:48 2024 -0700

    [move] Initial trace format and implementation (#18729) (#19858)

    This PR adds the initial trace format, and the implementation of this
    trace format in the VM. I've gone through the tracing format with most
    of you synchronously so won't write out all the details here (but I will
    take it on to write a spec for the trace format once this is done so
    other folks can use it when consuming this format). Happy to go through
    it at any point in real time.

    Other TODO: right now the `MoveValue`s only support serialize and not
    deserialize back into Rust so we can only push a trace out from Rust but
    not consume it. The next thing I'm working on right now is adding
    support for that, and it may be either an update to this PR, or an
    additional PR depending on how involved that is...

    Tests and integration of this into the Move CLI (not the Sui CLI yet) is
    in the PR above this one.

    This keeps the tracing largely feature-gated in the VM, and the only
    additional overhead/change at runtime with `gas-profiling` turned off is
    the additional argument, but this argument is unused and should be
    optimized away (and at worst only add essentially no overhead).

    I kept the `gas-profiling` feature flag and gated the new tracing under
    it. The plan being to eventually rename that flag at the same time that
    we update test coverage and gas profiling to use this new tracing format
    as well (but that's for a couple future PRs!).

    https://github.com/MystenLabs/sui/pull/19452 is stacked on top of this
    and cleans up the insertion points of the tracer into the VM.

    ---

    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:

    ## 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 cbffe5b8522ed7723371cf8fcfa802f47c1178ed
Author: Eugene Boguslavsky <[email protected]>
Date:   Wed Oct 16 12:51:13 2024 -0700

    Update mac os runner (#19883)

    ## Description
    `macos-latest-xl` is being depricated.
    ![Screenshot 2024-10-16 at 12 44
    20 PM](https://github.com/user-attachments/assets/d0f49345-2538-4836-bdbf-9975d6df5299)

    ## Test plan
    👀

commit b78eb1098ee2fcd08fb1576d049c354dd57fc8ca
Author: Anastasios Kichidis <[email protected]>
Date:   Wed Oct 16 20:00:19 2024 +0100

    [Consensus] fix amnesia recovery boot run (#19774)

    ## Description

    Currently if someone recovers their node within epoch `R` with a
    snapshot that's from epoch `< R-1` , consensus will not start in amnesia
    recovery mode in epoch R as the boot counter will have already been
    incremented as node is trying to catch up from earlier epochs. This is
    problematic as it defies the whole point of the automatic amnesia
    recovery.

    Instead on this PR we track consensus participation activity from
    earlier epochs/run and only then we increment the boot counter.
    Otherwise we keep the boot counter to `0` so we effectively enforce
    amnesia recovery until we get to an epoch where the node is able to
    participate. In this case participate means "able to have performed at
    least one commit".

    ## Test plan

    CI/PT

    ---

    ## 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 62f72cdea33c0782f3116dfd194ae81c562a0b43
Author: jk jensen <[email protected]>
Date:   Wed Oct 16 10:57:07 2024 -0700

    [suiop][image] add --watch/-w to continuously query image build (#19872)

    ## Description

    Add new arg to continuously query image remote builds

    ## Test plan

    https://github.com/user-attachments/assets/a6b3ec5d-605d-48f2-a241-9ade8bfbfbf3

    ---

    ## 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 692f6c6a89b2e32659574fa20828222d289b102d
Author: Tim Zakian <[email protected]>
Date:   Wed Oct 16 10:55:35 2024 -0700

    [move][ir-to-bytecode] Add source locations to `Type` in the Move IR (#19875)

    ## Description

    Plumbs in source locations for `Type`s in the Move IR. This will be
    useful for adding return types to the Move source maps.

    ## Test plan

    Make sure existing types 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:
    - [ ] Rust SDK:
    - [ ] REST API:

commit 31b15dde1758a6ba7d7029ecbd74804180f4800c
Author: Lu Zhang <[email protected]>
Date:   Wed Oct 16 08:51:49 2024 -0700

    [bridge] remove test-cluster's dependency on sui-bridge crate (#19840)

    ## Description

    as title. It also removes the transitive dependency of other crates on
    sui-bridge.

    ## Test plan

    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 8fec5f8caeaf0d0d5a9d13c776fc8dd80219719e
Author: Arun Koshy <[email protected]>
Date:   Wed Oct 16 01:48:58 2024 -0700

    Add known peers for p2p network connection monitor (#19815)

    ## Description

    This will enable quinn stats for p2p network

    ---

    ## 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 f8e33f58104e6ed0d38e756beb0572e3bc263f10
Author: Arun Koshy <[email protected]>
Date:   Wed Oct 16 00:58:39 2024 -0700

    [consensus] Migrate sui to Mysticeti connection monitor (#19814)

    ## Description

    Will follow up to ensure that known peers are set in sui via discovery
    so that metrics will be updated. Also will be adding
    TonicConnectionMonitor for Mysticeti to use.

    ---

    ## 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 2224cf355dc25d6ded1d9a4b93c6f31939b80a01
Author: Brandon Williams <[email protected]>
Date:   Tue Oct 15 20:53:11 2024 -0500

    rest: enable resolving of literals (#19857)

    Improve the format of `UnresolvedTransaction` as well as introduce the
    ability to resolve un-serialized pure argument literals.

    Example of JSON payload of an `UnresolvedTransaction`:
    ```
    {
      "inputs": [
        {
          "object_id": "0x2d7f57570815c43eb485be9018caabd11ac863e9d49b1d9e33b3f4ac40cadc72"
        },
        {
          "value": 1
        },
        {
          "value": "0xc6fc0e38458632b1dd1d60b3a833865268a0faebe36864c71fb9805bd5a116cf"
        }
      ],
      "commands": [
        {
          "command": "split_coins",
          "coin": {
            "input": 0
          },
          "amounts": [
            {
              "input": 1
            },
            {
              "input": 1
            }
          ]
        },
        {
          "command": "transfer_objects",
          "objects": [
            {
              "result": [
                0,
                1
              ]
            },
            {
              "result": [
                0,
                0
              ]
            }
          ],
          "address": {
            "input": 2
          }
        }
      ],
      "sender": "0xff69fdb72bfc6ff5a337ff01c650fb0ce72447105ff050c2039c6b5b267b04a7"
    }
    ```

    which is resolved into the following `Transaction`:

    ```
    {
      "version": "1",
      "kind": {
        "kind": "programmable_transaction",
        "inputs": [
          {
            "type": "immutable_or_owned",
            "object_id": "0x03517c0699f36a1df2e93b6c18db815d8f247a853465aec9cc48f9ceae4561ca",
            "version": "1",
            "digest": "7WyoNoiZQmTj75viHKYhA48tCSJ5CFqA6HtzJ55hehxP"
          },
          {
            "type": "pure",
            "value": "AQAAAAAAAAA="
          },
          {
            "type": "pure",
            "value": "JtcBTFgpW/n7HipqY6oz4bka0J8PyUPlSQbjR5lCq0Y="
          }
        ],
        "commands": [
          {
            "command": "split_coins",
            "coin": {
              "input": 0
            },
            "amounts": [
              {
                "input": 1
              },
              {
                "input": 1
              }
            ]
          },
          {
            "command": "transfer_objects",
            "objects": [
              {
                "result": [
                  0,
                  1
                ]
              },
              {
                "result": [
                  0,
                  0
                ]
              }
            ],
            "address": {
              "input": 2
            }
          }
        ]
      },
      "sender": "0xb73663359e72a36122aaf3f08629fa684b667e0fe6e356b119c623c7c9459888",
      "gas_payment": {
        "objects": [
          {
            "object_id": "0x94b1bef12a8db7b60fa89ad9bc2966d661a3a1002d921ada981e700648470304",
            "version": "1",
            "digest": "9kcUt38E4i8g5DartpUdBxW9m5n1u8AaJLyintWiddd6"
          },
          {
            "object_id": "0xacc757731db589ef093130e0d6c839e809f9673a51be92667ecbcd486db73995",
            "version": "1",
            "digest": "2U3xxN1G9vf4raCGUHz6AejqVMWJCkEBmsbLgqwae5be"
          },
          {
            "object_id": "0xd0891f6c419f3dd1a531e70779979f3c7aa91d13ae9125ffbae05f3960ee4249",
            "version": "1",
            "digest": "DkJRVUKfwV9pZ1NYEydvKwGpJei7YDDRemfRahruBDsQ"
          },
          {
            "object_id": "0xde8bdc786f18e7d1b9d2ac975acd640952fd3c75303e4f35d0657f90ab7e947e",
            "version": "1",
            "digest": "8RJuNzFawuVbFz6zSH1GMeJuwiHfT2ZzfHKHdr6LrJrU"
          }
        ],
        "owner": "0xb73663359e72a36122aaf3f08629fa684b667e0fe6e356b119c623c7c9459888",
        "price": "1000",
        "budget": "5952000"
      },
      "expiration": null
    }
    ```

commit 6cc663c639ca3fa1421db7021e0af33b0466e1be
Author: wlmyng <[email protected]>
Date:   Tue Oct 15 18:42:57 2024 -0700

    [indexer][writer] Add first_tx_sequence_number to epochs table to decouple from checkpoints table (#19773)

    ## Description

    The `epoch_total_transactions` field on `epochs` table is calculated
    today from `checkpoints.network_total_transactions`, which is not ideal
    since the latter is prunable and `epochs` will not be pruned for the
    foreseeable future. To remove this dependency, we add
    `first_tx_sequence_number` to the `epochs` table at epoch boundary. That
    is, the network total transaction count from the final checkpoint of the
    epoch becomes the first tx sequence number of the new epoch. This also
    means that at epoch boundary, the current-to-be-previous epoch's
    `epoch_total_transactions` is derived from the checkpoint's network
    total transactions - the epoch's `first_tx_sequence_number`.
    Consequently, this will also help in the pruner implementation, as given
    an epoch we'd like to know the corresponding cp and tx.

    This encompasses just the writer change. Before updating the read path,
    we will need to backfill the instance.

    ## 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 71f9203abbf9bf0a3a887e1f2157a7caed7bcef2
Author: Brandon Williams <[email protected]>
Date:   Tue Oct 15 10:19:36 2024 -0500

    jsonrpc: introduce a meta column family for tracking index initialization

    Introduce a meta column family that is used to track initialization of
    the Index DB itself as well as the status of the various column families
    themsevles.

commit 814af2a99e0e66bda4fec1748082ce4af7fd3137
Author: Brandon Williams <[email protected]>
Date:   Tue Oct 15 10:18:02 2024 -0500

    jsonrpc, rest: reduce batch size to 128MB before writting

    Reduce the minimum batch size to write out during indexing the live
    object set from 256MB to 128MB, these smaller batch sizes resulted in a
    small improvement to index initialization.

commit d7e977a0ac58b885a98c4967e3e82cce43e720ff
Author: Brandon Williams <[email protected]>
Date:   Fri Oct 11 15:24:26 2024 -0500

    jsonrpc: add test for sorted coin balances

commit c3371a28c783ff1e54b71c873b98f80b394f30a3
Author: Brandon Williams <[email protected]>
Date:   Fri Oct 11 14:07:40 2024 -0500

    jsonrpc: initialize new coin_index_2

    Initialize the new coin_index_2 index and clear the old coin_index
    column family.

commit 47ba7e4684147b91cbf0fa628ce83f4a4b80d3bc
Author: Brandon Williams <[email protected]>
Date:   Fri Oct 11 12:47:08 2024 -0500

    jsonrpc: introduce coin_index_2 with coins sorted by balance

    Introduce a new coin_index_2 index with coins sorted by balance in
    decreasing value (sorted high to low).

commit 6159973ae01f7b74505271d5ae76681f6594fe59
Author: Brandon Williams <[email protected]>
Date:   Fri Oct 11 10:25:19 2024 -0500

    core: factor out parallel live object indexing

    Factor out the parallel live object indexing, used for initializing the
    rest indexes, into more general purpose and reusable logic.

commit 4ad76b5679ec0e11b635537074b552cc96d584ba
Author: Brandon Williams <[email protected]>
Date:   Fri Oct 11 09:07:27 2024 -0500

    jsonrpc: move indexes from sui-storage to sui-core

commit 99cebd9469dea1c2bbbd73d4cd6fb8284203a93a
Author: Brandon Williams <[email protected]>
Date:   Fri Oct 11 08:45:29 2024 -0500

    db_tool: remove loaded_child_object_versions search match arm

commit 455e6c981e2af4da7bcd91e1e6642b3f8a10cb5a
Author: Eugene Boguslavsky <[email protected]>
Date:   Tue Oct 15 16:00:17 2024 -0700

    Fix node operator doc quote (#19874)

    ## Description
    Fix node operator doc quote

    ## Test plan
    Before:
    ![Screenshot 2024-10-15 at 3 31
    55 PM](https://github.com/user-attachments/assets/c6aabc7b-328c-4404-be4a-b8b5c124e111)

    After:
    ![Screenshot 2024-10-15 at 3 32
    00 PM](https://github.com/user-attachments/assets/3ef6d6dc-516a-4771-9a2f-a898610893bb)

commit 3be7841e208731a69b8dd7ad5b39fa94f92fe59f
Author: Eugene Boguslavsky <[email protected]>
Date:   Tue Oct 15 15:28:22 2024 -0700

    Add release info for sui-full-node doc (#19808)

    ## Description
    Add release info for sui-full-node doc

    ## Test plan
    @ronny-mysten !

    ---------

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

commit ee100a7ed7e4cc6503fb5e7b94349151f24597e0
Author: techdebt-99 <[email protected]>
Date:   Tue Oct 15 16:21:56 2024 -0600

    Update sponsor-txn.mdx (#19873)

    ## 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 8fa9f571a26f3e3faeec78afca706c8eedb2b283
Author: Zhe Wu <[email protected]>
Date:   Tue Oct 15 14:31:16 2024 -0700

    Use more realistic cap factor in simtest (#19862)

    ## Description

    So that we can exercise cap factor is higher and lower than the gas
    budget.

    ## Test plan

    Updating 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 e2c7aa1f4e3d0facbff0af78aad5bda283bc145e
Author: ronny-mysten <[email protected]>
Date:   Tue Oct 15 15:31:04 2024 -0600

    [docs] Update dbv3 content (#19867)

    ## Description

    DBv3 is now on Mainnet. Makes the sentence removed somewhat pointless.

    ## 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 25c52c659ff00c0c54834de73760b38b6dbca938
Author: hayes-mysten <[email protected]>
Date:   Tue Oct 15 13:57:16 2024 -0700

    [gql-transport] fix rawInput for transaction queries (#19866)

    ## 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 aa2ca1d79fc3de862e398716f044337b6757acc1
Author: Tom Cat <[email protected]>
Date:   Wed Oct 16 03:31:17 2024 +0700

    [Linter] Redundant ref deref (#16491)

    ## Description
    This lint rule detects and reports unnecessary temporary borrow
    operations followed by a dereference and a local borrow in Move code. It
    aims to improve code efficiency by suggesting direct usage of
    expressions without redundant operations.
    Implementation
    The lint rule is implemented as follows:

    A temporary borrow (TempBorrow)
    Followed by a dereference (Dereference)
    Where the dereferenced expression is either a BorrowLocal, Borrow, or
    another TempBorrow

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

    ## Release notes

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

    ---------

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

commit 6b231597e707bae887ca038d670ba3aa02775d37
Author: pei-mysten <[email protected]>
Date:   Tue Oct 15 11:59:35 2024 -0700

    [docker] fix dockerfile for kaniko (#19865)

    ## Description

    kaniko doesn't like `*` wildcard, so have to be a little bit smarter.

    ## Test plan

    had a successfully built from kaniko. I pulled it down and inspected
    manually, binaries are ther

    ---

    ## 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 8aac6c2cfcbc48efd1ccb34ea8cfd28eae99b701
Author: Tony Lee <[email protected]>
Date:   Tue Oct 15 14:44:56 2024 -0400

    Faucet Routes (#19692)

    ## 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 e510867bd334fdd7b95bf0dab2ea7ce6b49f2409
Author: nikos-terzo <[email protected]>
Date:   Tue Oct 15 21:17:19 2024 +0300

    Update typescript sdk examples (#19816)

    ## Description

    Update Typescript SDK examples in README to work

    ## Test plan

    Copy-pasted changed code to a new project depending on '@mysten/sui' and
    checked for no relevant typescript errors.

    ---

    ## 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 4241c352fff0d71b40ec3148e62b558877c82d13
Author: Tim Zakian <[email protected]>
Date:   Tue Oct 15 11:06:54 2024 -0700

    [move][docgen] Render string constants for error constants (#19823)

    ## Description

    This updates how constants annotated with `#[error]` are rendered in
    docgen. This also adds the `#[error]` annotation on them in the
    generated documentation.

    Note that we don't try to render all bytearrays as strings, but only
    constants with the `#[error]` annotation to avoid rendering normal
    bytearrays strings.

    ## Test plan

    Added a test to make sure we render error-annotated consts as we expect.

commit 4357bfa20c4a4eb1675f2f31e32a34b8f5956db2
Author: Eugene Boguslavsky <[email protected]>
Date:   Tue Oct 15 10:35:55 2024 -0700

    Remove mysten-tap sui.rb update (#19861)

    ## Description
    Remove mysten-tap sui.rb update

    ## Test plan
    👀

commit 1e72cfbe5a269b880245c4de777a8126c4d3557f
Author: mwtian <[email protected]>
Date:   Tue Oct 15 10:07:29 2024 -0700

    [db] allow putting larger layer in higher levels (#19854)

    ## Description

    A followup to #19770. For cfs larger than 250GB, they need to be able to
    shard the files.

    ## Test plan

    Applied the new setting to other large cfs (transactions, effects) on
    fullnodes.

    ---

    ## 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 34416bfce4f949c7ba07e08a47535f15f59dbf4a
Author: Anastasios Kichidis <[email protected]>
Date:   Tue Oct 15 13:26:52 2024 +0100

    [Consensus] DagState to evict blocks based on GC round (#19465)

    ## Description

    Currently we evict the cached ref entries in DagState whenever we
    `flush`. At this point we evict the entries for each authority by
    dropping all the blocks which are `<= evict_round`, where `evict_round =
    authority_latest_commit_round - CACHED_ROUNDS` . The `CACHED_ROUNDS`
    here allow us to keep around for a little longer committed blocks. Of
    course all the blocks that are `> evict_round` are kept.

    This can work fine so far where we don't use GC , as we expect
    eventually to include blocks from other peers as weak links - no matter
    how far back they are - and that will move the
    `authority_latest_commit_round` and trigger the eviction of their blocks
    from our memory. Now with GC we don't have those guarantees. It is
    possible to get to a scenario where even a group of slow nodes that are
    constantly behind `gc_round`, they keep proposing but their blocks never
    get committed. Although their blocks should not end up in others DAGs ,
    they will remain in their own and fill up their memory. Overall, the
    current approach will provide weaker guarantees.

    This PR is changing the eviction strategy so it's driven by the
    `gc_round`. Doing though the eviction purely on the `gc_round` will
    change a lot the semantics of the `DagState` as one of the intentions
    was to keep recent cached data from each authority. That would also be
    particularly visible for authorities for which we do not have frequent
    block proposals, as we could end up always evicting all their blocks if
    they are behind the `gc_round`. Then this would not allow us to do
    certain operations we used to do before with cached data(ex get latest
    cached block per authority).

    For that reason this PR is changing a bit the semantics of the
    `CACHED_ROUNDS` and from now on it will be the minimum/desired amount of
    rounds we want to keep in cache for each of authority. The eviction
    algorithm will still attempt to clean up records that are `<= gc_round`,
    but it will also make sure that `CACHED_ROUNDS` worth of data are kept
    around.
    Especially for more edge case situation where a node has not produced
    blocks `> gc_round`, we guarantee to keep `CACHED_ROUNDS` even when all
    of them are `<= gc_round`, but we'll eventually evict anything before -
    practically like a moving window.

    ## Test plan

    CI/PT

    ---

    ## 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 72e54057fc8fe651334772d5918c687a28d21a78
Author: Zhe Wu <[email protected]>
Date:   Mon Oct 14 23:33:00 2024 -0700

    Implement gas budget based congestion control with PTB/Obj cap (#19853)

    ## Description

    Introducing a new congestion control mechanism using gas budget as
    estimate but cap transaction cost based on
    transaction shape.

    ## Test plan

    Unit test
    Integration 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 2e681a0063cecb4c31ff7aa3c42f1821d8237799
Author: Arun Koshy <[email protected]>
Date:   Mon Oct 14 21:56:42 2024 -0700

    [consensus] Enable distributed vote scoring in mainnet v63 (#19799)

    ## Description

    Bump to protocol version 63

    ## Test plan

    How did you test the new or updated feature?

    Has been running nightly in private-testnet and also running
    successfully in testnet https://metrics.sui.io/goto/KDyf-3kHR?orgId=1

    ---

    ## 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 distributed vote scoring in mainnet v63
    - [ ] Nodes (Validators and Full nodes):
    - [ ] Indexer:
    - [ ] JSON-RPC:
    - [ ] GraphQL:
    - [ ] CLI:
    - [ ] Rust SDK:
    - [ ] REST API:

commit e920c3e0cfc8673e0858c69a94d8bbc261b0fa27
Author: mwtian <[email protected]>
Date:   Mon Oct 14 21:36:13 2024 -0700

    Lower per object queue age and length thresholds (#19851)

    ## Description

    The original limits on the object queue are set with 1s checkpoint
    interval. Having the oldest transaction on an object queued for 1s is
    almost tolerable. In hindsight it should be lower than the checkpoint
    interval to ensure healthy system. Now checkpoint interval is targeting
    0.2s - 0.25s, so lowering the limits further to 0.2s, to ensure smooth
    checkpoint constructions.

    ## Test plan

    CI
    PT
    Reading `num_rejected_cert_during_overload` metric from validators.

    ---

    ## 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 6592989f0985347985f20b5ea4f037575c031d7b
Author: sui-merge-bot[bot] <114704316+sui-merge-bot[bot]@users.noreply.github.com>
Date:   Mon Oct 14 14:00:28 2024 -0400

    Version Packages (#19846)

    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

    -   7b8e8ad: Mainnet pool packages

    ## @mysten/[email protected]

    ### Patch Changes

    - 5299c18: Update the GraphQL transport to account for the removal of
    recvAddress and the
        introduction of affectedAddress.

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

commit 7b8e8ad552eb3c1e13b7554d2d6ed251a6e0c141
Author: Tony Lee <[email protected]>
Date:   Mon Oct 14 13:48:31 2024 -0400

    Mainnet Pools (#19850)

    ## Description

    Mainnet Pools Deploy

    ## Test plan

    How did you test the new or updated feature?

    Mainnet

    ## 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 7227a4f59da9e46a9a7cde281ca8c6873561fbfe
Author: ronny-mysten <[email protected]>
Date:   Mon Oct 14 09:13:17 2024 -0600

    [docs][ci] Update parameters (#19829)

    Updating parameters.

    ## 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.

   …
carlosbmamoru pushed a commit to Mamoru-Foundation/sui that referenced this pull request Oct 29, 2024
commit c663b6325e0c2688e3e474165a6c8e7693b6fd11
Author: Carlos Baez <[email protected]>
Date:   Tue Oct 29 17:07:01 2024 +0100

    Fixed extend calltraces

commit 72994fe5ee4f4d12c31a8a888c4f7c384e765a4b
Author: Carlos Baez <[email protected]>
Date:   Mon Oct 28 10:25:51 2024 +0100

    Squashed commit of the following:

    commit 3ada97c109cc7ae1b451cb384a1f2cfae49c8d3e
    Author: Ashok Menon <[email protected]>
    Date:   Fri Oct 25 23:58:47 2024 +0100

        sui-system(v1.36): fix next epoch stake book-keeping (#20036)

        ## Description

        Update `next_epoch_stake` when redeeming a fungible staked sui. This
        value is used as a sanity check that everything matches up at the end of
        an epoch.

        ## Test plan

        ```
        sui$ cargo nextest run -p sui-framework-tests
        ```

        ## 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.

        - [x] Protocol: Protocol bumped to 67, introducing a framework change to
        fix next_epoch_stake book-keeping while redeeming fungible staked sui.
        - [ ] Nodes (Validators and Full nodes):
        - [ ] Indexer:
        - [ ] JSON-RPC:
        - [ ] GraphQL:
        - [ ] CLI:
        - [ ] Rust SDK:
        - [ ] REST API:

        ---------

        Co-authored-by: Arun Koshy <[email protected]>
        Co-authored-by: Sam Blackshear <[email protected]>
        Co-authored-by: Emma Zhong <[email protected]>

    commit 81da0c70ea1f862a8aed0cafad781a86b0bf65bb
    Author: Ge Gao <[email protected]>
    Date:   Thu Oct 24 18:50:57 2024 -0400

        pick: indexer: handle sui safe mode (#20015) (#20025)

        ## Description

        title

        ## 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:

        ## 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 29ff3e3f53fc7aa590da97d1033265645be1ea1a
    Author: Mark Logan <[email protected]>
    Date:   Wed Oct 23 09:12:40 2024 -0700

        [cherrypick] Fix logic for end-of-epoch checkpoint when dkg has failed (#19976)

        If DKG has failed, we might accidentally construct two end of epoch
        checkpoints.

    commit 7a166ee0e58d036fbf626ba6bc21a3c2ec92225e
    Author: Mark Logan <[email protected]>
    Date:   Tue Oct 22 17:24:48 2024 -0700

        [cherrypick] Fix one more possible crash in execution_driver (#19870)

        Don't even try to execute certs from prior epochs

    commit a11f7b5d868396e0d23588d3713f6a70a43b293e
    Author: Mark Logan <[email protected]>
    Date:   Tue Oct 22 11:05:16 2024 -0700

        [cherrypick] Fix rare crash when a transaction executes after its shared object assignments have been deleted. (#19949)

        Fix rare crash when a transaction executes after its shared object
        assignments have been deleted.

        This is only possible if a second execution of the same tx starts
        concurrently, and the shared version assignments have been deleted as we
        are checking for object availability in TransactionManager

    commit bf79606ff4eb7c666629f14157715c1219504fed
    Author: Mark Logan <[email protected]>
    Date:   Mon Oct 21 20:23:46 2024 -0700

        [cherrypick] Must not wait on notify_read_effects after epoch ends, on a transaction that might be reverted (#19934)

        Found this crash after adding the delay failpoint seen in this PR. I
        don't quite understand why that exposed this crash.

    commit 8d34dfbb45414303cfd448c94bb04dcea0231369
    Author: wlmyng <[email protected]>
    Date:   Wed Oct 23 10:06:00 2024 -0700

        [indexer] committers should read watermark hi directly from table (#1… (#19981)

        …9980)

        ## 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 675ea8cf5437e6ade14d6c966ff8ff51a34b5357
    Author: Mark Logan <[email protected]>
    Date:   Tue Oct 22 14:47:53 2024 -0700

        [cherrypick] Fix possible (but probably rare) race condition (#19951) (#19967)

        Fix crashes in execution_driver due to inability to execute
        transactions.

        --------

        We must hold the lock for the object entry while inserting to the
        `object_by_id_cache`. Otherwise, a surprising bug can occur:

        1. A thread executing TX1 can write object (O,1) to the dirty set and
        then pause.
        2. TX2, which reads (O,1) can begin executing, because
        TransactionManager immediately
        schedules transactions if their inputs are available. It does not matter
        that TX1
           hasn't finished executing yet.
        3. TX2 can write (O,2) to both the dirty set and the object_by_id_cache.
        4. The thread executing TX1 can resume and write (O,1) to the
        object_by_id_cache.

        Now, any subsequent attempt to get the latest version of O will return
        (O,1) instead of
        (O,2).

        This seems very unlikely, but it may be more likely under the following
        circumstances:
        - While a thread is unlikely to pause for so long, moka cache uses
        optimistic
        lock-free algorithms that have retry loops. Possibly, under high
        contention, this
          code might spin for a surprisingly long time.
        - Additionally, many concurrent re-executions of the same tx could
        happen due to
        the tx finalizer, plus checkpoint executor, consensus, and RPCs from
        fullnodes.

        Unfortunately I have not been able to reproduce this bug, so we cannot
        be sure that
        this fixes the crashes we've seen. But this is certainly a possible bug.

        ## 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 a85ea98b9982e1156fedd9bd149ee77483587cf5
    Author: Eugene Boguslavsky <[email protected]>
    Date:   Tue Oct 22 19:08:14 2024 +0000

        Sui v1.36.2 Version Bump

    commit cf3fee71b907969b9308bfa83802c16b9b29bc70
    Author: Brandon Williams <[email protected]>
    Date:   Mon Oct 21 21:17:57 2024 -0500

        Revert "rest: stabalize some checkpoint apis" (#19950)

        This reverts commit 13c1ec7b2a7a18e304444d63277c20f8f52a1bc2.

        ## 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: Eugene Boguslavsky <[email protected]>

    commit 032ac7d9ad2367b43be0ccd444d18d6d4f0ca001
    Author: Brandon Williams <[email protected]>
    Date:   Mon Oct 21 20:41:26 2024 -0500

        1.36 index fix (#19947)

        ## 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: Eugene Boguslavsky <[email protected]>

    commit f4695a93815a8e2ce43f558ef1b0ccf0e96ff51d
    Author: Eugene Boguslavsky <[email protected]>
    Date:   Tue Oct 22 00:37:13 2024 +0000

        Sui v1.36.1 Version Bump

    commit e3e5ac7113a7bff11982ef44492618e9ee133e61
    Author: Brandon Williams <[email protected]>
    Date:   Fri Oct 18 17:07:29 2024 -0500

        jsonrpc_index: bump coin index version to 1

    commit 0bf87c09f2d35a3567f3892ed648671adf656d75
    Author: wlmyng <[email protected]>
    Date:   Fri Oct 18 17:11:08 2024 -0700

        [indexer] align watermarks table schema in live indexer to alt indexe… (#19922)

        …r (#19908)

        ## Description

        Since watermarks table isn't being written to yet, modify the db schema
        to match alt-indexer. The changes are to rename entity -> pipeline,
        tx_hi_inclusive -> tx_hi, and pruner_hi_inclusive -> pruner_hi and make
        it a non-null column. This works out nicely for graphql, since the
        transactions query implementations expect a half-open interval. Also
        simplifies pruner logic, since it can write the `reader_lo` as
        `pruner_hi` after delay, and table pruners will delete between
        `[table_data, pruner_hi)`.

        ## 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:

        ## 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 1c9e15645e107ec85bb933f9ee4d38f070b8db40
    Author: wlmyng <[email protected]>
    Date:   Fri Oct 18 15:39:20 2024 -0700

        [indexer] quick fix for events in descending order without cursor (#1… (#19919)

        …9902)

        ## Description

        This PR fixes a bug where events queries in descending order without a
        cursor return no results

        ## 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:

        ## 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 95dcb93d79d23bc32adc8fd05d70c92e6db82b49
    Author: Ge Gao <[email protected]>
    Date:   Fri Oct 18 17:21:21 2024 -0400

        Pick: indexer handler: limit unprocessed buffer size #19913 (#19917)

        ## Description

        without this change, the unprocessed buffer will grow unboundedly until
        OOM
        it did not manifest on previous processor b/c it has sleep codes of
        ```
        _ = tokio::time::sleep(std::time::Duration::from_secs(config.sleep_duration))
        ```
        and `sleep_duration` is 5 seconds.

        ## Test plan

        - correctness via the added objects_snapshot test
        - oom via experiment result on benchmark env with mem usage
        [link](https://app.datadoghq.com/metric/explorer?fromUser=false&start=1729280070529&end=1729283670529&paused=false#N4Ig7glgJg5gpgFxALlAGwIYE8D2BXJVEADxQEYAaELcqyKBAC1pEbghkcLIF8qo4AMwgA7CAgg4RKUAiwAHOChASAtnADOcAE4RNIKtrgBHPJoQaUAbVBGN8qVoD6gnNtUZCKiOq279VKY6epbINiAiGOrKQdpYZAYgUJ4YThr42gDGSsgg6gi6mZaBZnHKGABuMMiZUggYojoAdOqqblhNeBoY8MAA1ngARnBOkb7yGNnI2vKZALTDIpmMHtp9AAQU67Ui9Y3ao1FwyBp4EHOiAsQ6POuDWOvADlCH6jwgPAC6VK7ueJihcK-VT-DAxUrxD7fEAaORoHKgCbwhAIHJJHAwJyZAEaCCZRJoRpOOSKZTpQlQAlE+hMZQiNweNAffgQeyYLDEhRowkiJRfHh8GHyQkIADCUmEMBQIn+aB4QA)

        ---

        ## 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 775f2cb85e6113639f15877127ed66c1f8ad4671
    Author: Eugene Boguslavsky <[email protected]>
    Date:   Thu Oct 17 19:25:36 2024 -0700

        Sui `v1.36.0` Framework Bytecode snapshot (#19904)

        ## Description
        Sui `v1.36.0` Framework Bytecode snapshot

        ## Test plan
        `cargo run --bin sui-framework-snapshot`

    commit 3e8d2312106e66e9b24e6acfcbdb721aa1a78651
    Author: Mark Logan <[email protected]>
    Date:   Thu Oct 17 18:44:08 2024 -0700

        Revert congestion control change, use 3 txn per commit limit. (#19900)

    commit d239be81239619feefeb9fbc007f6d6c78335961
    Author: wlmyng <[email protected]>
    Date:   Thu Oct 17 15:51:31 2024 -0700

        [indexer][watermarks][3/n] pruner updates watermarks lower bound (#19650)

        ## Description

        With the committer writing upper bounds, the pruner can now read from
        watermarks and determine whether the lower bounds need to be updated.
        Pruner does this by spawning a separate task, without touching the
        extant pruning logic (so all things are as is.) It will ignore any
        entries from watermarks that do not correspond to a `PrunableTable`
        variant.

        Part of a stack of PRs for watermarks

        simplify setting up test indexer:
        https://github.com/MystenLabs/sui/pull/19663
        update pruner config: https://github.com/MystenLabs/sui/pull/19637
        committer writes upper bounds
        https://github.com/MystenLabs/sui/pull/19649
        pruner writes lower bounds: https://github.com/MystenLabs/sui/pull/19650
        pruner prunes (wip)

        ## 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 446d7d5f111330bf915f9d5bf4e96ff4cf7aa857
    Author: Bridgerz <[email protected]>
    Date:   Thu Oct 17 21:57:20 2024 +0100

        Fix ViewSuiBridge Bridge CLI command (#19869)

        ## Description

        Handle the case where a bridge committee member is no longer a
        validator.

        ## Test plan

        Tested locally.

    commit 67ac5c85a7df1c897336f987a7080f5887923f9a
    Author: sui-merge-bot[bot] <114704316+sui-merge-bot[bot]@users.noreply.github.com>
    Date:   Thu Oct 17 13:27:15 2024 -0700

        Version Packages (#19898)

        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

        -   477d2a4: Add new errors to ExecutionFailureStatus enum

        ## @mysten/[email protected]

        ### Patch Changes

        -   Updated dependencies [477d2a4]
            -   @mysten/[email protected]
            -   @mysten/[email protected]

        ## @mysten/[email protected]

        ### Patch Changes

        -   Updated dependencies [477d2a4]
            -   @mysten/[email protected]
            -   @mysten/[email protected]
            -   @mysten/[email protected]

        ## @mysten/[email protected]

        ### Patch Changes

        -   Updated dependencies [477d2a4]
            -   @mysten/[email protected]

        ## @mysten/[email protected]

        ### Patch Changes

        -   Updated dependencies [477d2a4]
            -   @mysten/[email protected]

        ## @mysten/[email protected]

        ### Patch Changes

        -   Updated dependencies [477d2a4]
            -   @mysten/[email protected]
            -   @mysten/[email protected]

        ## @mysten/[email protected]

        ### Patch Changes

        -   Updated dependencies [477d2a4]
            -   @mysten/[email protected]

        ## @mysten/[email protected]

        ### Patch Changes

        -   Updated dependencies [477d2a4]
            -   @mysten/[email protected]

        ## @mysten/[email protected]

        ### Patch Changes

        -   Updated dependencies [477d2a4]
            -   @mysten/[email protected]

        ## @mysten/[email protected]

        ### Patch Changes

        -   Updated dependencies [477d2a4]
            -   @mysten/[email protected]

        ## @mysten/[email protected]

        ### Patch Changes

        -   Updated dependencies [477d2a4]
            -   @mysten/[email protected]

        ## @mysten/[email protected]

        ### Patch Changes

        -   Updated dependencies [477d2a4]
            -   @mysten/[email protected]
            -   @mysten/[email protected]

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

    commit 477d2a41ae8c6a2af6afe4a241cdce73cda6aef9
    Author: hayes-mysten <[email protected]>
    Date:   Thu Oct 17 13:12:59 2024 -0700

        [ts sdk] Add new errors to ExecutionFailureStatus (#19897)

        ## 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 c3562a362bc04802e7ae074ab9947fa9697e4488
    Author: Andrew Schran <[email protected]>
    Date:   Thu Oct 17 16:04:36 2024 -0400

        Enable signed Discovery messages by default (#19895)

        ## Description

        Followup to PR #19587.

        ## Test plan

        As tested in first 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:
        - [x] Nodes (Validators and Full nodes): Adds authentication signatures
        to Discovery protocol messages.
        - [ ] Indexer:
        - [ ] JSON-RPC:
        - [ ] GraphQL:
        - [ ] CLI:
        - [ ] Rust SDK:
        - [ ] REST API:

    commit 491dcfe38a6d23e6771ebe1a33a674a0dbbe7d05
    Author: Brandon Williams <[email protected]>
    Date:   Thu Oct 17 14:30:02 2024 -0500

        ci: set log level to error

    commit a762240611457bf262699713bf3db71004631139
    Author: Jonas Lindstrøm <[email protected]>
    Date:   Thu Oct 17 20:26:58 2024 +0200

        Extend fixed-point numbers module (#19336)

        ## Description

        - Deprecated `fixed_point32`
        - Added `uq32_32` to replace it

        ## Test plan

        - New 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: Move `fixed_point32` has been deprecated for a new `uq32_32` module
        - [ ] Rust SDK:
        - [ ] REST API:

        ---------

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

    commit 0393579cd214511d5af61ba6fe052c42a34ff8a9
    Author: sui-merge-bot[bot] <114704316+sui-merge-bot[bot]@users.noreply.github.com>
    Date:   Thu Oct 17 12:03:38 2024 -0400

        Version Packages (#19892)

        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

        -   60f96ee: New stablecoin pool params

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

    commit 60f96ee37c2c7c251ab07f495190ef89ad479ed8
    Author: Tony Lee <[email protected]>
    Date:   Thu Oct 17 11:28:22 2024 -0400

        New Deepbook Pool Params (#19891)

        ## Description

        New Deepbook Pool Params

        ## Test plan

        How did you test the new or updated feature?

        Mainnet

        ## 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 df56cb03c8c04653a43cc076b4450d2cecb32e8e
    Author: Patrick Kuo <[email protected]>
    Date:   Thu Oct 17 12:59:38 2024 +0100

        [Rosetta] - serialize total_coin_value to string instead of number to prevent precision lost (#19580)

        ## Description

        As titled

        ## 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: nikos.kitmeridis <[email protected]>

    commit 8adfe733b6977acb879583a1cba354d419d5c707
    Author: jk jensen <[email protected]>
    Date:   Wed Oct 16 16:29:58 2024 -0700

        [suiop][image] enable q or esc to quit watching (#19881)

        ## Description

        Make it so the user can hit 'q' or 'esc' to exit the image watch
        interface

        ## Test plan

        https://github.com/user-attachments/assets/578ab67e-763e-4cd8-a4a7-1ac6006a4004

        ---

        ## 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 6d87bd24f2f5e88757d697a21cc13398f0f932a1
    Author: Jort <[email protected]>
    Date:   Wed Oct 16 16:01:58 2024 -0700

        [move] add return locations to source map (#19885)

        ## Description

        store the return loc's in source maps

        ## 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 6f3ce94e08d727635236980d6332bd91d6d46c78
    Author: Tim Zakian <[email protected]>
    Date:   Wed Oct 16 14:18:48 2024 -0700

        [move] Initial trace format and implementation (#18729) (#19858)

        This PR adds the initial trace format, and the implementation of this
        trace format in the VM. I've gone through the tracing format with most
        of you synchronously so won't write out all the details here (but I will
        take it on to write a spec for the trace format once this is done so
        other folks can use it when consuming this format). Happy to go through
        it at any point in real time.

        Other TODO: right now the `MoveValue`s only support serialize and not
        deserialize back into Rust so we can only push a trace out from Rust but
        not consume it. The next thing I'm working on right now is adding
        support for that, and it may be either an update to this PR, or an
        additional PR depending on how involved that is...

        Tests and integration of this into the Move CLI (not the Sui CLI yet) is
        in the PR above this one.

        This keeps the tracing largely feature-gated in the VM, and the only
        additional overhead/change at runtime with `gas-profiling` turned off is
        the additional argument, but this argument is unused and should be
        optimized away (and at worst only add essentially no overhead).

        I kept the `gas-profiling` feature flag and gated the new tracing under
        it. The plan being to eventually rename that flag at the same time that
        we update test coverage and gas profiling to use this new tracing format
        as well (but that's for a couple future PRs!).

        https://github.com/MystenLabs/sui/pull/19452 is stacked on top of this
        and cleans up the insertion points of the tracer into the VM.

        ---

        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:

        ## 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 cbffe5b8522ed7723371cf8fcfa802f47c1178ed
    Author: Eugene Boguslavsky <[email protected]>
    Date:   Wed Oct 16 12:51:13 2024 -0700

        Update mac os runner (#19883)

        ## Description
        `macos-latest-xl` is being depricated.
        ![Screenshot 2024-10-16 at 12 44
        20 PM](https://github.com/user-attachments/assets/d0f49345-2538-4836-bdbf-9975d6df5299)

        ## Test plan
        👀

    commit b78eb1098ee2fcd08fb1576d049c354dd57fc8ca
    Author: Anastasios Kichidis <[email protected]>
    Date:   Wed Oct 16 20:00:19 2024 +0100

        [Consensus] fix amnesia recovery boot run (#19774)

        ## Description

        Currently if someone recovers their node within epoch `R` with a
        snapshot that's from epoch `< R-1` , consensus will not start in amnesia
        recovery mode in epoch R as the boot counter will have already been
        incremented as node is trying to catch up from earlier epochs. This is
        problematic as it defies the whole point of the automatic amnesia
        recovery.

        Instead on this PR we track consensus participation activity from
        earlier epochs/run and only then we increment the boot counter.
        Otherwise we keep the boot counter to `0` so we effectively enforce
        amnesia recovery until we get to an epoch where the node is able to
        participate. In this case participate means "able to have performed at
        least one commit".

        ## Test plan

        CI/PT

        ---

        ## 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 62f72cdea33c0782f3116dfd194ae81c562a0b43
    Author: jk jensen <[email protected]>
    Date:   Wed Oct 16 10:57:07 2024 -0700

        [suiop][image] add --watch/-w to continuously query image build (#19872)

        ## Description

        Add new arg to continuously query image remote builds

        ## Test plan

        https://github.com/user-attachments/assets/a6b3ec5d-605d-48f2-a241-9ade8bfbfbf3

        ---

        ## 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 692f6c6a89b2e32659574fa20828222d289b102d
    Author: Tim Zakian <[email protected]>
    Date:   Wed Oct 16 10:55:35 2024 -0700

        [move][ir-to-bytecode] Add source locations to `Type` in the Move IR (#19875)

        ## Description

        Plumbs in source locations for `Type`s in the Move IR. This will be
        useful for adding return types to the Move source maps.

        ## Test plan

        Make sure existing types 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:
        - [ ] Rust SDK:
        - [ ] REST API:

    commit 31b15dde1758a6ba7d7029ecbd74804180f4800c
    Author: Lu Zhang <[email protected]>
    Date:   Wed Oct 16 08:51:49 2024 -0700

        [bridge] remove test-cluster's dependency on sui-bridge crate (#19840)

        ## Description

        as title. It also removes the transitive dependency of other crates on
        sui-bridge.

        ## Test plan

        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 8fec5f8caeaf0d0d5a9d13c776fc8dd80219719e
    Author: Arun Koshy <[email protected]>
    Date:   Wed Oct 16 01:48:58 2024 -0700

        Add known peers for p2p network connection monitor (#19815)

        ## Description

        This will enable quinn stats for p2p network

        ---

        ## 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 f8e33f58104e6ed0d38e756beb0572e3bc263f10
    Author: Arun Koshy <[email protected]>
    Date:   Wed Oct 16 00:58:39 2024 -0700

        [consensus] Migrate sui to Mysticeti connection monitor (#19814)

        ## Description

        Will follow up to ensure that known peers are set in sui via discovery
        so that metrics will be updated. Also will be adding
        TonicConnectionMonitor for Mysticeti to use.

        ---

        ## 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 2224cf355dc25d6ded1d9a4b93c6f31939b80a01
    Author: Brandon Williams <[email protected]>
    Date:   Tue Oct 15 20:53:11 2024 -0500

        rest: enable resolving of literals (#19857)

        Improve the format of `UnresolvedTransaction` as well as introduce the
        ability to resolve un-serialized pure argument literals.

        Example of JSON payload of an `UnresolvedTransaction`:
        ```
        {
          "inputs": [
            {
              "object_id": "0x2d7f57570815c43eb485be9018caabd11ac863e9d49b1d9e33b3f4ac40cadc72"
            },
            {
              "value": 1
            },
            {
              "value": "0xc6fc0e38458632b1dd1d60b3a833865268a0faebe36864c71fb9805bd5a116cf"
            }
          ],
          "commands": [
            {
              "command": "split_coins",
              "coin": {
                "input": 0
              },
              "amounts": [
                {
                  "input": 1
                },
                {
                  "input": 1
                }
              ]
            },
            {
              "command": "transfer_objects",
              "objects": [
                {
                  "result": [
                    0,
                    1
                  ]
                },
                {
                  "result": [
                    0,
                    0
                  ]
                }
              ],
              "address": {
                "input": 2
              }
            }
          ],
          "sender": "0xff69fdb72bfc6ff5a337ff01c650fb0ce72447105ff050c2039c6b5b267b04a7"
        }
        ```

        which is resolved into the following `Transaction`:

        ```
        {
          "version": "1",
          "kind": {
            "kind": "programmable_transaction",
            "inputs": [
              {
                "type": "immutable_or_owned",
                "object_id": "0x03517c0699f36a1df2e93b6c18db815d8f247a853465aec9cc48f9ceae4561ca",
                "version": "1",
                "digest": "7WyoNoiZQmTj75viHKYhA48tCSJ5CFqA6HtzJ55hehxP"
              },
              {
                "type": "pure",
                "value": "AQAAAAAAAAA="
              },
              {
                "type": "pure",
                "value": "JtcBTFgpW/n7HipqY6oz4bka0J8PyUPlSQbjR5lCq0Y="
              }
            ],
            "commands": [
              {
                "command": "split_coins",
                "coin": {
                  "input": 0
                },
                "amounts": [
                  {
                    "input": 1
                  },
                  {
                    "input": 1
                  }
                ]
              },
              {
                "command": "transfer_objects",
                "objects": [
                  {
                    "result": [
                      0,
                      1
                    ]
                  },
                  {
                    "result": [
                      0,
                      0
                    ]
                  }
                ],
                "address": {
                  "input": 2
                }
              }
            ]
          },
          "sender": "0xb73663359e72a36122aaf3f08629fa684b667e0fe6e356b119c623c7c9459888",
          "gas_payment": {
            "objects": [
              {
                "object_id": "0x94b1bef12a8db7b60fa89ad9bc2966d661a3a1002d921ada981e700648470304",
                "version": "1",
                "digest": "9kcUt38E4i8g5DartpUdBxW9m5n1u8AaJLyintWiddd6"
              },
              {
                "object_id": "0xacc757731db589ef093130e0d6c839e809f9673a51be92667ecbcd486db73995",
                "version": "1",
                "digest": "2U3xxN1G9vf4raCGUHz6AejqVMWJCkEBmsbLgqwae5be"
              },
              {
                "object_id": "0xd0891f6c419f3dd1a531e70779979f3c7aa91d13ae9125ffbae05f3960ee4249",
                "version": "1",
                "digest": "DkJRVUKfwV9pZ1NYEydvKwGpJei7YDDRemfRahruBDsQ"
              },
              {
                "object_id": "0xde8bdc786f18e7d1b9d2ac975acd640952fd3c75303e4f35d0657f90ab7e947e",
                "version": "1",
                "digest": "8RJuNzFawuVbFz6zSH1GMeJuwiHfT2ZzfHKHdr6LrJrU"
              }
            ],
            "owner": "0xb73663359e72a36122aaf3f08629fa684b667e0fe6e356b119c623c7c9459888",
            "price": "1000",
            "budget": "5952000"
          },
          "expiration": null
        }
        ```

    commit 6cc663c639ca3fa1421db7021e0af33b0466e1be
    Author: wlmyng <[email protected]>
    Date:   Tue Oct 15 18:42:57 2024 -0700

        [indexer][writer] Add first_tx_sequence_number to epochs table to decouple from checkpoints table (#19773)

        ## Description

        The `epoch_total_transactions` field on `epochs` table is calculated
        today from `checkpoints.network_total_transactions`, which is not ideal
        since the latter is prunable and `epochs` will not be pruned for the
        foreseeable future. To remove this dependency, we add
        `first_tx_sequence_number` to the `epochs` table at epoch boundary. That
        is, the network total transaction count from the final checkpoint of the
        epoch becomes the first tx sequence number of the new epoch. This also
        means that at epoch boundary, the current-to-be-previous epoch's
        `epoch_total_transactions` is derived from the checkpoint's network
        total transactions - the epoch's `first_tx_sequence_number`.
        Consequently, this will also help in the pruner implementation, as given
        an epoch we'd like to know the corresponding cp and tx.

        This encompasses just the writer change. Before updating the read path,
        we will need to backfill the instance.

        ## 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 71f9203abbf9bf0a3a887e1f2157a7caed7bcef2
    Author: Brandon Williams <[email protected]>
    Date:   Tue Oct 15 10:19:36 2024 -0500

        jsonrpc: introduce a meta column family for tracking index initialization

        Introduce a meta column family that is used to track initialization of
        the Index DB itself as well as the status of the various column families
        themsevles.

    commit 814af2a99e0e66bda4fec1748082ce4af7fd3137
    Author: Brandon Williams <[email protected]>
    Date:   Tue Oct 15 10:18:02 2024 -0500

        jsonrpc, rest: reduce batch size to 128MB before writting

        Reduce the minimum batch size to write out during indexing the live
        object set from 256MB to 128MB, these smaller batch sizes resulted in a
        small improvement to index initialization.

    commit d7e977a0ac58b885a98c4967e3e82cce43e720ff
    Author: Brandon Williams <[email protected]>
    Date:   Fri Oct 11 15:24:26 2024 -0500

        jsonrpc: add test for sorted coin balances

    commit c3371a28c783ff1e54b71c873b98f80b394f30a3
    Author: Brandon Williams <[email protected]>
    Date:   Fri Oct 11 14:07:40 2024 -0500

        jsonrpc: initialize new coin_index_2

        Initialize the new coin_index_2 index and clear the old coin_index
        column family.

    commit 47ba7e4684147b91cbf0fa628ce83f4a4b80d3bc
    Author: Brandon Williams <[email protected]>
    Date:   Fri Oct 11 12:47:08 2024 -0500

        jsonrpc: introduce coin_index_2 with coins sorted by balance

        Introduce a new coin_index_2 index with coins sorted by balance in
        decreasing value (sorted high to low).

    commit 6159973ae01f7b74505271d5ae76681f6594fe59
    Author: Brandon Williams <[email protected]>
    Date:   Fri Oct 11 10:25:19 2024 -0500

        core: factor out parallel live object indexing

        Factor out the parallel live object indexing, used for initializing the
        rest indexes, into more general purpose and reusable logic.

    commit 4ad76b5679ec0e11b635537074b552cc96d584ba
    Author: Brandon Williams <[email protected]>
    Date:   Fri Oct 11 09:07:27 2024 -0500

        jsonrpc: move indexes from sui-storage to sui-core

    commit 99cebd9469dea1c2bbbd73d4cd6fb8284203a93a
    Author: Brandon Williams <[email protected]>
    Date:   Fri Oct 11 08:45:29 2024 -0500

        db_tool: remove loaded_child_object_versions search match arm

    commit 455e6c981e2af4da7bcd91e1e6642b3f8a10cb5a
    Author: Eugene Boguslavsky <[email protected]>
    Date:   Tue Oct 15 16:00:17 2024 -0700

        Fix node operator doc quote (#19874)

        ## Description
        Fix node operator doc quote

        ## Test plan
        Before:
        ![Screenshot 2024-10-15 at 3 31
        55 PM](https://github.com/user-attachments/assets/c6aabc7b-328c-4404-be4a-b8b5c124e111)

        After:
        ![Screenshot 2024-10-15 at 3 32
        00 PM](https://github.com/user-attachments/assets/3ef6d6dc-516a-4771-9a2f-a898610893bb)

    commit 3be7841e208731a69b8dd7ad5b39fa94f92fe59f
    Author: Eugene Boguslavsky <[email protected]>
    Date:   Tue Oct 15 15:28:22 2024 -0700

        Add release info for sui-full-node doc (#19808)

        ## Description
        Add release info for sui-full-node doc

        ## Test plan
        @ronny-mysten !

        ---------

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

    commit ee100a7ed7e4cc6503fb5e7b94349151f24597e0
    Author: techdebt-99 <[email protected]>
    Date:   Tue Oct 15 16:21:56 2024 -0600

        Update sponsor-txn.mdx (#19873)

        ## 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 8fa9f571a26f3e3faeec78afca706c8eedb2b283
    Author: Zhe Wu <[email protected]>
    Date:   Tue Oct 15 14:31:16 2024 -0700

        Use more realistic cap factor in simtest (#19862)

        ## Description

        So that we can exercise cap factor is higher and lower than the gas
        budget.

        ## Test plan

        Updating 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 e2c7aa1f4e3d0facbff0af78aad5bda283bc145e
    Author: ronny-mysten <[email protected]>
    Date:   Tue Oct 15 15:31:04 2024 -0600

        [docs] Update dbv3 content (#19867)

        ## Description

        DBv3 is now on Mainnet. Makes the sentence removed somewhat pointless.

        ## 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 25c52c659ff00c0c54834de73760b38b6dbca938
    Author: hayes-mysten <[email protected]>
    Date:   Tue Oct 15 13:57:16 2024 -0700

        [gql-transport] fix rawInput for transaction queries (#19866)

        ## 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 aa2ca1d79fc3de862e398716f044337b6757acc1
    Author: Tom Cat <[email protected]>
    Date:   Wed Oct 16 03:31:17 2024 +0700

        [Linter] Redundant ref deref (#16491)

        ## Description
        This lint rule detects and reports unnecessary temporary borrow
        operations followed by a dereference and a local borrow in Move code. It
        aims to improve code efficiency by suggesting direct usage of
        expressions without redundant operations.
        Implementation
        The lint rule is implemented as follows:

        A temporary borrow (TempBorrow)
        Followed by a dereference (Dereference)
        Where the dereferenced expression is either a BorrowLocal, Borrow, or
        another TempBorrow

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

        ## Release notes

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

        ---------

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

    commit 6b231597e707bae887ca038d670ba3aa02775d37
    Author: pei-mysten <[email protected]>
    Date:   Tue Oct 15 11:59:35 2024 -0700

        [docker] fix dockerfile for kaniko (#19865)

        ## Description

        kaniko doesn't like `*` wildcard, so have to be a little bit smarter.

        ## Test plan

        had a successfully built from kaniko. I pulled it down and inspected
        manually, binaries are ther

        ---

        ## 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 8aac6c2cfcbc48efd1ccb34ea8cfd28eae99b701
    Author: Tony Lee <[email protected]>
    Date:   Tue Oct 15 14:44:56 2024 -0400

        Faucet Routes (#19692)

        ## 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 e510867bd334fdd7b95bf0dab2ea7ce6b49f2409
    Author: nikos-terzo <[email protected]>
    Date:   Tue Oct 15 21:17:19 2024 +0300

        Update typescript sdk examples (#19816)

        ## Description

        Update Typescript SDK examples in README to work

        ## Test plan

        Copy-pasted changed code to a new project depending on '@mysten/sui' and
        checked for no relevant typescript errors.

        ---

        ## 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 4241c352fff0d71b40ec3148e62b558877c82d13
    Author: Tim Zakian <[email protected]>
    Date:   Tue Oct 15 11:06:54 2024 -0700

        [move][docgen] Render string constants for error constants (#19823)

        ## Description

        This updates how constants annotated with `#[error]` are rendered in
        docgen. This also adds the `#[error]` annotation on them in the
        generated documentation.

        Note that we don't try to render all bytearrays as strings, but only
        constants with the `#[error]` annotation to avoid rendering normal
        bytearrays strings.

        ## Test plan

        Added a test to make sure we render error-annotated consts as we expect.

    commit 4357bfa20c4a4eb1675f2f31e32a34b8f5956db2
    Author: Eugene Boguslavsky <[email protected]>
    Date:   Tue Oct 15 10:35:55 2024 -0700

        Remove mysten-tap sui.rb update (#19861)

        ## Description
        Remove mysten-tap sui.rb update

        ## Test plan
        👀

    commit 1e72cfbe5a269b880245c4de777a8126c4d3557f
    Author: mwtian <[email protected]>
    Date:   Tue Oct 15 10:07:29 2024 -0700

        [db] allow putting larger layer in higher levels (#19854)

        ## Description

        A followup to #19770. For cfs larger than 250GB, they need to be able to
        shard the files.

        ## Test plan

        Applied the new setting to other large cfs (transactions, effects) on
        fullnodes.

        ---

        ## 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 34416bfce4f949c7ba07e08a47535f15f59dbf4a
    Author: Anastasios Kichidis <[email protected]>
    Date:   Tue Oct 15 13:26:52 2024 +0100

        [Consensus] DagState to evict blocks based on GC round (#19465)

        ## Description

        Currently we evict the cached ref entries in DagState whenever we
        `flush`. At this point we evict the entries for each authority by
        dropping all the blocks which are `<= evict_round`, where `evict_round =
        authority_latest_commit_round - CACHED_ROUNDS` . The `CACHED_ROUNDS`
        here allow us to keep around for a little longer committed blocks. Of
        course all the blocks that are `> evict_round` are kept.

        This can work fine so far where we don't use GC , as we expect
        eventually to include blocks from other peers as weak links - no matter
        how far back they are - and that will move the
        `authority_latest_commit_round` and trigger the eviction of their blocks
        from our memory. Now with GC we don't have those guarantees. It is
        possible to get to a scenario where even a group of slow nodes that are
        constantly behind `gc_round`, they keep proposing but their blocks never
        get committed. Although their blocks should not end up in others DAGs ,
        they will remain in their own and fill up their memory. Overall, the
        current approach will provide weaker guarantees.

        This PR is changing the eviction strategy so it's driven by the
        `gc_round`. Doing though the eviction purely on the `gc_round` will
        change a lot the semantics of the `DagState` as one of the intentions
        was to keep recent cached data from each authority. That would also be
        particularly visible for authorities for which we do not have frequent
        block proposals, as we could end up always evicting all their blocks if
        they are behind the `gc_round`. Then this would not allow us to do
        certain operations we used to do before with cached data(ex get latest
        cached block per authority).

        For that reason this PR is changing a bit the semantics of the
        `CACHED_ROUNDS` and from now on it will be the minimum/desired amount of
        rounds we want to keep in cache for each of authority. The eviction
        algorithm will still attempt to clean up records that are `<= gc_round`,
        but it will also make sure that `CACHED_ROUNDS` worth of data are kept
        around.
        Especially for more edge case situation where a node has not produced
        blocks `> gc_round`, we guarantee to keep `CACHED_ROUNDS` even when all
        of them are `<= gc_round`, but we'll eventually evict anything before -
        practically like a moving window.

        ## Test plan

        CI/PT

        ---

        ## 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:
        - [ ] Node…
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.

3 participants