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
✔️
✔️
✔️
Bytes
remark
Set heap pages
✔️
✔️
✔️
u64
pages
Set code
✔️
✔️
✔️
Bytes
code
Set code without checks
✔️
✔️
✔️
Vecu8
code
Set storage
VecKeyValue
items
Kill storage
VecKey
keys
Kill prefix
Key
prefixu32
subkeys
Remark with event
✔️
✔️
✔️
Bytes
remark
Authorize upgrade
✔️
✔️
Hash
code_hash
Authorize upgrade without checks
✔️
✔️
Hash
code_hash
Apply authorized upgrade
✔️
✔️
Vecu8
code
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Batch
✔️
✔️
✔️
VecCall
calls
As derivative
u16
indexCall
call
Batch all
✔️
✔️
✔️
VecCall
calls
Dispatch as
BoxPalletsOrigin
as_originCall
call
Force batch
✔️
✔️
✔️
VecCall
calls
With weight
✔️
✔️
Call
callWeight
weight
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Report equivocation
BoxEquivocationProofHeader
equivocation_proofKeyOwnerProof
key_owner_proof
Report equivocation unsigned
BoxEquivocationProofHeader
equivocation_proofKeyOwnerProof
key_owner_proof
Plan config change
NextConfigDescriptor
config
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Set
Compactu64
now
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Claim
AccountIndex
index
Transfer
AccountIdLookupOfT
new_AccountIndex
index
Free
AccountIndex
index
Force transfer
AccountIdLookupOfT
new_AccountIndex
indexbool
freeze
Freeze
AccountIndex
index
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Transfer allow death
✔️
✔️
✔️
✔️
AccountIdLookupOfT
destCompactBalance
amount
Force transfer
✔️
✔️
✔️
✔️
AccountIdLookupOfT
sourceAccountIdLookupOfT
destCompactBalance
amount
Transfer keep alive
✔️
✔️
✔️
✔️
AccountIdLookupOfT
destCompactBalance
amount
Transfer all
✔️
✔️
✔️
✔️
AccountIdLookupOfT
destbool
keep_alive
Force unreserve
✔️
✔️
AccountIdLookupOfT
whoBalance
amount
Upgrade accounts
✔️
✔️
VecAccountId
who
Force set balance
✔️
✔️
AccountIdLookupOfT
whoCompactBalance
new_free
Force adjust total issuance
✔️
✔️
AdjustmentDirection
directionCompactBalance
delta
ElectionProviderMultiPhase
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Submit unsigned
BoxRawSolutionSolutionOfMinerConfig
raw_solutionSolutionOrSnapshotSize
witness
Set minimum untrusted score
OptionElectionScore
maybe_next_score
Set emergency election result
SupportsAccountId
supports
Submit
BoxRawSolutionSolutionOfMinerConfig
raw_solution
Governance fallback
Optionu32
maybe_max_votersOptionu32
maybe_max_targets
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Bond
✔️
✔️
✔️
✔️
CompactBalance
amountRewardDestination
payee
Bond extra
✔️
✔️
✔️
✔️
CompactBalance
amount
Unbond
✔️
✔️
✔️
✔️
CompactBalance
amount
Withdraw Unbonded
✔️
✔️
✔️
✔️
u32
num_slashing_spans
Validate
✔️
✔️
✔️
✔️
ValidatorPrefs
prefs
Nominate
✔️
✔️
✔️
✔️
VecAccountIdLookupOfT
targets
Chill
✔️
✔️
✔️
✔️
Set payee
✔️
✔️
✔️
✔️
RewardDestination
payee
Set controller
✔️
✔️
✔️
✔️
Set validator count
✔️
✔️
Compactu32
new_
Increase validator count
✔️
✔️
Compactu32
additional
Scale validator count
✔️
✔️
Percent
factor
Force no eras
✔️
✔️
Force new era
✔️
✔️
Set invulnerables
✔️
✔️
VecAccountId
invulnerables
Force unstake
✔️
✔️
AccountId
stashu32
num_slashing_spans
Force new era always
✔️
✔️
Cancel deferred slash
✔️
✔️
EraIndex
eraVecu32
slash_indices
Payout stakers
✔️
✔️
✔️
✔️
AccountId
validator_stashEraIndex
era
Rebond
✔️
✔️
✔️
✔️
CompactBalance
amount
Reap stash
✔️
✔️
AccountId
stashu32
num_slashing_spans
Kick
✔️
✔️
VecAccountIdLookupOfT
who
Set staking configs
✔️
✔️
ConfigOpBalanceOfT
min_nominator_bondConfigOpBalanceOfT
min_validator_bondConfigOpu32
max_nominator_countConfigOpu32
max_validator_countConfigOpPercent
chill_thresholdConfigOpPerbill
min_commission
Chill other
✔️
✔️
AccountId
stash
Force apply min commission
✔️
✔️
AccountId
validator_stash
Set min commission
✔️
✔️
Perbill
new_
Payout stakers by page
✔️
✔️
AccountId
validator_stashEraIndex
eraPage
page
Update payee
✔️
✔️
AccountId
controller
Deprecate controller batch
BoundedVecAccountIdMaxControllersInDeprecationBatch
controllers
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Set keys
✔️
✔️
✔️
✔️
Keys
keysBytes
proof
Purge keys
✔️
✔️
✔️
✔️
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Set members
✔️
✔️
VecAccountId
new_membersOptionAccountId
primeMemberCount
old_count
Execute
✔️
✔️
Proposal
proposalCompactu32
length_bound
Propose
✔️
✔️
Compactu32
thresholdProposal
proposalCompactu32
length_bound
Vote
✔️
✔️
Hash
proposalCompactu32
indexbool
approve
Disapprove proposal
Hash
proposal_hash
Close
Hash
proposal_hashCompactu32
indexWeight
proposal_weight_boundCompactu32
length_bound
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Report equivocation
BoxEquivocationProofHashBlockNumber
equivocation_proofKeyOwnerProof
key_owner_proof
Report equivocation unsigned
BoxEquivocationProofHashBlockNumber
equivocation_proofKeyOwnerProof
key_owner_proof
Note stalled
✔️
✔️
BlockNumber
delayBlockNumber
best_finalized_block_number
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Propose spend
CompactBalance
amountAccountIdLookupOfT
beneficiary
Reject proposal
Compactu32
proposal_id
Approve proposal
Compactu32
proposal_id
Spend local
CompactBalance
amountAccountIdLookupOfT
beneficiary
Remove approval
Compactu32
proposal_id
Spend
BoxAssetKind
asset_kindCompactBalance
amountBoxBeneficiaryLookupOf
beneficiaryOptionBlockNumber
valid_from
Payout
SpendIndex
index
Check status
SpendIndex
index
Void spend
SpendIndex
index
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Sudo
Call
call
Sudo unchecked weight
Call
callWeight
weight
Set key
AccountIdLookupOfT
new_
Sudo as
AccountIdLookupOfT
whoCall
call
Remove key
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Heartbeat
HeartbeatBlockNumber
heartbeatAuthorityIdasRuntimeAppPublicSignature
signature
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Schedule
BlockNumber
whenOptionschedulePeriodBlockNumber
maybe_periodicschedulePriority
priorityCall
call
Cancel
BlockNumber
whenu32
index
Schedule named
TaskName
idBlockNumber
whenOptionschedulePeriodBlockNumber
maybe_periodicschedulePriority
priorityCall
call
Cancel named
TaskName
id
Schedule after
✔️
✔️
BlockNumber
afterOptionschedulePeriodBlockNumber
maybe_periodicschedulePriority
priorityCall
call
Schedule named after
TaskName
idBlockNumber
afterOptionschedulePeriodBlockNumber
maybe_periodicschedulePriority
priorityCall
call
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Create application key
✔️
✔️
AppKey
key
Submit data
✔️
✔️
AppData
data
Submit block length proposal
✔️
✔️
u32
rowsu32
cols
Set application key
✔️
✔️
AppKey
old_keyAppKey
new_key
Set submit data fee modifier
✔️
✔️
DispatchFeeModifier
modifier
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Note preimage
Vecu8
bytes
Unnote preimage
Hash
hash
Request preimage
Hash
hash
Unrequest preimage
Hash
hash
Ensure updated
VecHash
hashes
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
As multi threshold 1
✔️
✔️
✔️
VecAccountId
other_signatoriesCall
call
As multi
✔️
✔️
✔️
u16
thresholdVecAccountId
other_signatoriesOptionTimepoint
maybe_timepointCall
callWeight
max_weight
Approve as multi
✔️
✔️
✔️
u16
thresholdVecAccountId
other_signatoriesOptionTimepoint
maybe_timepointH256
call_hashWeight
max_weight
Cancel as multi
✔️
✔️
✔️
u16
thresholdVecAccountId
other_signatoriesTimepoint
timepointH256
call_hash
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Rebag
AccountIdLookupOfT
dislocated
Put in front of
AccountIdLookupOfT
lighter
Put in front of other
AccountIdLookupOfT
heavierAccountIdLookupOfT
lighter
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Join
✔️
✔️
✔️
CompactBalance
amountPoolId
pool_id
Bond extra
✔️
✔️
✔️
BondExtraBalanceOfT
extra
Claim payout
✔️
✔️
✔️
Unbond
✔️
✔️
✔️
AccountIdLookupOfT
member_accountCompactBalance
unbonding_points
Pool withdraw unbonded
✔️
✔️
PoolId
pool_idu32
num_slashing_spans
Withdraw Unbonded
✔️
✔️
✔️
AccountIdLookupOfT
member_accountu32
num_slashing_spans
Create
✔️
✔️
✔️
CompactBalance
amountAccountIdLookupOfT
rootAccountIdLookupOfT
nominatorAccountIdLookupOfT
bouncer
Create with pool id
✔️
✔️
CompactBalance
amountAccountIdLookupOfT
rootAccountIdLookupOfT
nominatorAccountIdLookupOfT
bouncerPoolId
pool_id
Nominate
✔️
✔️
✔️
PoolId
pool_idVecAccountId
validators
Set state
✔️
✔️
✔️
PoolId
pool_idPoolState
state
Set metadata
✔️
✔️
✔️
PoolId
pool_idVecu8
metadata
Set configs
✔️
✔️
ConfigOpBalanceOfT
min_join_bondConfigOpBalanceOfT
min_create_bondConfigOpu32
max_poolsConfigOpu32
max_membersConfigOpu32
max_members_per_poolConfigOpPerbill
global_max_commission
Update roles
✔️
✔️
✔️
PoolId
pool_idConfigOpAccountId
new_rootConfigOpAccountId
new_nominatorConfigOpAccountId
new_bouncer
Chill
✔️
✔️
✔️
PoolId
pool_id
Bond extra other
✔️
✔️
AccountIdLookupOfT
memberBondExtraBalanceOfT
extra
Set claim permission
✔️
✔️
✔️
ClaimPermission
permission
Claim payout other
✔️
✔️
✔️
AccountId
other
Set commission
✔️
✔️
✔️
PoolId
pool_idOptionTuplePerbillAccountId
new_commission
Set commission max
✔️
✔️
✔️
PoolId
pool_idPerbill
max_commission
Set commission change rate
✔️
✔️
✔️
PoolId
pool_idCommissionChangeRateBlockNumber
change_rate
Claim commission
✔️
✔️
✔️
PoolId
pool_id
Adjust pool deposit
✔️
✔️
PoolId
pool_id
Set commission claim permission
✔️
✔️
PoolId
pool_idOptionCommissionClaimPermissionAccountId
permission
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Add registrar
AccountIdLookupOfT
account
Set identity
✔️
✔️
IdentityInfo
info
Set subs
VecTupleAccountIdData
subs
Clear identity
✔️
✔️
Request judgement
Compactu32
reg_indexCompactu128
max_fee
Cancel request
RegistrarIndex
reg_index
Set fee
Compactu32
indexCompactu128
fee
Set account id
Compactu32
indexAccountIdLookupOfT
new_
Set fields
Compactu32
indexIdentityInformationasIdentityInformationProviderFieldsIdentifier
fields
Provide judgement
Compactu32
reg_indexAccountIdLookupOfT
targetJudgementBalanceOfT
judgementHash
identity
Kill identity
AccountIdLookupOfT
target
Add sub
AccountIdLookupOfT
subData
data
Rename sub
AccountIdLookupOfT
subData
data
Remove sub
AccountIdLookupOfT
sub
Quit sub
Add username authority
AccountIdLookupOfT
authorityVecu8
suffixu32
allocation
Remove username authority
AccountIdLookupOfT
authority
Set username for
AccountIdLookupOfT
whoVecu8
usernameOptionOffchainSignature
signature
Accept username
UsernameT
username
Remove expired approval
UsernameT
username
Set primary username
UsernameT
username
Remove dangling username
UsernameT
username
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Mandate
✔️
✔️
Call
call
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Fulfill call
H256
function_idFunctionInput
inputFunctionOutput
outputFunctionProof
proofCompactu64
slot
Execute
✔️
✔️
Compactu64
slotAddressedMessage
addr_messageValidProof
account_proofValidProof
storage_proof
Source chain froze
Compactu32
source_chain_idbool
frozen
Send message
✔️
✔️
Message
messageH256
toCompactu32
domain
Set poseidon hash
Compactu64
periodBoundedVecu8
poseidon_hash
Set broadcaster
Compactu32
broadcaster_domainH256
broadcaster
Set whitelisted domains
BoundedVecu32ConstU3210_000
value
Set configuration
Configuration
value
Set function ids
OptionTupleH256H256
value
Set step verification key
OptionBoundedVecu8ConstU3210_000
value
Set rotate verification key
OptionBoundedVecu8ConstU3210_000
value
Failed send message txs
VecCompactu32
failed_txs
Set updater
H256
updater
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Proxy
✔️
✔️
✔️
AccountIdLookupOfT
realOptionProxyType
force_proxy_typeCall
call
Add proxy
✔️
✔️
✔️
AccountIdLookupOfT
delegateProxyType
proxy_typeBlockNumber
delay
Remove proxy
✔️
✔️
✔️
AccountIdLookupOfT
delegateProxyType
proxy_typeBlockNumber
delay
Remove proxies
Create pure
ProxyType
proxy_typeBlockNumber
delayu16
index
Kill pure
AccountIdLookupOfT
spawnerProxyType
proxy_typeu16
indexCompactu32
heightCompactu32
ext_index
Announce
AccountIdLookupOfT
realCallHashOf
call_hash
Remove announcement
AccountIdLookupOfT
realCallHashOf
call_hash
Reject announcement
AccountIdLookupOfT
delegateCallHashOf
call_hash
Proxy announced
AccountIdLookupOfT
delegateAccountIdLookupOfT
realOptionProxyType
force_proxy_typeCall
call
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Pause
RuntimeCallNameOfT
full_name
Unpause
RuntimeCallNameOfT
ident
Name
Nano S
Nano S XL
Nano SP/X - Stax
Nesting
Arguments
Set members
VecAccountId
new_membersOptionAccountId
primeMemberCount
old_count
Execute
Proposal
proposalCompactu32
length_bound
Propose
Compactu32
thresholdProposal
proposalCompactu32
length_bound
Vote
Hash
proposalCompactu32
indexbool
approve
Disapprove proposal
Hash
proposal_hash
Close
Hash
proposal_hashCompactu32
indexWeight
proposal_weight_boundCompactu32
length_bound