Skip to content

feat(wallet,dashboard): sunset Vesting#10923

Merged
begonaalvarezd merged 3 commits intodevelopfrom
feature/sunset-vesting
Apr 10, 2026
Merged

feat(wallet,dashboard): sunset Vesting#10923
begonaalvarezd merged 3 commits intodevelopfrom
feature/sunset-vesting

Conversation

@evavirseda
Copy link
Copy Markdown
Member

@evavirseda evavirseda commented Mar 24, 2026

be sure to squash & merge 🙏

fixes #10796

@vercel
Copy link
Copy Markdown

vercel bot commented Mar 24, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

6 Skipped Deployments
Project Deployment Actions Updated (UTC)
apps-backend Ignored Ignored Preview Apr 10, 2026 3:31pm
apps-ui-kit Ignored Ignored Preview Apr 10, 2026 3:31pm
iota-evm-bridge Ignored Ignored Preview Apr 10, 2026 3:31pm
iota-multisig-toolkit Ignored Ignored Preview Apr 10, 2026 3:31pm
rebased-explorer Ignored Ignored Preview Apr 10, 2026 3:31pm
wallet-dashboard Ignored Ignored Preview, Comment Apr 10, 2026 3:31pm

Request Review

@github-actions github-actions bot added wallet Issues related to the IOTA Wallet wallet-dashboard Issues related to the Wallet Dashboard dApp labels Mar 24, 2026
@iota-ci iota-ci added the tooling Issues related to the Tooling team label Mar 24, 2026
@evavirseda evavirseda changed the title feat(wallet,dashboard): update vesting UI after sunset (#10803) feat(wallet,dashboard): sunset Vesting Mar 24, 2026
@evavirseda evavirseda force-pushed the feature/sunset-vesting branch from 538624f to c8e45b5 Compare March 30, 2026 12:25
@vercel vercel bot temporarily deployed to Preview – iota-multisig-toolkit March 30, 2026 12:25 Inactive
@vercel vercel bot temporarily deployed to Preview – iota-evm-bridge March 30, 2026 12:25 Inactive
@vercel vercel bot temporarily deployed to Preview – rebased-explorer March 30, 2026 12:25 Inactive
@vercel vercel bot temporarily deployed to Preview – apps-backend March 30, 2026 12:25 Inactive
@evavirseda evavirseda force-pushed the feature/sunset-vesting branch from c8e45b5 to dc1cb2c Compare April 1, 2026 14:37
@vercel vercel bot temporarily deployed to Preview – rebased-explorer April 1, 2026 14:37 Inactive
@vercel vercel bot temporarily deployed to Preview – apps-backend April 1, 2026 14:37 Inactive
@vercel vercel bot temporarily deployed to Preview – iota-evm-bridge April 1, 2026 14:37 Inactive
@vercel vercel bot temporarily deployed to Preview – iota-multisig-toolkit April 1, 2026 14:37 Inactive
brancoder added a commit that referenced this pull request Apr 9, 2026
# Description of change

example of collect
[transaction](https://explorer.iota.org/txblock/HjKDYUXLjAnS9DGNK6Cqu2RrT7jcQwBWsS4zLMBuqKxV?network=devnet)

- Regular timelocks → unlock → convert to coin → transfer
- Timelocked stakes → unlock first, then group by `(pool_id,
stake_activation_epoch)` and merge with `staking_pool::join_staked_iota`
- Unlocks before joining to avoid
`timelocked_staking::join_staked_iota`, which also checks
`expiration_timestamp_ms` and would abort for stakes from different
vesting periods
- If the user already has a regular stake in the same pool/epoch, merges
into it instead of creating a new object
-  Shows a summary dialog after a successful collect


## Links to any relevant issues
:warning: nested PR from #10923

fixes #10800

## How the change has been tested

1. Get a [vesting
scenario](iotaledger/tooling-resources#101)
2. Change `SUPPLY_INCREASE_STARTING_VESTING_YEAR` from `2023` to `2024`
because the testing objects that you created expire in `2026`, but the
logic only considers staker up to `2025`
3. Wait a few minutes until all are unlocked

## Testing Collect Transaction with Existing Stake Objects

To reproduce this scenario:
- Run the [vesting
scenario](iotaledger/tooling-resources#101) from
the tooling-resources repository.
- In the same epoch, add regular stakes using the dashboard or wallet.
❗ Make sure that the validator is the same for timelocked staking
(vesting fast example) and regular stake

This test ensures that the collect transaction correctly unlocks
timelocked stake and adds it to the existing staking object in the pool

---------

Co-authored-by: Mario Sarcevic <mario.sarcevic@iota.org>
Co-authored-by: Bran <52735957+brancoder@users.noreply.github.com>
@vercel vercel bot temporarily deployed to Preview – iota-multisig-toolkit April 9, 2026 09:57 Inactive
@evavirseda evavirseda marked this pull request as ready for review April 9, 2026 09:59
@evavirseda evavirseda requested a review from a team as a code owner April 9, 2026 09:59
Copy link
Copy Markdown
Contributor

@brancoder brancoder left a comment

Choose a reason for hiding this comment

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

LGTM 🥇 nice one

@vercel vercel bot temporarily deployed to Preview – iota-multisig-toolkit April 10, 2026 14:31 Inactive
@vercel vercel bot temporarily deployed to Preview – apps-backend April 10, 2026 14:31 Inactive
@vercel vercel bot temporarily deployed to Preview – wallet-dashboard April 10, 2026 14:31 Inactive
@vercel vercel bot temporarily deployed to Preview – iota-evm-bridge April 10, 2026 14:31 Inactive
@vercel vercel bot temporarily deployed to Preview – rebased-explorer April 10, 2026 14:31 Inactive
evavirseda and others added 3 commits April 10, 2026 17:16
<details>
<summary>Screenshots 👀 </summary>

<img width="433" height="750" alt="Screenshot from 2026-03-20 10-02-09"
src="https://github.com/user-attachments/assets/4c557738-48dd-43dd-a32e-d6a5d007fea7"
/>
<img width="1081" height="548" alt="Screenshot from 2026-03-20 11-00-29"
src="https://github.com/user-attachments/assets/ea1a55ed-bada-47fd-ac6f-8a80703ccaaf"
/>
<img width="956" height="475" alt="Screenshot from 2026-03-20 11-00-48"
src="https://github.com/user-attachments/assets/0ec10edb-7b54-43ec-b2e3-989f7c7587ef"
/>
<img width="1194" height="708" alt="Screenshot from 2026-03-20 11-01-20"
src="https://github.com/user-attachments/assets/fbd93210-5d16-40d4-805f-4f44de660784"
/>

</details>

fixes #10799

Describe the tests that you ran to verify your changes.

Make sure to provide instructions for the maintainer as well as any
relevant configurations.

---------

Co-authored-by: Mario Sarcevic <mario.sarcevic@iota.org>
# Description of change

example of collect
[transaction](https://explorer.iota.org/txblock/HjKDYUXLjAnS9DGNK6Cqu2RrT7jcQwBWsS4zLMBuqKxV?network=devnet)

- Regular timelocks → unlock → convert to coin → transfer
- Timelocked stakes → unlock first, then group by `(pool_id,
stake_activation_epoch)` and merge with `staking_pool::join_staked_iota`
- Unlocks before joining to avoid
`timelocked_staking::join_staked_iota`, which also checks
`expiration_timestamp_ms` and would abort for stakes from different
vesting periods
- If the user already has a regular stake in the same pool/epoch, merges
into it instead of creating a new object
-  Shows a summary dialog after a successful collect


## Links to any relevant issues
:warning: nested PR from #10923

fixes #10800

## How the change has been tested

1. Get a [vesting
scenario](iotaledger/tooling-resources#101)
2. Change `SUPPLY_INCREASE_STARTING_VESTING_YEAR` from `2023` to `2024`
because the testing objects that you created expire in `2026`, but the
logic only considers staker up to `2025`
3. Wait a few minutes until all are unlocked

## Testing Collect Transaction with Existing Stake Objects

To reproduce this scenario:
- Run the [vesting
scenario](iotaledger/tooling-resources#101) from
the tooling-resources repository.
- In the same epoch, add regular stakes using the dashboard or wallet.
❗ Make sure that the validator is the same for timelocked staking
(vesting fast example) and regular stake

This test ensures that the collect transaction correctly unlocks
timelocked stake and adds it to the existing staking object in the pool

---------

Co-authored-by: Mario Sarcevic <mario.sarcevic@iota.org>
Co-authored-by: Bran <52735957+brancoder@users.noreply.github.com>
@marc2332 marc2332 force-pushed the feature/sunset-vesting branch from 1b3625d to 60536b9 Compare April 10, 2026 15:30
@begonaalvarezd begonaalvarezd merged commit 73ba3c6 into develop Apr 10, 2026
40 checks passed
@begonaalvarezd begonaalvarezd deleted the feature/sunset-vesting branch April 10, 2026 15:53
begonaalvarezd added a commit that referenced this pull request Apr 10, 2026
### be sure to squash & merge 🙏 

fixes #10796

---------

Co-authored-by: Mario Sarcevic <mario.sarcevic@iota.org>
Co-authored-by: Bran <52735957+brancoder@users.noreply.github.com>
Co-authored-by: Begoña Alvarez <balvarez@boxfish.studio>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tooling Issues related to the Tooling team wallet Issues related to the IOTA Wallet wallet-dashboard Issues related to the Wallet Dashboard dApp

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Sunset Vesting

5 participants