## Endpoints

- `/stake`: generates the staking transaction in hex.
- `/broadcast`: broadcasts a signed transaction
- `/stakes`: returns the list of SUI stake objects (with their `staked_sui_id`).
- `/withdraw`: returns the withdraw transaction (using the `staked_sui_id` as one of the inputs), in hex

## Flow

```
FigmentStakerFigmentStakerCalls /stakeReturns an unsigned staking txSigns the staking txCalls /broadcast with the unsigned and signed staking txsBrodcasts the signed staking txReturns the tx hashCalls /stakesReturns the list of stakes with SUI stake idsCalls /withdraw with a stake idReturns an unsigned withdraw txSigns the withdraw txCalls /broadcast with the unsigned and signed withdraw txsBrodcasts the signed withdraw txReturns the tx hash
```
