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

fix(iota): fix DisplayMetadata when validator is pending #3611

Merged
merged 5 commits into from
Oct 28, 2024

Conversation

Thoralf-M
Copy link
Member

Description of change

Fix DisplayMetadata when validator is pending
Add test_become_validator

Links to any relevant issues

Fixes #2432
Fixes #2578

Type of change

  • Bug fix (a non-breaking change which fixes an issue)
  • Enhancement (a non-breaking change which adds functionality)

How the change has been tested

Running the added test and also tested manually with the cli

@Thoralf-M Thoralf-M requested review from a team, miker83z and valeriyr as code owners October 24, 2024 09:48
@Thoralf-M Thoralf-M added the team-dev-tools Issues related to the Developer Tools Team label Oct 24, 2024
@Thoralf-M Thoralf-M merged commit fe0d82c into develop Oct 28, 2024
33 of 38 checks passed
@Thoralf-M Thoralf-M deleted the dev-tools/iota-validator-test branch October 28, 2024 17:05
stefan-mysten pushed a commit to MystenLabs/sui that referenced this pull request Nov 25, 2024
…20354)

## Description 

Fix the DisplayMetadata command when a validator is still pending
Without this change the ValidatorV1 can't be correctly decoded as the
first bytes of the bcs are for the `Field` as the object is a dynamic
field resulting in this error: `Can't convert bcs bytes of object
0x17792bdce1d0c032e64f5dff96a4e80eb453ab43f290ef6d091b1ebe50a511eb to
ValidatorV1: malformed utf8`

Porting the fix from iotaledger/iota#3611

## Test plan 

Running these commands
```
# increase faucet amount (just setting 30 million didn't work)
sed -i 's/200_000_000_000/4_000_000_000_000_000/g' crates/sui/src/sui_commands.rs
cargo run start --force-regenesis --with-faucet

# other terminal
cargo install --locked --bin sui --path crates/sui
sui client switch --env localnet
# get enough coins
sui client faucet --url http://127.0.0.1:9123/gas
sui client faucet --url http://127.0.0.1:9123/gas
sleep 2 
sui validator make-validator-info validator0 description https://sui.io https://github.com/MystenLabs/sui 127.0.0.1 1000
sui validator become-candidate validator.info
sleep 2
# stake enough coins
for run in {1..8};
do
    coinObjectId=$(sui client gas --json | jq '.[0].gasCoinId')
    validatorAddress=$(sui client active-address)
    sui client call --package 0x3 --module sui_system --function request_add_stake --args 0x5 $coinObjectId $validatorAddress --gas-budget 10000000
done
sleep 2
sui validator join-committee
sleep 2
sui validator display-metadata
```

## 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 the `sui validator display-metadata` command bug for
pending validators.
- [ ] Rust SDK:
- [ ] REST API:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
team-dev-tools Issues related to the Developer Tools Team
Projects
None yet
7 participants