This project contains the StaFi app (https://apps.stafi.io/) for Ledger Nano S and X.
- Ledger Nano S/X BOLOS app
- Specs / Documentation
- C++ unit tests
- Zemu tests
For more information: How to build
Please:
- Do not use in production
- Do not use a Ledger device with funds for development purposes.
- Have a separate and marked device that is used ONLY for development and testing
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Remark | ✔️ | Vecu8 remark |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Batch | ✔️ | VecCall calls |
||
As derivative | ✔️ | u16 index Call call |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Transfer | ✔️ | ✔️ | ✔️ | LookupasStaticLookupSource dest CompactBalance amount |
Transfer keep alive | ✔️ | ✔️ | ✔️ | LookupasStaticLookupSource dest CompactBalance amount |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Bond | ✔️ | ✔️ | LookupasStaticLookupSource controller CompactBalance amount RewardDestination payee |
|
Bond extra | ✔️ | ✔️ | CompactBalance amount |
|
Unbond | ✔️ | ✔️ | CompactBalance amount |
|
Withdraw Unbonded | ✔️ | ✔️ | u32 num_slashing_spans |
|
Validate | ✔️ | ✔️ | ValidatorPrefs prefs |
|
Nominate | ✔️ | ✔️ | VecLookupasStaticLookupSource targets |
|
Chill | ✔️ | ✔️ | ||
Set payee | ✔️ | ✔️ | RewardDestination payee |
|
Set controller | ✔️ | ✔️ | LookupasStaticLookupSource controller |
|
Payout stakers | ✔️ | ✔️ | AccountId validator_stash EraIndex era |
|
Rebond | ✔️ | ✔️ | CompactBalance amount |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Set keys | ✔️ | ✔️ | Keys keys Bytes proof |
|
Purge keys | ✔️ | ✔️ |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Propose | ✔️ | Hash proposal_hash CompactBalance amount |
||
Second | ✔️ | Compactu32 proposal Compactu32 seconds_upper_bound |
||
Vote | ✔️ | Compactu32 ref_index AccountVote vote |
||
Emergency cancel | ✔️ | ReferendumIndex ref_index |
||
External propose | ✔️ | Hash proposal_hash |
||
External propose majority | ✔️ | Hash proposal_hash |
||
External propose default | ✔️ | Hash proposal_hash |
||
Fast track | ✔️ | Hash proposal_hash BlockNumber voting_period BlockNumber delay |
||
Veto external | ✔️ | Hash proposal_hash |
||
Delegate | ✔️ | AccountId to Conviction conviction Balance balance |
||
Undelegate | ✔️ | |||
Note preimage | ✔️ | Bytes encoded_proposal |
||
Note preimage operational | ✔️ | Bytes encoded_proposal |
||
Note imminent preimage | ✔️ | Bytes encoded_proposal |
||
Note imminent preimage operational | ✔️ | Bytes encoded_proposal |
||
Reap preimage | ✔️ | Hash proposal_hash Compactu32 proposal_len_upper_bound |
||
Unlock | ✔️ | AccountId target |
||
Remove vote | ✔️ | ReferendumIndex index |
||
Remove other vote | ✔️ | AccountId target ReferendumIndex index |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Execute | ✔️ | Proposal proposal Compactu32 length_bound |
||
Propose | ✔️ | Compactu32 threshold Proposal proposal Compactu32 length_bound |
||
Vote | ✔️ | Hash proposal Compactu32 index bool approve |
||
Close | ✔️ | Hash proposal_hash Compactu32 index Compactu64 proposal_weight_bound Compactu32 length_bound |
||
Disapprove proposal | ✔️ | Hash proposal_hash |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Execute | ✔️ | Proposal proposal Compactu32 length_bound |
||
Propose | ✔️ | Compactu32 threshold Proposal proposal Compactu32 length_bound |
||
Vote | ✔️ | Hash proposal Compactu32 index bool approve |
||
Close | ✔️ | Hash proposal_hash Compactu32 index Compactu64 proposal_weight_bound Compactu32 length_bound |
||
Disapprove proposal | ✔️ | Hash proposal_hash |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Vote | ✔️ | VecAccountId votes Compactu128 amount |
||
Remove voter | ✔️ | |||
Submit candidacy | ✔️ | Compactu32 candidate_count |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Propose spend | ✔️ | CompactBalance amount LookupasStaticLookupSource beneficiary |
||
Reject proposal | ✔️ | Compactu32 proposal_id |
||
Approve proposal | ✔️ | Compactu32 proposal_id |
||
Report_awesome | ✔️ | Bytes reason AccountId who |
||
Retract tip | ✔️ | Hash hash |
||
Tip new | ✔️ | Bytes reason AccountId who CompactBalance tip_value |
||
Tip | ✔️ | Hash hash CompactBalance tip_value |
||
Close tip | ✔️ | Hash hash |
||
Propose bounty | ✔️ | CompactBalance value Bytes description |
||
Approve bounty | ✔️ | Compactu32 bounty_id |
||
Propose curator | ✔️ | Compactu32 bounty_id LookupasStaticLookupSource curator CompactBalance fee |
||
Unassign curator | ✔️ | Compactu32 bounty_id |
||
Accept curator | ✔️ | Compactu32 bounty_id |
||
Award bounty | ✔️ | Compactu32 bounty_id LookupasStaticLookupSource beneficiary |
||
Claim bounty | ✔️ | Compactu32 bounty_id |
||
Close bounty | ✔️ | Compactu32 bounty_id |
||
Extend bounty expiry | ✔️ | Compactu32 bounty_id Bytes _remark |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Add registrar | ✔️ | AccountId account |
||
Set identity | BoxIdentityInfoMaxAdditionalFields info |
|||
Set subs | VecTupleAccountIdData subs |
|||
Clear identity | ✔️ | |||
Request judgement | ✔️ | Compactu32 reg_index Compactu128 max_fee |
||
Cancel request | ✔️ | RegistrarIndex reg_index |
||
Set fee | ✔️ | Compactu32 index Compactu128 fee |
||
Set account id | ✔️ | Compactu32 index AccountId new_ |
||
Set fields | Compactu32 index IdentityFields fields |
|||
Provide judgement | Compactu32 reg_index LookupasStaticLookupSource target JudgementBalanceOfT judgement |
|||
Kill identity | ✔️ | LookupasStaticLookupSource target |
||
Add sub | LookupasStaticLookupSource sub Data data |
|||
Rename sub | LookupasStaticLookupSource sub Data data |
|||
Remove sub | ✔️ | LookupasStaticLookupSource sub |
||
Quit sub | ✔️ |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
As recovered | ✔️ | AccountId account Call call |
||
Create recovery | ✔️ | VecAccountId friends u16 threshold BlockNumber delay_period |
||
Initiate recovery | ✔️ | AccountId account |
||
Vouch recovery | ✔️ | AccountId lost AccountId rescuer |
||
Claim recovery | ✔️ | AccountId account |
||
Close recovery | ✔️ | AccountId rescuer |
||
Remove recovery | ✔️ | |||
Cancel recovered | ✔️ | AccountId account |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Vest | ✔️ | |||
Vest other | ✔️ | LookupasStaticLookupSource target |
||
Vested transfer | ✔️ | LookupasStaticLookupSource target VestingInfo schedule |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Schedule | ✔️ | BlockNumber when OptionschedulePeriodBlockNumber maybe_periodic schedulePriority priority BoxCallOrHashOfT call |
||
Cancel | ✔️ | BlockNumber when u32 index |
||
Schedule named | ✔️ | Vecu8 id BlockNumber when OptionschedulePeriodBlockNumber maybe_periodic schedulePriority priority BoxCallOrHashOfT call |
||
Cancel named | ✔️ | Vecu8 id |
||
Schedule after | ✔️ | BlockNumber after OptionschedulePeriodBlockNumber maybe_periodic schedulePriority priority BoxCallOrHashOfT call |
||
Schedule named after | ✔️ | Vecu8 id BlockNumber after OptionschedulePeriodBlockNumber maybe_periodic schedulePriority priority BoxCallOrHashOfT call |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Proxy | ✔️ | ✔️ | AccountId real OptionProxyType force_proxy_type Call call |
|
Add proxy | ✔️ | AccountId delegate ProxyType proxy_type BlockNumber delay |
||
Remove proxy | ✔️ | AccountId delegate ProxyType proxy_type BlockNumber delay |
||
Remove proxies | ✔️ | |||
Anonymous | ✔️ | ProxyType proxy_type BlockNumber delay u16 index |
||
Kill anonymous | ✔️ | AccountId spawner ProxyType proxy_type u16 index Compactu32 height Compactu32 ext_index |
||
Announce | ✔️ | AccountId real CallHashOf call_hash |
||
Remove announcement | ✔️ | AccountId real CallHashOf call_hash |
||
Reject announcement | ✔️ | AccountId delegate CallHashOf call_hash |
||
Proxy announced | ✔️ | AccountId delegate AccountId real OptionProxyType force_proxy_type Call call |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
As multi threshold 1 | ✔️ | ✔️ | VecAccountId other_signatories Call call |
|
As multi | ✔️ | ✔️ | u16 threshold VecAccountId other_signatories OptionTimepoint maybe_timepoint OpaqueCall call bool store_call Weight max_weight |
|
Approve as multi | ✔️ | ✔️ | u16 threshold VecAccountId other_signatories OptionTimepoint maybe_timepoint H256 call_hash Weight max_weight |
|
Cancel as multi | ✔️ | ✔️ | u16 threshold VecAccountId other_signatories Timepoint timepoint H256 call_hash |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Transfer | ✔️ | ✔️ | ✔️ | LookupasStaticLookupSource dest u8 symbol u128 value |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Transfer | ✔️ | ✔️ | ✔️ | LookupasStaticLookupSource dest u8 symbol u128 value |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Liquidity bond | ✔️ | ✔️ | LookupasStaticLookupSource pool Balance value |
|
Liquidity bond and swap | ✔️ | ✔️ | LookupasStaticLookupSource pool Balance value Bytes recipient u8 dest_id |
|
Liquidity unbond | ✔️ | ✔️ | LookupasStaticLookupSource pool u128 value |
|
Withdraw unbond | ✔️ | ✔️ | LookupasStaticLookupSource pool |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Transfer native | ✔️ | ✔️ | Balance amount Bytes recipient u8 dest_id |
|
Transfer rtoken | ✔️ | ✔️ | u8 symbol u128 amount Bytes recipient u8 dest_id |
|
Transfer xtoken | ✔️ | ✔️ | u8 symbol u128 amount Bytes recipient u8 dest_id |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Liquidity bond | ✔️ | ✔️ | Bytes pubkey Bytes signature Bytes pool Bytes blockhash Bytes txhash u128 amount u8 symbol |
|
Liquidity bond and swap | ✔️ | ✔️ | Bytes pubkey Bytes signature Bytes pool Bytes blockhash Bytes txhash u128 amount u8 symbol Bytes recipient u8 dest_id |
|
Liquidity unbond | ✔️ | ✔️ | u8 symbol Bytes pool u128 value Bytes recipient |
|
Refund swap fee | ✔️ | ✔️ | u8 symbol Hash bond_id |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Claim | ✔️ | ✔️ | u8 symbol |
|
Mint claim | ✔️ | ✔️ | AccountId dest u8 symbol u128 value |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Claim rtoken reward | ✔️ | ✔️ | u8 symbolu32 cycle u64 index |
|
Claim reth reward | ✔️ | ✔️ | Bytes pubkey Bytes sigs u32 cycle u64 index |
|
Update reth claim info | ✔️ | ✔️ | VecBytes pubkeysVecu128 mint_values Vecu128 native_token_values |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Swap rtoken for native token | ✔️ | ✔️ | Bytes receiver u8 symbol u128 rtoken_amount u128 min_out_amount u8 grade |
|
Swap rfis for fis token | ✔️ | ✔️ | AccountId receiver u128 rtoken_amount u128 min_out_amount u8 grade |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Swap | ✔️ | ✔️ | u8 symbol u128 input_amount u128 min_out_amount bool input_is_fis |
|
Add liquidity | ✔️ | ✔️ | u8 symbol u128 rtoken_amount u128 fis_amount |
|
Remove liquidity | ✔️ | ✔️ | u8 symbol u128 rm_unit u128 swap_unit u128 min_fis_out_amount u128 min_rtoken_out_amount bool input_is_fis |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Transfer | ✔️ | ✔️ | ✔️ | LookupasStaticLookupSource dest u8 symbol u128 value |
Name | Light | XL | Nesting | Arguments |
---|---|---|---|---|
Deposit | ✔️ | ✔️ | u8 symbol u32 pool_index u32 grade_index uu128 lp_amount |
|
Withdraw | ✔️ | ✔️ | u8 symbol u32 pool_index u32 stake_index uu128 lp_amount |
|
Claim reward | ✔️ | ✔️ | u8 symbol u32 pool_index u32 stake_index |
|
Emergency withdraw | ✔️ | ✔️ | u8 symbol u32 pool_index u32 stake_index |