Please visit our website at zondax.ch
This project contains the Avail app (https://www.availproject.org/ ) for Ledger Nano S, Nano S+, Nano X, Stax and Flex.
Ledger Nano S/S+/X, Stax and Flex 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
Nano S XL
Nano SP/X - Stax
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
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Batch
✔️
✔️
✔️
VecCallcalls
As derivative
u16indexCallcall
Batch all
✔️
✔️
✔️
VecCallcalls
Dispatch as
BoxPalletsOriginas_originCallcall
Force batch
✔️
✔️
✔️
VecCallcalls
With weight
✔️
✔️
CallcallWeightweight
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Report equivocation
BoxEquivocationProofHeaderequivocation_proofKeyOwnerProofkey_owner_proof
Report equivocation unsigned
BoxEquivocationProofHeaderequivocation_proofKeyOwnerProofkey_owner_proof
Plan config change
NextConfigDescriptorconfig
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Set
Compactu64now
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Claim
AccountIndexindex
Transfer
AccountIdLookupOfTnew_AccountIndexindex
Free
AccountIndexindex
Force transfer
AccountIdLookupOfTnew_AccountIndexindexboolfreeze
Freeze
AccountIndexindex
Name
Nano S
Nano S XL
Nano SP/X - Stax
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
ElectionProviderMultiPhase
Name
Nano S
Nano S XL
Nano SP/X - Stax
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
Nano S XL
Nano SP/X - Stax
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
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Set keys
✔️
✔️
✔️
✔️
KeyskeysBytesproof
Purge keys
✔️
✔️
✔️
✔️
Name
Nano S
Nano S XL
Nano SP/X - Stax
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
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Report equivocation
BoxEquivocationProofHashBlockNumberequivocation_proofKeyOwnerProofkey_owner_proof
Report equivocation unsigned
BoxEquivocationProofHashBlockNumberequivocation_proofKeyOwnerProofkey_owner_proof
Note stalled
BlockNumberdelayBlockNumberbest_finalized_block_number
Name
Nano S
Nano S XL
Nano SP/X - Stax
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
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Sudo
Callcall
Sudo unchecked weight
CallcallWeightweight
Set key
AccountIdLookupOfTnew_
Sudo as
AccountIdLookupOfTwhoCallcall
Remove key
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Heartbeat
HeartbeatBlockNumberheartbeatAuthorityIdasRuntimeAppPublicSignaturesignature
Name
Nano S
Nano S XL
Nano SP/X - Stax
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
Nano S XL
Nano SP/X - Stax
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
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Note preimage
Vecu8bytes
Unnote preimage
Hashhash
Request preimage
Hashhash
Unrequest preimage
Hashhash
Ensure updated
VecHashhashes
Name
Nano S
Nano S XL
Nano SP/X - Stax
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
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Rebag
AccountIdLookupOfTdislocated
Put in front of
AccountIdLookupOfTlighter
Put in front of other
AccountIdLookupOfTheavierAccountIdLookupOfTlighter
Name
Nano S
Nano S XL
Nano SP/X - Stax
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
Nano S XL
Nano SP/X - Stax
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
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Mandate
Callcall
Name
Nano S
Nano S XL
Nano SP/X - Stax
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
Nano S XL
Nano SP/X - Stax
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
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Pause
RuntimeCallNameOfTfull_name
Unpause
RuntimeCallNameOfTident
Name
Nano S
Nano S XL
Nano SP/X - Stax
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