An open API service indexing awesome lists of open source software.

https://github.com/fireblocks/kusama_staking_sdk

Stake Kusama via Fireblocks
https://github.com/fireblocks/kusama_staking_sdk

Last synced: about 1 year ago
JSON representation

Stake Kusama via Fireblocks

Awesome Lists containing this project

README

          

# Fireblocks Kusama staking

This script allows to stake KSM via the Fireblocks system using the RAW signing API feature.

## :warning: Breaking Change in 2.0.0 :warning:
Version 2.0.0 introduces a breaking change; as per [this forum post](https://forum.polkadot.network/t/staking-controller-deprecation-plan-staking-ui-leads-comms/2748) on Polkadot - the controller is being deprecated.

As a result the following breaking changes were introduced:
* The function `setController` will no longer work and will results in an error
* The function `bond` no longer accepts 4 arguments, instead only 3 arguments - `vaultAccountId: string, amount?: number, rewardDestination?: string` (the `controller` argument was removed)

**Prerequisites:**

1. Run `npm i` from the project's directory to install all needed dependencies.

2. Create a vault account with KSM wallet which will act as a stash and controller account

3. Enable RAW signing feature by contacting Fireblocks's support team

4. Set transaction authorization policy rule that governs the RAW signing operation, the policy should include the following parameters:

a. Initiator

b. Designated Signer

c. Asset - KSM

d. Source (vault accounts) - Optional

e. Authorizers - Optional

**How to stake KSM**

1. addProxy(, );

2. bond(, , **optional** - );

reward_destination - Can be one of the following:

1. Stash (Default)

2. Staked - the rewards are sent back to the Stash and automatically bonded

**How to stake extra KSM**
1. bondExtra(, )

**How to stop staking**

1. chill();

2. unbond(, );

3. **7 days after** unbond() - withdrawUnbonded();

4. **Optional** - removeProxy(, );

**How to change controller**

1. setController(, )