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
- Host: GitHub
- URL: https://github.com/fireblocks/kusama_staking_sdk
- Owner: fireblocks
- License: mit
- Created: 2023-02-27T09:46:42.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-01-29T16:46:47.000Z (over 1 year ago)
- Last Synced: 2025-03-25T20:21:28.990Z (about 1 year ago)
- Language: TypeScript
- Size: 43.9 KB
- Stars: 1
- Watchers: 4
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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(, )