Please visit our website at zondax.ch
This project contains the Avail app (https://www.availproject.org/) for Ledger Nano S+, Nano X, Stax, Flex and Apex P.
- Ledger Nano S+/X, Stax, Flex and Apex P Avail 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 | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Remark | ✔️ | ✔️ | Bytesremark |
| Set heap pages | ✔️ | ✔️ | u64pages |
| Set code | ✔️ | ✔️ | Bytescode |
| Set code without checks | ✔️ | ✔️ | Vecu8code |
| Set storage | VecKeyValueitems |
||
| Kill storage | VecKeykeys |
||
| Kill prefix | Keyprefixu32subkeys |
||
| Remark with event | ✔️ | ✔️ | Bytesremark |
| Authorize upgrade | ✔️ | Hashcode_hash |
|
| Authorize upgrade without checks | ✔️ | Hashcode_hash |
|
| Apply authorized upgrade | ✔️ | Vecu8code |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Batch | ✔️ | VecCallcalls |
|
| As derivative | u16indexCallcall |
||
| Batch all | ✔️ | VecCallcalls |
|
| Dispatch as | BoxPalletsOriginas_originCallcall |
||
| Force batch | ✔️ | VecCallcalls |
|
| With weight | ✔️ | CallcallWeightweight |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Report equivocation | BoxEquivocationProofHeaderequivocation_proofKeyOwnerProofkey_owner_proof |
||
| Report equivocation unsigned | BoxEquivocationProofHeaderequivocation_proofKeyOwnerProofkey_owner_proof |
||
| Plan config change | NextConfigDescriptorconfig |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Set | Compactu64now |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Claim | AccountIndexindex |
||
| Transfer | AccountIdLookupOfTnew_AccountIndexindex |
||
| Free | AccountIndexindex |
||
| Force transfer | AccountIdLookupOfTnew_AccountIndexindexboolfreeze |
||
| Freeze | AccountIndexindex |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Transfer allow death | ✔️ | ✔️ | AccountIdLookupOfTdestCompactBalanceamount |
| Force transfer | ✔️ | ✔️ | AccountIdLookupOfTsourceAccountIdLookupOfTdestCompactBalanceamount |
| Transfer keep alive | ✔️ | ✔️ | AccountIdLookupOfTdestCompactBalanceamount |
| Transfer all | ✔️ | ✔️ | AccountIdLookupOfTdestboolkeep_alive |
| Force unreserve | ✔️ | AccountIdLookupOfTwhoBalanceamount |
|
| Upgrade accounts | ✔️ | VecAccountIdwho |
|
| Force set balance | ✔️ | AccountIdLookupOfTwhoCompactBalancenew_free |
|
| Force adjust total issuance | ✔️ | AdjustmentDirectiondirectionCompactBalancedelta |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Submit unsigned | BoxRawSolutionSolutionOfMinerConfigraw_solutionSolutionOrSnapshotSizewitness |
||
| Set minimum untrusted score | OptionElectionScoremaybe_next_score |
||
| Set emergency election result | SupportsAccountIdsupports |
||
| Submit | BoxRawSolutionSolutionOfMinerConfigraw_solution |
||
| Governance fallback | Optionu32maybe_max_votersOptionu32maybe_max_targets |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Bond | ✔️ | ✔️ | CompactBalanceamountRewardDestinationpayee |
| Bond extra | ✔️ | ✔️ | CompactBalanceamount |
| Unbond | ✔️ | ✔️ | CompactBalanceamount |
| Withdraw Unbonded | ✔️ | ✔️ | u32num_slashing_spans |
| Validate | ✔️ | ✔️ | ValidatorPrefsprefs |
| Nominate | ✔️ | ✔️ | VecAccountIdLookupOfTtargets |
| Chill | ✔️ | ✔️ | |
| Set payee | ✔️ | ✔️ | RewardDestinationpayee |
| Set controller | ✔️ | ✔️ | |
| Set validator count | ✔️ | Compactu32new_ |
|
| Increase validator count | ✔️ | Compactu32additional |
|
| Scale validator count | ✔️ | Percentfactor |
|
| Force no eras | ✔️ | ||
| Force new era | ✔️ | ||
| Set invulnerables | ✔️ | VecAccountIdinvulnerables |
|
| Force unstake | ✔️ | AccountIdstashu32num_slashing_spans |
|
| Force new era always | ✔️ | ||
| Cancel deferred slash | ✔️ | EraIndexeraVecu32slash_indices |
|
| Payout stakers | ✔️ | ✔️ | AccountIdvalidator_stashEraIndexera |
| Rebond | ✔️ | ✔️ | CompactBalanceamount |
| Reap stash | ✔️ | AccountIdstashu32num_slashing_spans |
|
| Kick | ✔️ | VecAccountIdLookupOfTwho |
|
| Set staking configs | ✔️ | ConfigOpBalanceOfTmin_nominator_bondConfigOpBalanceOfTmin_validator_bondConfigOpu32max_nominator_countConfigOpu32max_validator_countConfigOpPercentchill_thresholdConfigOpPerbillmin_commission |
|
| Chill other | ✔️ | AccountIdstash |
|
| Force apply min commission | ✔️ | AccountIdvalidator_stash |
|
| Set min commission | ✔️ | Perbillnew_ |
|
| Payout stakers by page | ✔️ | AccountIdvalidator_stashEraIndexeraPagepage |
|
| Update payee | ✔️ | AccountIdcontroller |
|
| Deprecate controller batch | BoundedVecAccountIdMaxControllersInDeprecationBatchcontrollers |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Set keys | ✔️ | ✔️ | KeyskeysBytesproof |
| Purge keys | ✔️ | ✔️ |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Set members | ✔️ | VecAccountIdnew_membersOptionAccountIdprimeMemberCountold_count |
|
| Execute | ✔️ | ProposalproposalCompactu32length_bound |
|
| Propose | ✔️ | Compactu32thresholdProposalproposalCompactu32length_bound |
|
| Vote | ✔️ | HashproposalCompactu32indexboolapprove |
|
| Disapprove proposal | Hashproposal_hash |
||
| Close | Hashproposal_hashCompactu32indexWeightproposal_weight_boundCompactu32length_bound |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Report equivocation | BoxEquivocationProofHashBlockNumberequivocation_proofKeyOwnerProofkey_owner_proof |
||
| Report equivocation unsigned | BoxEquivocationProofHashBlockNumberequivocation_proofKeyOwnerProofkey_owner_proof |
||
| Note stalled | ✔️ | BlockNumberdelayBlockNumberbest_finalized_block_number |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Propose spend | CompactBalanceamountAccountIdLookupOfTbeneficiary |
||
| Reject proposal | Compactu32proposal_id |
||
| Approve proposal | Compactu32proposal_id |
||
| Spend local | CompactBalanceamountAccountIdLookupOfTbeneficiary |
||
| Remove approval | Compactu32proposal_id |
||
| Spend | BoxAssetKindasset_kindCompactBalanceamountBoxBeneficiaryLookupOfbeneficiaryOptionBlockNumbervalid_from |
||
| Payout | SpendIndexindex |
||
| Check status | SpendIndexindex |
||
| Void spend | SpendIndexindex |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Sudo | Callcall |
||
| Sudo unchecked weight | CallcallWeightweight |
||
| Set key | AccountIdLookupOfTnew_ |
||
| Sudo as | AccountIdLookupOfTwhoCallcall |
||
| Remove key |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Heartbeat | HeartbeatBlockNumberheartbeatAuthorityIdasRuntimeAppPublicSignaturesignature |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Schedule | BlockNumberwhenOptionschedulePeriodBlockNumbermaybe_periodicschedulePrioritypriorityCallcall |
||
| Cancel | BlockNumberwhenu32index |
||
| Schedule named | TaskNameidBlockNumberwhenOptionschedulePeriodBlockNumbermaybe_periodicschedulePrioritypriorityCallcall |
||
| Cancel named | TaskNameid |
||
| Schedule after | ✔️ | BlockNumberafterOptionschedulePeriodBlockNumbermaybe_periodicschedulePrioritypriorityCallcall |
|
| Schedule named after | TaskNameidBlockNumberafterOptionschedulePeriodBlockNumbermaybe_periodicschedulePrioritypriorityCallcall |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Create application key | ✔️ | AppKeykey |
|
| Submit data | ✔️ | AppDatadata |
|
| Submit block length proposal | ✔️ | u32rowsu32cols |
|
| Set application key | ✔️ | AppKeyold_keyAppKeynew_key |
|
| Set submit data fee modifier | ✔️ | DispatchFeeModifiermodifier |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Note preimage | Vecu8bytes |
||
| Unnote preimage | Hashhash |
||
| Request preimage | Hashhash |
||
| Unrequest preimage | Hashhash |
||
| Ensure updated | VecHashhashes |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| As multi threshold 1 | ✔️ | ✔️ | VecAccountIdother_signatoriesCallcall |
| As multi | ✔️ | ✔️ | u16thresholdVecAccountIdother_signatoriesOptionTimepointmaybe_timepointCallcallWeightmax_weight |
| Approve as multi | ✔️ | ✔️ | u16thresholdVecAccountIdother_signatoriesOptionTimepointmaybe_timepointH256call_hashWeightmax_weight |
| Cancel as multi | ✔️ | ✔️ | u16thresholdVecAccountIdother_signatoriesTimepointtimepointH256call_hash |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Rebag | AccountIdLookupOfTdislocated |
||
| Put in front of | AccountIdLookupOfTlighter |
||
| Put in front of other | AccountIdLookupOfTheavierAccountIdLookupOfTlighter |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Join | ✔️ | ✔️ | CompactBalanceamountPoolIdpool_id |
| Bond extra | ✔️ | ✔️ | BondExtraBalanceOfTextra |
| Claim payout | ✔️ | ✔️ | |
| Unbond | ✔️ | ✔️ | AccountIdLookupOfTmember_accountCompactBalanceunbonding_points |
| Pool withdraw unbonded | ✔️ | PoolIdpool_idu32num_slashing_spans |
|
| Withdraw Unbonded | ✔️ | ✔️ | AccountIdLookupOfTmember_accountu32num_slashing_spans |
| Create | ✔️ | ✔️ | CompactBalanceamountAccountIdLookupOfTrootAccountIdLookupOfTnominatorAccountIdLookupOfTbouncer |
| Create with pool id | ✔️ | CompactBalanceamountAccountIdLookupOfTrootAccountIdLookupOfTnominatorAccountIdLookupOfTbouncerPoolIdpool_id |
|
| Nominate | ✔️ | ✔️ | PoolIdpool_idVecAccountIdvalidators |
| Set state | ✔️ | ✔️ | PoolIdpool_idPoolStatestate |
| Set metadata | ✔️ | ✔️ | PoolIdpool_idVecu8metadata |
| Set configs | ✔️ | ConfigOpBalanceOfTmin_join_bondConfigOpBalanceOfTmin_create_bondConfigOpu32max_poolsConfigOpu32max_membersConfigOpu32max_members_per_poolConfigOpPerbillglobal_max_commission |
|
| Update roles | ✔️ | ✔️ | PoolIdpool_idConfigOpAccountIdnew_rootConfigOpAccountIdnew_nominatorConfigOpAccountIdnew_bouncer |
| Chill | ✔️ | ✔️ | PoolIdpool_id |
| Bond extra other | ✔️ | AccountIdLookupOfTmemberBondExtraBalanceOfTextra |
|
| Set claim permission | ✔️ | ✔️ | ClaimPermissionpermission |
| Claim payout other | ✔️ | ✔️ | AccountIdother |
| Set commission | ✔️ | ✔️ | PoolIdpool_idOptionTuplePerbillAccountIdnew_commission |
| Set commission max | ✔️ | ✔️ | PoolIdpool_idPerbillmax_commission |
| Set commission change rate | ✔️ | ✔️ | PoolIdpool_idCommissionChangeRateBlockNumberchange_rate |
| Claim commission | ✔️ | ✔️ | PoolIdpool_id |
| Adjust pool deposit | ✔️ | PoolIdpool_id |
|
| Set commission claim permission | ✔️ | PoolIdpool_idOptionCommissionClaimPermissionAccountIdpermission |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Add registrar | AccountIdLookupOfTaccount |
||
| Set identity | ✔️ | IdentityInfoinfo |
|
| Set subs | VecTupleAccountIdDatasubs |
||
| Clear identity | ✔️ | ||
| Request judgement | Compactu32reg_indexCompactu128max_fee |
||
| Cancel request | RegistrarIndexreg_index |
||
| Set fee | Compactu32indexCompactu128fee |
||
| Set account id | Compactu32indexAccountIdLookupOfTnew_ |
||
| Set fields | Compactu32indexIdentityInformationasIdentityInformationProviderFieldsIdentifierfields |
||
| Provide judgement | Compactu32reg_indexAccountIdLookupOfTtargetJudgementBalanceOfTjudgementHashidentity |
||
| Kill identity | AccountIdLookupOfTtarget |
||
| Add sub | AccountIdLookupOfTsubDatadata |
||
| Rename sub | AccountIdLookupOfTsubDatadata |
||
| Remove sub | AccountIdLookupOfTsub |
||
| Quit sub | |||
| Add username authority | AccountIdLookupOfTauthorityVecu8suffixu32allocation |
||
| Remove username authority | AccountIdLookupOfTauthority |
||
| Set username for | AccountIdLookupOfTwhoVecu8usernameOptionOffchainSignaturesignature |
||
| Accept username | UsernameTusername |
||
| Remove expired approval | UsernameTusername |
||
| Set primary username | UsernameTusername |
||
| Remove dangling username | UsernameTusername |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Mandate | ✔️ | Callcall |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Fulfill call | H256function_idFunctionInputinputFunctionOutputoutputFunctionProofproofCompactu64slot |
||
| Execute | ✔️ | Compactu64slotAddressedMessageaddr_messageValidProofaccount_proofValidProofstorage_proof |
|
| Source chain froze | Compactu32source_chain_idboolfrozen |
||
| Send message | ✔️ | MessagemessageH256toCompactu32domain |
|
| Set poseidon hash | Compactu64periodBoundedVecu8poseidon_hash |
||
| Set broadcaster | Compactu32broadcaster_domainH256broadcaster |
||
| Set whitelisted domains | BoundedVecu32ConstU3210_000value |
||
| Set configuration | Configurationvalue |
||
| Set function ids | OptionTupleH256H256value |
||
| Set step verification key | OptionBoundedVecu8ConstU3210_000value |
||
| Set rotate verification key | OptionBoundedVecu8ConstU3210_000value |
||
| Failed send message txs | VecCompactu32failed_txs |
||
| Set updater | H256updater |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Proxy | ✔️ | ✔️ | AccountIdLookupOfTrealOptionProxyTypeforce_proxy_typeCallcall |
| Add proxy | ✔️ | ✔️ | AccountIdLookupOfTdelegateProxyTypeproxy_typeBlockNumberdelay |
| Remove proxy | ✔️ | ✔️ | AccountIdLookupOfTdelegateProxyTypeproxy_typeBlockNumberdelay |
| Remove proxies | |||
| Create pure | ProxyTypeproxy_typeBlockNumberdelayu16index |
||
| Kill pure | AccountIdLookupOfTspawnerProxyTypeproxy_typeu16indexCompactu32heightCompactu32ext_index |
||
| Announce | AccountIdLookupOfTrealCallHashOfcall_hash |
||
| Remove announcement | AccountIdLookupOfTrealCallHashOfcall_hash |
||
| Reject announcement | AccountIdLookupOfTdelegateCallHashOfcall_hash |
||
| Proxy announced | AccountIdLookupOfTdelegateAccountIdLookupOfTrealOptionProxyTypeforce_proxy_typeCallcall |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Pause | RuntimeCallNameOfTfull_name |
||
| Unpause | RuntimeCallNameOfTident |
| Name | Nano S+/X/Stax/Flex/Apex P | Nesting | Arguments |
|---|---|---|---|
| Set members | VecAccountIdnew_membersOptionAccountIdprimeMemberCountold_count |
||
| Execute | ProposalproposalCompactu32length_bound |
||
| Propose | Compactu32thresholdProposalproposalCompactu32length_bound |
||
| Vote | HashproposalCompactu32indexboolapprove |
||
| Disapprove proposal | Hashproposal_hash |
||
| Close | Hashproposal_hashCompactu32indexWeightproposal_weight_boundCompactu32length_bound |