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

[wallet] fix issue where we incorrectly compute the non-legacy zklogi… #20628

Merged
merged 1 commit into from
Dec 13, 2024

Conversation

hayes-mysten
Copy link
Contributor

…n address in the wallet

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:

@hayes-mysten hayes-mysten requested a review from a team as a code owner December 13, 2024 21:37
@hayes-mysten hayes-mysten requested review from pchrysochoidis and mystieanwaya and removed request for a team December 13, 2024 21:37
Copy link

vercel bot commented Dec 13, 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 Dec 13, 2024 9:38pm
3 Skipped Deployments
Name Status Preview Comments Updated (UTC)
multisig-toolkit ⬜️ Skipped (Inspect) Dec 13, 2024 9:38pm
sui-kiosk ⬜️ Skipped (Inspect) Dec 13, 2024 9:38pm
sui-typescript-docs ⬜️ Skipped (Inspect) Dec 13, 2024 9:38pm

@hayes-mysten hayes-mysten temporarily deployed to sui-typescript-aws-kms-test-env December 13, 2024 21:37 — with GitHub Actions Inactive
@hayes-mysten hayes-mysten enabled auto-merge (squash) December 13, 2024 21:40
@hayes-mysten hayes-mysten merged commit db834d8 into main Dec 13, 2024
55 checks passed
@hayes-mysten hayes-mysten deleted the mh--compute-correct-zklogin-address branch December 13, 2024 21:47
iamjacobjia added a commit to suiflow/mevsui that referenced this pull request Jan 17, 2025
* Introduces GCP signer on `@mysten/signers` (#20473)

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

* revert(#20486): Add ConsensusV2 object support to `sui-indexer-alt` (#20546)

## Description

Partial revert of #20486 (only the changes relevant to
`sui-indexer-alt`), as the migrations associated with that change are
taking too long to run on the production database.

We will have to revisit how to set-up those migrations so that they run
in a reasonable time.

## Test plan

Local run of `sui-indexer-alt` + CI.

---

## Release notes

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

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

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

* [indexer alt] add collector tests (#20413)

## Description 

Added tests for indexer alt collector and also corrected a potential
debug assert.

## Test plan 

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

* [docs] Fix move examples on the tto page (#20549)

## Description 

Current examples and code will not compile in the current edition 2024.

## Test plan 

See for yourself.

---

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

* chore: update sui-sdk-types

* config: rename 'rest' config to 'rpc'

* storage: rename RestStateReader to RpcStateReader

* core: rename rest_index to rpc_index

* rpc-indexes: separate out trait for accessing indexed data

* rest: move openapi tests to its own file

* rest: move config into its own module

* rest: move rest infra into a module

* metrics: rename RestMetrics to RpcMetrics

* rename RestService to RpcService

* rename sui-rest-api crate to sui-rpc-api

* rpc: add config for enabling new indexes instad of reusing the jsonrpc config flag

* rpc: factor out logic for getting NodeInfo

* rpc: factor out health check logic

* rpc: factor out get_committee logic

* rpc: remove support for protobuf from rest endpoints

This patch removes support from the various rest endpoints where it was
previously added. Instead, to support clients who want a binary format,
a gRPC service will be added in a future patch.

* rest: remove support for bcs response types from various endpoints

Remove support for bcs response types from various endpoints, a few are
kept due to existing clients, as support for a binary response type will
be supported via a gRPC service that will be added in a future patch.

* rpc: rename RestError to RpcServiceError

* rest: mark ListCheckpoints unstable till bcs return type is removed

* rpc: factor out get_object logic

* rpc: factor out get_checkpoint logic

* rpc: factor out get_transaction logic

* rpc: factor out {execute, simulate}_transaction logic

* rpc: introduce a get_full_checkpoint method on RpcService

* rpc: introduce new protobuf definitions

Introduces a new set of more fleshed out protobuf definitions for both
core types (and conversions to/from sui-sdk-types and the protobuf
types) as well as rpc request and response types.

* rpc: add grpc server implementation

Implement the sui.node.v2.Node gRPC service and serve it off the rpc
endpoint.

* rpc: convert core client to use gRPC

* rpc: add proptests for converting between rust and protobuf types

* Fix coverage workflow (#20548)

## Description 

Individual test failures seem to not affect coverage workflow. But the workflow can still fail when there are incomplete data.

## Test plan 

Passes with this PR:
https://github.com/MystenLabs/sui/actions/runs/12238401025

---

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

* [move-ide] Regenerated test output (#20547)

## Description 

The output for `move-analyzer` tests changed (and needed to be updated)
due to recent compiler changes but due to some issue with the CI test
runner the "old" output was not reported as incorrect. This PR updates
test output to reflect the current state of affairs.

## Test plan 

All tests must pass

* update tuborepo workflow to allow secrets for PRs from forked repos (#20552)

## Description 

allow secrets for turborepo workflow for gcp + aws KMS e2e testing

## Test plan 

* once this is merged, create a pull-request from a forked repo to test
turborepo action
---

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


if there is a security incident with these secrets, it should only
compromise the following
<img width="759" alt="image"
src="https://github.com/user-attachments/assets/7073dc54-ded1-49fd-a2cc-4fc9ba1c92e7">

these secrets have been created to only allow limited operations for the
designed AWS / GCP KMS keys (these keys and access policies only allow
for using the designated test keys / keycahins.

* [consensus] remove remaining imports from `narwhal/` (#20543)

## Description 

Remove remaining imports from `narwhal/`.
- Use `sui` types instead of `narwhal` types.
- Remove Narwhal specific NodeConfig fields.

## Test plan 

CI
PT deployment with legacy validator configs

---

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

* Improve logs for lock conflicts (#20554)

Log the conflicted object as well as transactions digests

* Revert "update tuborepo workflow to allow secrets for PRs from forked repos" (#20555)

Reverts MystenLabs/sui#20552

`pull_request_target` checks out target branch (i.e. `main`) which means
tests aren't run on new code 🤦

Will also update to not run gcp / kms tests for all prs

* Deepbook Ticker Endpoint (#20517)

## Description 

Deepbook Ticker Endpoint: /ticker
All volumes are last 24 hour volume

Example output:

`{"DEEP_SUI":{"base_volume":9709100.0,"last_price":0.0184,"quote_volume":177605.1862,"isFrozen":0},"TYPUS_SUI":{"base_volume":430297.7,"last_price":0.01833,"isFrozen":0,"quote_volume":8493.539347},"SUI_USDC":{"base_volume":4805064.8,"isFrozen":0,"last_price":4.201,"quote_volume":19079955.3245},"BETH_USDC":{"isFrozen":0,"last_price":2700.0,"base_volume":0.0,"quote_volume":0.0},"WUSDC_USDC":{"last_price":1.0,"isFrozen":0,"quote_volume":2958711.879164,"base_volume":2958725.3},"NS_SUI":{"quote_volume":76370.840897,"base_volume":1079970.7,"last_price":0.0665,"isFrozen":0},"DEEP_USDC":{"quote_volume":2390833.2166,"base_volume":34107590.0,"isFrozen":0,"last_price":0.07713},"NS_USDC":{"quote_volume":610367.235184,"isFrozen":0,"last_price":0.27955,"base_volume":2215708.0},"WUSDT_USDC":{"base_volume":0.0,"quote_volume":0.0,"isFrozen":0,"last_price":1.04}}`

More information here:

https://docs.google.com/document/d/1S4urpzUnO2t7DmS_1dc4EL4tgnnbTObPYXvDeBnukCg/edit?tab=t.0#bookmark=kix.9r12wiruqkw4

## Test plan 

How did you test the new or updated feature?

Tested locally

## Release notes

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

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

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

* [move] Fix formatting in disassembler + fix CI runner for Move (#20556)

## Description 

Fix CI runner for CI for Move (using `set -e` in `test.sh`).

Fix formatting issues for enums in the disassembler. 

## Test plan 

CI + ran Move tests locally (including failing tests to make sure the
tests fail if any fail)

---

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

* Verify hex string is valid hex in (#20538)

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

* Version Packages (#20537)

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/bcs@1.2.0

### Minor Changes

-   ad24b95: Verify hex string is valid hex in `fromHex`

## @mysten/signers@0.1.0

### Minor Changes

-   2349920: Introduces GCP KMS signer at `@mysten/signers/gcp`
-   e0885ca: renamed package to @mysten/signers and inlines aws4fetch

### Patch Changes

-   @mysten/sui@1.16.1

## @mysten/create-dapp@0.3.42

### Patch Changes

-   @mysten/sui@1.16.1
-   @mysten/dapp-kit@0.14.41

## @mysten/dapp-kit@0.14.41

### Patch Changes

-   @mysten/sui@1.16.1
-   @mysten/wallet-standard@0.13.17
-   @mysten/zksend@0.12.7

## @mysten/deepbook@0.8.31

### Patch Changes

-   @mysten/sui@1.16.1

## @mysten/deepbook-v3@0.12.17

### Patch Changes

-   @mysten/sui@1.16.1

## @mysten/enoki@0.4.15

### Patch Changes

-   @mysten/sui@1.16.1
-   @mysten/zklogin@0.8.1

## @mysten/graphql-transport@0.2.33

### Patch Changes

-   Updated dependencies [ad24b95]
    -   @mysten/bcs@1.2.0
    -   @mysten/sui@1.16.1

## @mysten/kiosk@0.9.31

### Patch Changes

-   @mysten/sui@1.16.1

## @mysten/suins-toolkit@0.5.31

### Patch Changes

-   @mysten/sui@1.16.1

## @mysten/sui@1.16.1

### Patch Changes

-   Updated dependencies [ad24b95]
    -   @mysten/bcs@1.2.0

## @mysten/wallet-standard@0.13.17

### Patch Changes

-   @mysten/sui@1.16.1

## @mysten/zklogin@0.8.1

### Patch Changes

-   @mysten/sui@1.16.1

## @mysten/zksend@0.12.7

### Patch Changes

-   @mysten/sui@1.16.1
-   @mysten/wallet-standard@0.13.17

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

* Add Help View to Multisig Toolkit (#20521)

## Description 

Add Help View to multisig toolkit

(updates/rebases: #20221 )

## 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: Ronny Roland <ronmilton@mystenlabs.com>

* Fix bug in object_by_id_cache (#20450)

Suppose that a reader thread is trying to cache an object that it just
read, while a writer thread is trying to cache an object that it just
wrote. The writer thread definitionally has the latest version. The
reader thread may be out of date. While we previously took some care to
not replace a new version with an old version, this did not take into
account evictions, and so the following bug was possible:

      READER                            WRITER
      read object_by_id_cache (miss)
      read dirty set (miss)
                                        write to dirty
      read db (old version)
write to cache (while holding dirty lock)
                                        cache entry is evicted
      write to cache

There is no way for the reader to tell that the value it is caching is
out of date, because the up to date entry is already gone from the
cache.

We fix this by requiring reader threads to obtain a ticket before they
read from the dirty set and/or db. Tickets are expired by writers. Then,
the above case looks like this:

      READER                            WRITER
      get ticket
      read cache (miss)
      read dirty (miss)
                                        write dirty
      read db (old version)
                                        expire ticket
write cache (while holding dirty lock)
                                        cache eviction
      no write to cache (ticket expired)

Any interleaving of the above either results in the reader seeing a
recent version, or else having an expired ticket.

* [easy][indexer] Remove last mentions of tx_recipients and tx_senders tables (#20289)

## Description 

These tables no longer exist in the indexer schema

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

* also remove tx_recipients and tx_senders tables from Pruner on MVR (#20563)

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

* [indexer-alt] Add pruner pipeline for obj_info (#20539)

## Description 

This PR implements the obj_info_pruner pipeline.
I refactored the obj_info pipeline so that these two pipelines could
share the same process function logic.
For obj_info_pruner, it look at every (obj_id, checkpoint) pair produced
from the obj_info processing, and prune accordingly. Within each commit,
it does sequential pruning which is less ideal, but hopefully if we have
enough concurrent at the outer layer, this is not a huge problem.

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

* [move-bytecode-template] Fixes large u64 serialization in mbt (#20559)

## Description 

Fixes an issue discovered with `u64` > `Number.MAX_SAFE_INTEGER`

## Test plan 

Deserializes `u64` module

---

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

* [formatter] minor patches to tree-sitter and qol improvements (#20532)

## Description 

- `mut` is now better parsed as `mut(param)` instead of `mut, param`
- `abort` allows no expression after
- `@1` address literals are now allowed
- better handling of `imm_ref` and `mut_ref`, no more workarounds
- qol improvements in `block` node printing
- removes unused code
- adds more tests for `borrow_expression`, `index_expression` and
`literal`.

## Test plan 

Features tests, existing tests are not broken.

---

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

* remove zklogin sdk (#20561)

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

* Version Packages (#20574)

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/prettier-plugin-move@0.2.2

### Patch Changes

-   3e5cf29: abort + address improvements

## @mysten/enoki@0.4.16

### Patch Changes

-   69ee5cc: remove @mysten/zklogin dependency

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

* [ts sdk] bug fix on names replacement (#20577)

## Description 

The plugin would replace things when it shouldn't! 

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

* Version Packages (#20578)

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/create-dapp@0.3.43

### Patch Changes

-   Updated dependencies [100207f]
    -   @mysten/sui@1.16.2
    -   @mysten/dapp-kit@0.14.42

## @mysten/dapp-kit@0.14.42

### Patch Changes

-   Updated dependencies [100207f]
    -   @mysten/sui@1.16.2
    -   @mysten/wallet-standard@0.13.18
    -   @mysten/zksend@0.12.8

## @mysten/deepbook@0.8.32

### Patch Changes

-   Updated dependencies [100207f]
    -   @mysten/sui@1.16.2

## @mysten/deepbook-v3@0.12.18

### Patch Changes

-   Updated dependencies [100207f]
    -   @mysten/sui@1.16.2

## @mysten/enoki@0.4.17

### Patch Changes

-   Updated dependencies [100207f]
    -   @mysten/sui@1.16.2

## @mysten/graphql-transport@0.2.34

### Patch Changes

-   Updated dependencies [100207f]
    -   @mysten/sui@1.16.2

## @mysten/kiosk@0.9.32

### Patch Changes

-   Updated dependencies [100207f]
    -   @mysten/sui@1.16.2

## @mysten/signers@0.1.1

### Patch Changes

-   Updated dependencies [100207f]
    -   @mysten/sui@1.16.2

## @mysten/suins-toolkit@0.5.32

### Patch Changes

-   Updated dependencies [100207f]
    -   @mysten/sui@1.16.2

## @mysten/sui@1.16.2

### Patch Changes

- 100207f: Fixes replacements on `namedPackagesPlugin` to only replace
the package target if it is a
    mvr name.

## @mysten/wallet-standard@0.13.18

### Patch Changes

-   Updated dependencies [100207f]
    -   @mysten/sui@1.16.2

## @mysten/zksend@0.12.8

### Patch Changes

-   Updated dependencies [100207f]
    -   @mysten/sui@1.16.2
    -   @mysten/wallet-standard@0.13.18

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

* Balance Manager Volume Endpoint in Pool Names (Deepbook Indexer) (#20558)

## Description 

Balance Manager Volume Endpoint in Pool Names:

Endpoint 1:
`/historical_volume_by_balance_manager_id/:pool_names/:balance_manager_id`
Example Call:
`/historical_volume_by_balance_manager_id/SUI_USDC,DEEP_USDC/0x47dcbbc8561fe3d52198336855f0983878152a12524749e054357ac2e3573d58`
Example Response:
`{"DEEP_USDC":[1938666151700,0],"SUI_USDC":[5934906021900,399057445200]}
`

Endpoint 2:
`/historical_volume_by_balance_manager_id_with_interval/:pool_names/:balance_manager_id`
Example Call:
`/historical_volume_by_balance_manager_id_with_interval/SUI_USDC,DEEP_USDC/0x47dcbbc8561fe3d52198336855f0983878152a12524749e054357ac2e3573d58`
Example Response:
`{"[1733698873,
1733702473]":{"SUI_USDC":[45030523600,200939800],"DEEP_USDC":[50335077700,0]},"[1733738473,
1733742073]":{"DEEP_USDC":[39217259100,0],"SUI_USDC":[140190847400,13227479100]},"[1733749273,
1733752873]":{"DEEP_USDC":[83160441100,0],"SUI_USDC":[252307783100,8810813500]}}`


## 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): 
- [x] Indexer: Deepbook Indexer
- [ ] JSON-RPC: 
- [ ] GraphQL: 
- [ ] CLI: 
- [ ] Rust SDK:
- [ ] REST API:

* ci: add E2E test environment flags to turborepo workflow (#20570)

## Description 

Add environment flags to control AWS KMS, GCP KMS, and Signer E2E tests
execution. Configure GCP auth step to run conditionally based on signer
test flag.

## Test plan 

How did you test the new or updated feature?

* test PR: https://github.com/MystenLabs/sui/pull/20571 should fail in
https://github.com/MystenLabs/sui/actions/runs/12249701179/job/34171448529?pr=20571
* once this PR lands, and rebase test PR and verify sdk test job passes

---

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

* grpc: properly configure a tls config on clients when https is requested

* types: support decoding from both base64 as well as base58

* [indexer-alt] Fix bad rebase in obj_info_pruner (#20567)

* [sdk][signers]: add e2e enable flag check (#20583)

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

* [indexer-alt] Log TPS and CPS in all pipelines (#20441)

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

* sdk: add passkey signer (#20443)

## Description 

corresponding sui change:
https://github.com/MystenLabs/sui/blob/main/crates/sui-types/src/passkey_authenticator.rs

spec follows: 

https://github.com/sui-foundation/sips/blob/main/sips/sip-9.md#signature-encoding

https://github.com/sui-foundation/sips/blob/main/sips/sip-9.md#signature-verification

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

---------

Co-authored-by: hayes-mysten <135670682+hayes-mysten@users.noreply.github.com>

* decouple transactional test runner from indexer and graphql flavor (#20373)

* Community request (#20586)

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

* Updated action version (#20585)

## Description 
Updated action version

## Test plan 
👀

* [move][move-2024] Match typing fix (#20584)

## Description 

This fixes a bug where some match arms' final type was computed based on
the inner arm, instead of the expected output type.

## Test plan 

New tests past

---

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

* indexer-alt: split out schema

## Description

Pull out the indexer's schema and model types so that they can be used
in the reader as well as the writer.

## Test plan
CI

* refactor(indexer-alt): factor out Db/DbArgs

## Description

Pull out the `Db` and `DbArgs` types from `sui-indexer-alt-framework`,
so that they can also be used in the reader implementation. They have
been combined with the existing `TempDb`, and its crate has been renamed
from `sui-temp-pg-db` to `sui-pg-db` to account for the fact that it's
now holding something more general.

## Test plan
CI

* [indexer-alt] Add coin_balance_buckets pipeline (#20500)

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

* [indexer-alt] Add coin_balance_buckets_pruner (#20568)

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

* [indexer alt] rename a few structs to make their units more clear (#20419)

## Description 

While reading/testing this code I found that it can be tough to reason
about limits of channels because each channel may have different units:
checkpoints, batches, rows. So this PR made some struct names more
explicit according to my understanding and added some comments to make
channel limits more clear.

## Test plan 

Existing tests. 
---

## Release notes

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

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

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

* callback: add support for callbacks on body chunks

Add support for callbacks on body chunks. This also has the consequence
that the callback handlers are now held until the response stream has
concluded, meaning we'll be able to have a more accurate measurement of
inflight requests than we previously did.

* rpc: use full uri path for grpc request metrics

When calculating the path to use for metrics, use the real path when the
CONTENT_TYPE of the request is gRPC in order to get more granular
metrics for gRPC services. For all other content types we'll continue to
use axum::extract::MatchedPath.

* rpc: use grpc-status code for 'status' label on metrics

* rpc: properly handle the various content-type's that are considered gRPC

Properly handle identifying gRPC traffic by performing a prefix
comparision on a request's content-type header instead of a full
equality check.

* [docs] Deepbook indexer (#20427)

## Description 

Adds deepbook indexer content

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

* rpc: introduce ResponseExt trait to assist in reading well known headers

Introduce the ResponseExt trait to assist in reading well known headers
that are set by Sui Node services.

* rpc: convert Client error to be a tonic::Status

Convert Client error type to be a tonic::Status. In addition, ensure
that if http headers (which are wrapped in a
tonic::metadata::MetadataMap) are received, that they are included in
either the response or the error Status so that callers can retrieve
header information even in the event of an error.

* [Fix Doc] Update using-events.mdx (#20545)

## Description 

Add Typescript SDK queryEvents example.

* [CLI] Fix dev inspect in sui client ptb (#20599)

## Description 

This PR fixes the `sui client ptb --dev-inspect` command to correctly
display the result of the dev inspect.

## 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: 
- [x] CLI: Fixed `sui client ptb --dev-inspect` to correctly display the
result of the dev inspect.
- [ ] Rust SDK:
- [ ] REST API:

* [docs][easy] Adding wormhole link to tutorial (#20598)

## Description 

Wormhole has published a great tutorial for Wormhole Connect X Sui.
Adding a link to that tutorial.

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

* rest: remove responses with content-type of bcs

* rest: remove GetFullCheckpoint endpoint

Remove the GetFullCheckpoint endpoint from the experimental REST api
as this functionality has migrated to the new gRPC api.

* [mvr] Hardcode mainnet pkg (#20544)

## Description 

Move to mainnet constants!

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

* chore: update futures-util

* cargo-deny: allow Unicode-3.0 licensed dependencies

* chore: update url

* cargo-deny: allow RUSTSEC-2024-0421 while we wait for passkey-client to update

* Version Packages (#20587)

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/sui@1.17.0

### Minor Changes

-   20af12d: add passkey sdk

## @mysten/create-dapp@0.3.44

### Patch Changes

-   Updated dependencies [20af12d]
    -   @mysten/sui@1.17.0
    -   @mysten/dapp-kit@0.14.43

## @mysten/dapp-kit@0.14.43

### Patch Changes

-   Updated dependencies [20af12d]
    -   @mysten/sui@1.17.0
    -   @mysten/wallet-standard@0.13.19
    -   @mysten/zksend@0.12.9

## @mysten/deepbook@0.8.33

### Patch Changes

-   Updated dependencies [20af12d]
    -   @mysten/sui@1.17.0

## @mysten/deepbook-v3@0.12.19

### Patch Changes

-   Updated dependencies [20af12d]
    -   @mysten/sui@1.17.0

## @mysten/enoki@0.4.18

### Patch Changes

-   Updated dependencies [20af12d]
    -   @mysten/sui@1.17.0

## @mysten/graphql-transport@0.2.35

### Patch Changes

-   Updated dependencies [20af12d]
    -   @mysten/sui@1.17.0

## @mysten/kiosk@0.9.33

### Patch Changes

-   Updated dependencies [20af12d]
    -   @mysten/sui@1.17.0

## @mysten/signers@0.1.2

### Patch Changes

-   Updated dependencies [20af12d]
    -   @mysten/sui@1.17.0

## @mysten/suins-toolkit@0.5.33

### Patch Changes

-   Updated dependencies [20af12d]
    -   @mysten/sui@1.17.0

## @mysten/wallet-standard@0.13.19

### Patch Changes

-   Updated dependencies [20af12d]
    -   @mysten/sui@1.17.0

## @mysten/zksend@0.12.9

### Patch Changes

-   Updated dependencies [20af12d]
    -   @mysten/sui@1.17.0
    -   @mysten/wallet-standard@0.13.19

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

* [fix] faucet new rate limiter (#20591)

## Description 

Previous rate limiter is likely broken. This uses a better one with a
per ip address strategy.

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

* [kv store] add watermark table to bigtable (#20390)

## Description 

The PR adds a watermark table to BigTable. The internal workflow
progress store now writes watermarks to both DynamoDB and BigTable. In
the future, the DynamoDB progress store will be deprecated

---

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

* [RustSDK] Remove tx subscription example in the Rust SDK (#20610)

## Description 

Let's remove the example - first it is fairly basic, and second, WS is
off on most nodes so people cannot run this example anymore.

Should close #20607

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

* add mode to inclusion check (#20384)

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

* scripts: fix update_all_snapshots.sh

* [move-compiler] Support for skipping function bodies during compilation (#20588)

## Description 

This PR adds the ability for the compiler to skip compiling function
bodies for some files. This is particularly useful in the IDE setting
where we can cache results of compilation of the entire package and
re-compile only files changed by the user.

The difference for larger codebases, for example Sui's Deepbook package,
is significant and directly affects user experience. Currently, it takes
over 1s to compile Deepbook package itself (dependencies are already
cached), which means that the user has to wait over 1s for
auto-completion request to provide completion hints:

![image](https://github.com/user-attachments/assets/c7de8950-ea11-48b1-b722-e3fce99bb5d0)

With this compiler change (and additional changes to `move-analyzer`
which will be landed in a separate PR), we get Deepbok's compilation
time down to less than 200ms:


![image](https://github.com/user-attachments/assets/e9f47e45-544d-4c54-9716-afd1ef85319c)


## Test plan 

All existing tests must pass

* New Token in Deepbook (#20622)

## Description 

DRF token in Deepbook

## Test plan 

How did you test the new or updated feature?

Constant update only in SDK

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

* Version Packages (#20623)

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/deepbook-v3@0.12.20

### Patch Changes

-   50d0edb: DRF token

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

* Add org support to suiop ci image command for image builds (#20611)

## Description 

Add org optional arg to build from other github orgs

## Test plan 

Built from another org successfully 
```
suiop ci image query --repo-name another-repo
Requested query for repo: tomato-contracts
╭────────────────────────┬───────────┬─────────────────────────┬─────────────────────╮
│ name                   │ status    │ Start Time (Local Time) │ End Time            │
├────────────────────────┼───────────┼─────────────────────────┼─────────────────────┤
│ another-repo-pigyh │ Succeeded │ 2024-12-12 11:33:51     │ 2024-12-12 11:44:18 │
╰────────────────────────┴───────────┴─────────────────────────┴─────────────────────╯
```

---

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

* Add backpressure to writeback cache (#20430)

Implement back pressure for writeback cache

Backpressure is initiated when:
- There are too many pending transaction writes in memory, and
- The certified checkpoint watermark is ahead of the executed watermark.

The second condition is necessary to ensure that backpressure cannot
halt a validator by making it unable to process consensus transactions
that might be needed to construct the next checkpoint.

When backpressure is in effect, the consensus handler will pause.

* jsonrpc: introduce bcsEncoding tag to ease migration to base64

Inorder to ease the transition of SuiEvent.bcs and
DynamicFieldInfo.bcsName to being encoded with base64, introduce a tag
("bcsEncoding") to indicate the encoding and gracefully default to
base58 when the tag isn't present.

* [consensus] remove narwhal (#20617)

## Description 

Goodbye Narwhal! 

There are some small cleanups that still need to be done in follow up
PRs

* [wallet] fix issue where we incorrectly compute the non-legacy zklogi… (#20628)

…n address in the wallet

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

* [doc] fix: using-events graphql error (#20618)

## Description 

The GraphQL in [Query events with
GraphQL](https://docs.sui.io/guides/developer/sui-101/using-events#query-events-with-graphql)
has error

## Test plan 
1.
[crates/sui-graphql-rpc/examples/event_connection/event_connection.graphql](https://github.com/MystenLabs/sui/tree/main/crates/sui-graphql-rpc/examples/event_connection/event_connection.graphql)
and
[crates/sui-graphql-rpc/examples/event_connection/filter_by_sender.graphql](https://github.com/MystenLabs/sui/tree/main/crates/sui-graphql-rpc/examples/event_connection/filter_by_sender.graphql)

throw the error

```json
{
  "data": null,
  "errors": [
    {
      "message": "Unknown field \"type\" on type \"Event\".",
      "locations": [
        {
          "line": 18,
          "column": 7
        }
      ]
    },
    {
      "message": "Unknown field \"json\" on type \"Event\".",
      "locations": [
        {
          "line": 25,
          "column": 7
        }
      ]
    }
  ]
}
```

need to be modified to
```
contents {
  type {
    repr
  }
  json
}
```

2.
[crates/sui-graphql-rpc/examples/event_connection/filter_by_emitting_package_module_and_event_type.graphql](https://github.com/MystenLabs/sui/tree/main/crates/sui-graphql-rpc/examples/event_connection/filter_by_emitting_package_module_and_event_type.graphql)

throw the error

```json
{
  "data": null,
  "errors": [
    {
      "message": "Filtering by both emitting module and event type is not supported",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "events"
      ],
      "extensions": {
        "code": "BAD_USER_INPUT"
      }
    }
  ]
}
```

Read the [EventFilter.emittingModule
doc](https://docs.sui.io/references/sui-api/sui-graphql/reference/types/inputs/event-filter#eventfilteremittingmodulestring-),
it says `We currently do not support filtering by emitting module and
event type at the same time so if both are provided in one filter, the
query will error.`.

So I think the doc need to delete the example `[Filter events by
emitting package and type]`

---

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

* [indexer-alt] Add total_committer_batches_failed metric (#20602)

## Description 

Adds a metric that tracks the number of failed commits.
While we track the number of attempts and number of successes, they
cannot be used to track number of errors, because any at moment, the
delta can exist but they don't necessarily mean errors.
So if we want to track error rate, we need a dedicated metric.

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

* [indexer-alt] Use batch delete in consistent pruners (#20612)

## Description 

Instead of delete one by one, delete all in a single sql query.

## Test plan 

Tried locally.

---

## Release notes

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

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

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

* [docs] Global pause for regulated coin update (#20603)

## Description 

Adds global pause documentation and updates to v2 naming.

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

* import legacy/non-legacy zklogin accounts (#20632)

## 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: mamos <michael@mystenlabs.com>

* [wallet] Always add legacy accounts (#20636)

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

* Negative caching for point-read items such as transactions and effects (#20315)

Add negative caching for effects and other point-read items. This
dramatically reduces requests to the DB during test runs.

* Add a workload that randomly generates different transaction shapes (#20402)

## Description 

Randomized transaction testing.

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

* Add FanTV OIDC provider in prod environment. (#20606)

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

* Deepbook Pool Constant (#20644)

* Version Packages (#20645)

* [mvr] add external dns lookup metric to track resolving mvr from non-mainnet graphql (#20633)

## Description 

To resolve the mvr table on testnet, we consult the mainnet graphql
service. We previously observed some slowness around dns lookup, so this
metric will help track whether the issue persists. Also added to
`sui-graphql-rpc` crate.

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

* [docs] Add bridge framework docs (#20619)

## Description 

Adds the bridge framework docs. Had to rename files to support duplicate
name between folder and file. This is a docusaurus autogen issue.

## Test plan 

View the preview site References > Framework > Bridge


https://sui-docs-git-fork-ronny-mysten-bridge-fw-sui-foundation.vercel.app/references/framework/bridge

---

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

* fix update_all_snapshots.sh (#20630)

---

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

* [docs] Update consensus (#20629)

## Description 

Adds some info to the consensus/mysticeti page

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

* rpc: add support for grpc-reflection

* rpc: add support for grpc-health service

* config: add helper for retrieving rpc config

* rpc: ensure strings are string types in proto files

Update all proto fields that have their corresponding protocol type
encoded as utf8 to `string` but were previously listed as `bytes`. This
is a wire-format compatible change and is safe to make since all
previous uses of these fields were as valid utf8 strings.

* rpc: support requesting and sending UserSignatures encoded as bytes

* rpc: use protox to build proto files

Use protox to build proto files so that the fds' can have a
deterministic serialized format for comparison in CI.

* change all checkpoints.mainnet|testnet.sui.io references to gcp endpoint (#20634)

* [tests] Fix expected failure type random selector (#20652)

## Description 

The change of this code block from `Ok(rand::random())` to a custom
selector logic overlooked the fact that we must avoid re-selecting
variant `0`, as variant `0` is the random variant, causing the code to
hit an `unreachable` block meant to avoid infinte recursion.

## Test plan 

Re-run 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:

* add build_mainnet for easy use sui-sdk (#20640)

## Description 

This PR adds a new function `build_mainnet` corresponding to the mainnet
RPC node for the `SuiClientBuilder` type.

## Test plan 

How did you test the new or updated feature?

```rust
let sui_mainnet = SuiClientBuilder::default().build_mainnet().await?;
println!("Sui mainnet version: {}", sui_mainnet.api_version());
```

---

## 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: 
- [x] Rust SDK: Added a `build_mainnet` function to the `SuiClientBuilder`.
- [ ] REST API:

* jsonrpc: correctly serialize bcsName field

Correctly serialize bcsName field which was unintentially changed to
`bcs_name` in 8a992f0f7f (jsonrpc: introduce bcsEncoding tag to ease
migration to base64, 2024-12-12)

* snapshot restore: add option to reuse downloaded files (#20451)

## Description 

title, this can be problematic when a file is half-downloaded but useful
when all file downloading is complete, which helps to speed up iteration
over restore, as each time the .ref files download would take about
30min

## Test plan 

local run restorer and verify that it can reuse downloaded files
first run
```
104 out of 673 missing .ref files done
```
second run
```
8 out of 569 missing .ref files done
```

---

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

* Turn off randomized tx workload (#20660)

Seems causing high error rate.

## Description 

Describe the changes or additions included in this PR.

## Test plan 

How did you test the new or updated feature?…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants