Skip to content

Unstake transaction history #21441

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

Open
nishitCrowe opened this issue Mar 7, 2025 · 5 comments
Open

Unstake transaction history #21441

nishitCrowe opened this issue Mar 7, 2025 · 5 comments

Comments

@nishitCrowe
Copy link

I am querying for staking transactions against this account 0x86f3734ed8b3ea7d5b9615dd19caf314aada227777423f2ffaf42abf726532dc. and I found very first transaction as UnStake transaction. Can you please enlighten me that without doing single staking transaction before this Unstake transaction, how this Unstake possible?

Does Split transaction play role in this scenario ? If yes then how can we get to know that what was the respective Staking transaction against this Unstake.

Copy link
Contributor

github-actions bot commented Mar 7, 2025

Thank you for opening this issue, a team member will review it shortly. Until then, please do not interact with any users that claim to be from Sui support and do not click on any links!

@1-4200
Copy link
Contributor

1-4200 commented Mar 7, 2025

Yes, the Split transaction is the key here.

Another account used staking_pool::split to divide its own StakedSui (which is required for Unstake) and transferred a portion to this account. As a result, even though this account has no prior Stake transaction, it can still execute an Unstake.
https://github.com/MystenLabs/sui/blob/mainnet/crates/sui-framework/packages/sui-system/sources/staking_pool.move#L504

@nishitCrowe
Copy link
Author

Hi @1-4200 , thanks for quick reply.
Then how would we trace the respective staking transaction against this unstake transaction. Can you help me out to find a link or there is any property which builds a connection?
I am using Json RPC API to query transaction blocks.

@1-4200
Copy link
Contributor

1-4200 commented Mar 7, 2025

I would track it by tracing the previousTransaction of the StakedSui.
Specifically, I’d use sui_tryGetPastObject to obtain the previousTransaction of the StakedSui used for Unstake, then call sui_getTransactionBlock with its digest to examine the transaction details. Repeating this process until reaching the original Stake transaction seems like a reliable approach.

That said since this involves tracking historical object states, an unpruned fullnode would likely be required.

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

No branches or pull requests

3 participants
@1-4200 @nishitCrowe and others