Skip to content

Tags: phoenix-o/sui

Tags

sui_v1.40.0_1734967342_rel_notes

Toggle sui_v1.40.0_1734967342_rel_notes's commit message
rpc: change all options to default to false when not provided

Change all gRPC method options to default to false when not provided.
This will result push clients to explicitly ask for the fields that they
want instead of relying on any defaults that could change. This also will
also make it easier to rely on the generated protobuf option types where
if a field isn't present, its accessor will provide the default value of
`false`.

sui_v1.40.0_1734632999_rel_notes

Toggle sui_v1.40.0_1734632999_rel_notes's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
graphql: treat verifyZkloginSignature inputs as transaction payload (M…

…ystenLabs#20694)

## Description

Treat `verifyZkloginSignature`'s `bytes` and `signature` arguments as
part of the "transaction payload" for the purposes of enforcing GraphQL
request size limits, as this endpoint can be used to verify the
signature on a transaction and without this change, it would not be
possible to verify signatures on larger transactions (over 5KiB by
default).

Fixes MystenLabs#20638

## Test plan

New unit tests:

```
sui$ cargo nextest run -p sui-graphql-rpc -p sui-mvr-graphql-rpc -- server::builder::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: 
- [x] GraphQL: Treat `bytes` and `signature` arguments to
`verifyZkloginSignature` as part of the transaction payload for the
purposes of imposing request payload size limits.
- [ ] CLI: 
- [ ] Rust SDK:
- [ ] REST API:

sui_v1.40.0_1734535451_rel_notes

Toggle sui_v1.40.0_1734535451_rel_notes's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
indexer-alt: remove {sum,wal}_{obj_types,coin_balances} (MystenLabs#2…

…0659)

## Description

Clean up the previous consistent pipelines (obj_types and coin_balances)
and their schemas.

## Test plan

CI

---

## Release notes

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

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

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

sui_v1.40.0_1734028353_rel_notes

Toggle sui_v1.40.0_1734028353_rel_notes's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
[kv store] add watermark table to bigtable (MystenLabs#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:

sui_v1.39.0_1733498678_rel_notes

Toggle sui_v1.39.0_1733498678_rel_notes's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Add ConsensusV2 object support to `sui-indexer{,alt}` (MystenLabs#20486)

Updates `sum_coin_balances` and `wal_coin_balances` tables to add a
column for `coin_owner_kind`, so that balances can be tracked separately
for fastpath vs. consensus coins.

---

## 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: Adds `coin_owner_kind` column to coin balances tables. 
- [ ] JSON-RPC: 
- [ ] GraphQL: 
- [ ] CLI: 
- [ ] Rust SDK:
- [ ] REST API:

sui_v1.39.0_1733174499_rel_notes

Toggle sui_v1.39.0_1733174499_rel_notes's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Implement ConsensusV2 object handling in sui-execution (MystenLabs#20445

)

---

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

sui_v1.39.0_1732289063_rel_notes

Toggle sui_v1.39.0_1732289063_rel_notes's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
indexer-alt: try_for_each_spawned (MystenLabs#20379)

## Description

Create a `try_for_each_spawned` which works similarly to
`try_for_each_concurrent` but spawns a new tokio task for each unit of
work that it schedules based on values being pulled from the stream (but
no more than the `limit` set on the max concurrency.

This does introduce some slight overhead if we run it with a limit of
`1` (i.e. no concurrency) but otherwise will give the tokio runtime an
opportunity to schedule each unit of work on a different thread
(assuming the runtime is multi-threaded).

The interface is almost a drop-in replacement for
`try_for_each_concurrent` but with the following slight changes:

- The input stream does not need to be a `Result` itself.
- The future and returned error type must have `'static` lifetimes
because they are being passed to the tokio runtime and we can't easily
determine that they will not outlive the caller.

This addresses one of the main remaining differences between the
existing indexer and `sui-indexer-alt` (`sui-data-ingestion-core`'s
worker pool works roughly like this new abstraction, but without the
support for streams etc).

## Test plan

New unit tests:

```
sui$ cargo nextest run -p sui-indexer-alt -- task::tests
```

Running the indexer locally also makes sure the system is still operable
with the change.

Finally, I created some benchmarks in a repository to test that
`try_for_each_concurrent` does not take advantage of parallelism and
`try_for_each_spawned` does:

https://gist.github.com/amnn/6c6f198693d46d1f6d30bd7ef7be001d

Benchmarking results show that on a job counting the primes up to i for
2 <= i < 50,000, the concurrent and sequential implementations complete
in 2.7s.

`try_for_each_spawned` without parallelism does the same work in 3.2s
(slightly slower because of the overhead creating new tasks), and
`try_for_each_spawned` with parallelism of `16` completes in about 400ms
(an 8x improvement).

The most expensive individual task costs about 3ms to run on its own
(counting the primes up to 50,000), which is roughly in line with the
cost of processing.

The benchmarks also include an implementation that does the same thing
as `try_for_each_spawned` but built out of existing stream extension
libraries (`StreamExt::map`, and `StreamExt::buffered`) which have
similar performance characteristics but don't have the same behaviour
w.r.t. propagating panics and cancellations.

---

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

sui_v1.39.0_1732213851_rel_notes

Toggle sui_v1.39.0_1732213851_rel_notes's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Change bump_object_execution_cost to use saturating add and allow 0-c…

…ost tx (MystenLabs#20368)

---

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

sui_v1.38.0_1731548570_rel_notes

Toggle sui_v1.38.0_1731548570_rel_notes's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
[move] Add Move 2024 (non-beta) edition and make it the default editi…

…on (MystenLabs#20242)

## Description 

Add Move `2024` edition and make it the default edition. 

## Test plan 

Updated 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: 
- [X] CLI: Added the Move `2024` edition, and set it as the default Move
edition both when creating a new Move package and when migrating from an
existing package. Existing `2024.beta` and `2024.alpha` editions remain
supported.
- [ ] Rust SDK:
- [ ] REST API:

sui_v1.38.0_1731446363_rel_notes

Toggle sui_v1.38.0_1731446363_rel_notes's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
[ts-sdk] Add tx.object.option for creatnig object options in transact… (

MystenLabs#20194)

…ion builder

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