Please visit our website at zondax.ch
This project contains the Astar app (https://astar.network/) 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 |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Remark |
|
✔️ |
✔️ |
✔️ |
Bytes remark
|
Set heap pages |
|
|
|
|
u64 pages
|
Set code |
|
|
|
|
Vecu8 code
|
Set code without checks |
|
|
|
|
Vecu8 code
|
Set storage |
|
|
|
|
VecKeyValue items
|
Kill storage |
|
|
|
|
VecKey keys
|
Kill prefix |
|
|
|
|
Key prefix
u32 subkeys
|
Remark with event |
|
|
|
|
Bytes remark
|
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Batch |
✔️ |
✔️ |
✔️ |
|
VecCall calls
|
As derivative |
|
|
|
|
u16 index
Call call
|
Batch all |
✔️ |
✔️ |
✔️ |
|
VecCall calls
|
Dispatch as |
|
|
|
|
BoxPalletsOrigin as_origin
Call call
|
Force batch |
✔️ |
✔️ |
✔️ |
|
VecCall calls
|
With weight |
|
✔️ |
✔️ |
|
Call call
Weight weight
|
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Add registrar |
|
|
|
|
AccountIdLookupOfT account
|
Set identity |
|
|
|
|
IdentityInfo 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
AccountIdLookupOfT new_
|
Set fields |
|
|
|
|
Compactu32 index
IdentityFields fields
|
Provide judgement |
|
|
|
|
Compactu32 reg_index
AccountIdLookupOfT target
JudgementBalanceOfT judgement
Hash identity
|
Kill identity |
|
|
|
|
AccountIdLookupOfT target
|
Add sub |
|
|
|
|
AccountIdLookupOfT sub
Data data
|
Rename sub |
|
|
|
|
AccountIdLookupOfT sub
Data data
|
Remove sub |
|
|
|
|
AccountIdLookupOfT sub
|
Quit sub |
|
|
|
|
|
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Set |
|
|
|
|
Compactu64 now
|
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
As multi threshold 1 |
|
✔️ |
✔️ |
✔️ |
VecAccountId other_signatories
Call call
|
As multi |
|
✔️ |
✔️ |
✔️ |
u16 threshold
VecAccountId other_signatories
OptionTimepoint maybe_timepoint
Call 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 |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Set validation data |
|
|
|
|
ParachainInherentData data
|
Sudo send upward message |
|
|
|
|
UpwardMessage message
|
Authorize upgrade |
|
|
|
|
Hash code_hash
|
Enact authorized upgrade |
|
|
|
|
Vecu8 code
|
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Transfer |
✔️ |
✔️ |
✔️ |
✔️ |
AccountIdLookupOfT dest
CompactBalance amount
|
Set balance |
|
✔️ |
✔️ |
✔️ |
AccountIdLookupOfT who
CompactBalance new_free
CompactBalance new_reserved
|
Force transfer |
✔️ |
✔️ |
✔️ |
✔️ |
AccountIdLookupOfT source
AccountIdLookupOfT dest
CompactBalance amount
|
Transfer keep alive |
✔️ |
✔️ |
✔️ |
✔️ |
AccountIdLookupOfT dest
CompactBalance amount
|
Transfer all |
✔️ |
✔️ |
✔️ |
|
AccountIdLookupOfT dest
bool keep_alive
|
Force unreserve |
|
✔️ |
✔️ |
|
AccountIdLookupOfT who
Balance amount
|
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Vest |
✔️ |
✔️ |
✔️ |
✔️ |
|
Vest other |
✔️ |
✔️ |
✔️ |
✔️ |
AccountIdLookupOfT target
|
Vested transfer |
✔️ |
✔️ |
✔️ |
✔️ |
AccountIdLookupOfT target
VestingInfo schedule
|
Force vested transfer |
✔️ |
✔️ |
✔️ |
✔️ |
AccountIdLookupOfT source
AccountIdLookupOfT target
VestingInfo schedule
|
Merge schedules |
✔️ |
✔️ |
✔️ |
✔️ |
u32 schedule1_index
u32 schedule2_index
|
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Register |
✔️ |
✔️ |
✔️ |
|
AccountId developer
SmartContract contract_id
|
Unregister |
✔️ |
✔️ |
✔️ |
|
SmartContract contract_id
|
Withdraw from unregistered |
✔️ |
✔️ |
✔️ |
|
SmartContract contract_id
|
Bond and stake |
✔️ |
✔️ |
✔️ |
|
SmartContract contract_id
Compactu128 amount
|
Unbond and unstake |
✔️ |
✔️ |
✔️ |
|
SmartContract contract_id
Compactu128 amount
|
Withdraw Unbonded |
✔️ |
✔️ |
✔️ |
|
|
Nomination transfer |
✔️ |
✔️ |
✔️ |
|
SmartContract origin_contract_id
Compactu128 amount
SmartContract target_contract_id
|
Claim staker |
✔️ |
✔️ |
✔️ |
✔️ |
SmartContract contract_id
|
Claim dapp |
✔️ |
✔️ |
✔️ |
✔️ |
SmartContract contract_id
Compactu32 era
|
Force new era |
|
✔️ |
✔️ |
|
|
Maintenance mode |
|
✔️ |
✔️ |
|
bool enable_maintenance
|
Set reward destination |
|
✔️ |
✔️ |
|
DappsRewardDestination reward_destination
|
Set contract stake info |
|
✔️ |
✔️ |
|
SmartContract contract
EraIndex era
ContractStakeInfoBalanceOfT contract_stake_info
|
Burn stale reward |
|
✔️ |
✔️ |
|
SmartContract contract_id
Compactu32 era
|
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Set configuration |
|
|
|
|
RewardDistributionConfig reward_distro_params
|
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Create |
|
✔️ |
✔️ |
|
CompactBalance id
AccountIdLookupOfT admin
Balance min_balance
|
Force create |
|
✔️ |
✔️ |
|
CompactBalance id
AccountIdLookupOfT owner
bool is_sufficient
CompactBalance min_balance
|
Start destroy |
|
✔️ |
✔️ |
|
CompactBalance id
|
Destroy accounts |
|
✔️ |
✔️ |
|
CompactBalance id
|
Destroy approvals |
|
✔️ |
✔️ |
|
CompactBalance id
|
Finish destroy |
|
✔️ |
✔️ |
|
CompactBalance id
|
Mint |
|
✔️ |
✔️ |
|
CompactBalance id
AccountIdLookupOfT beneficiary
CompactBalance amount
|
Burn |
|
✔️ |
✔️ |
|
CompactBalance id
AccountIdLookupOfT who
CompactBalance amount
|
Transfer |
|
✔️ |
✔️ |
|
CompactBalance id
AccountIdLookupOfT target
CompactBalance amount
|
Transfer keep alive |
|
✔️ |
✔️ |
|
CompactBalance id
AccountIdLookupOfT target
CompactBalance amount
|
Force transfer |
|
✔️ |
✔️ |
|
CompactBalance id
AccountIdLookupOfT source
AccountIdLookupOfT dest
CompactBalance amount
|
Freeze |
|
✔️ |
✔️ |
|
CompactBalance id
AccountIdLookupOfT who
|
Thaw |
|
✔️ |
✔️ |
|
CompactBalance id
AccountIdLookupOfT who
|
Freeze asset |
|
✔️ |
✔️ |
|
CompactBalance id
|
Thaw asset |
|
✔️ |
✔️ |
|
CompactBalance id
|
Transfer ownership |
|
✔️ |
✔️ |
|
CompactBalance id
AccountIdLookupOfT owner
|
Set team |
|
✔️ |
✔️ |
|
CompactBalance id
AccountIdLookupOfT issuer
AccountIdLookupOfT admin
AccountIdLookupOfT freezer
|
Set metadata |
|
✔️ |
✔️ |
|
CompactBalance id
Vecu8 name
Vecu8 symbol
u8 decimals
|
Clear metadata |
|
✔️ |
✔️ |
|
CompactBalance id
|
Force set metadata |
|
✔️ |
✔️ |
|
CompactBalance id
Vecu8 name
Vecu8 symbol
u8 decimals
bool is_frozen
|
Force clear metadata |
|
✔️ |
✔️ |
|
CompactBalance id
|
Force asset status |
|
✔️ |
✔️ |
|
CompactBalance id
AccountIdLookupOfT owner
AccountIdLookupOfT issuer
AccountIdLookupOfT admin
AccountIdLookupOfT freezer
CompactBalance min_balance
bool is_sufficient
bool is_frozen
|
Approve transfer |
|
✔️ |
✔️ |
|
CompactBalance id
AccountIdLookupOfT delegate
CompactBalance amount
|
Cancel approval |
|
✔️ |
✔️ |
|
CompactBalance id
AccountIdLookupOfT delegate
|
Force cancel approval |
|
✔️ |
✔️ |
|
CompactBalance id
AccountIdLookupOfT owner
AccountIdLookupOfT delegate
|
Transfer approved |
|
✔️ |
✔️ |
|
CompactBalance id
AccountIdLookupOfT owner
AccountIdLookupOfT destination
CompactBalance amount
|
Touch |
|
✔️ |
✔️ |
|
CompactBalance id
|
Refund |
|
✔️ |
✔️ |
|
CompactBalance id
bool allow_burn
|
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Set uncles |
|
|
|
|
VecHeader new_uncles
|
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Set invulnerables |
|
|
|
|
VecAccountId new_
|
Set desired candidates |
|
|
|
|
u32 max
|
Set candidacy bond |
|
|
|
|
Balance bond
|
Register as candidate |
|
|
|
|
|
Leave intent |
|
|
|
|
|
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Set keys |
|
|
|
|
Keys keys
Bytes proof
|
Purge keys |
|
|
|
|
|
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Service overweight |
|
|
|
|
OverweightIndex index
XcmWeight weight_limit
|
Suspend xcm execution |
|
|
|
|
|
Resume xcm execution |
|
|
|
|
|
Update suspend threshold |
|
|
|
|
u32 new_
|
Update drop threshold |
|
|
|
|
u32 new_
|
Update resume threshold |
|
|
|
|
u32 new_
|
Update threshold weight |
|
|
|
|
XcmWeight new_
|
Update weight restrict decay |
|
|
|
|
XcmWeight new_
|
Update xcmp max individual weight |
|
|
|
|
XcmWeight new_
|
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Send |
|
|
|
|
BoxVersionedMultiLocation dest
BoxVersionedXcmTuple message
|
Teleport assets |
|
|
|
|
BoxVersionedMultiLocation dest
BoxVersionedMultiLocation beneficiary
BoxVersionedMultiAssets assets
u32 fee_asset_item
|
Reserve transfer assets |
|
|
|
|
BoxVersionedMultiLocation dest
BoxVersionedMultiLocation beneficiary
BoxVersionedMultiAssets assets
u32 fee_asset_item
|
Reserve withdraw assets |
|
|
|
|
BoxVersionedMultiLocation dest
BoxVersionedMultiLocation beneficiary
BoxVersionedMultiAssets assets
u32 fee_asset_item
|
Execute |
|
|
|
|
BoxVersionedXcmTasSysConfigRuntimeCall message
Weight max_weight
|
Force xcm version |
|
|
|
|
BoxMultiLocation location
XcmVersion xcm_version
|
Force default xcm version |
|
|
|
|
OptionXcmVersion maybe_xcm_version
|
Force subscribe version notify |
|
|
|
|
BoxVersionedMultiLocation location
|
Force unsubscribe version notify |
|
|
|
|
BoxVersionedMultiLocation location
|
Limited reserve transfer assets |
|
|
|
|
BoxVersionedMultiLocation dest
BoxVersionedMultiLocation beneficiary
BoxVersionedMultiAssets assets
u32 fee_asset_item
WeightLimit weight_limit
|
Limited teleport assets |
|
|
|
|
BoxVersionedMultiLocation dest
BoxVersionedMultiLocation beneficiary
BoxVersionedMultiAssets assets
u32 fee_asset_item
WeightLimit weight_limit
|
Limited reserve withdraw assets |
|
|
|
|
BoxVersionedMultiLocation dest
BoxVersionedMultiLocation beneficiary
BoxVersionedMultiAssets assets
u32 fee_asset_item
WeightLimit weight_limit
|
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Service overweight |
|
|
|
|
OverweightIndex index
XcmWeight weight_limit
|
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Register asset location |
|
|
|
|
BoxVersionedMultiLocation asset_location
Compactu128 asset_id
|
Set asset units per second |
|
|
|
|
BoxVersionedMultiLocation asset_location
Compactu128 units_per_second
|
Change existing asset location |
|
|
|
|
BoxVersionedMultiLocation new_asset_location
Compactu128 asset_id
|
Remove payment asset |
|
|
|
|
BoxVersionedMultiLocation asset_location
|
Remove asset |
|
|
|
|
Compactu128 asset_id
|
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Withdraw |
✔️ |
✔️ |
✔️ |
✔️ |
H160 address
Balance amount
|
Call |
|
|
|
|
H160 source
H160 target
Vecu8 input
U256 value
u64 gas_limit
U256 max_fee_per_gas
OptionU256 max_priority_fee_per_gas
OptionU256 nonce
VecTupleH160VecH256 access_list
|
Create |
|
|
|
|
H160 source
Vecu8 init
U256 value
u64 gas_limit
U256 max_fee_per_gas
OptionU256 max_priority_fee_per_gas
OptionU256 nonce
VecTupleH160VecH256 access_list
|
Create2 |
|
|
|
|
H160 source
Vecu8 init
H256 salt
U256 value
u64 gas_limit
U256 max_fee_per_gas
OptionU256 max_priority_fee_per_gas
OptionU256 nonce
VecTupleH160VecH256 access_list
|
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Transact |
|
|
|
|
Transaction transaction
|
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Call |
|
|
|
|
Call call
AccountId signer
Vecu8 signature
Compactu32 nonce
|
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Set base fee per gas |
|
|
|
|
U256 fee
|
Set elasticity |
|
|
|
|
Permill elasticity
|
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Call old weight |
|
|
|
|
AccountIdLookupOfT dest
CompactBalance amount
Compactu64 gas_limit
OptionCompactBalanceOf storage_deposit_limit
Vecu8 data
|
Instantiate with code old weight |
|
|
|
|
CompactBalance amount
Compactu64 gas_limit
OptionCompactBalanceOf storage_deposit_limit
Vecu8 code
Vecu8 data
Vecu8 salt
|
Instantiate old weight |
|
|
|
|
CompactBalance amount
Compactu64 gas_limit
OptionCompactBalanceOf storage_deposit_limit
CodeHash code_hash
Vecu8 data
Vecu8 salt
|
Upload code |
|
|
|
|
Vecu8 code
OptionCompactBalanceOf storage_deposit_limit
Determinism determinism
|
Remove code |
|
|
|
|
CodeHash code_hash
|
Set code |
|
|
|
|
AccountIdLookupOfT dest
CodeHash code_hash
|
Call |
|
|
|
|
AccountIdLookupOfT dest
CompactBalance amount
Weight gas_limit
OptionCompactBalanceOf storage_deposit_limit
Vecu8 data
|
Instantiate with code |
|
|
|
|
CompactBalance amount
Weight gas_limit
OptionCompactBalanceOf storage_deposit_limit
Vecu8 code
Vecu8 data
Vecu8 salt
|
Instantiate |
|
|
|
|
CompactBalance amount
Weight gas_limit
OptionCompactBalanceOf storage_deposit_limit
CodeHash code_hash
Bytes data
Bytes salt
|
Name |
Nano S |
Nano S XL |
Nano SP/X |
Nesting |
Arguments |
Sudo |
|
|
|
|
Call call
|
Sudo unchecked weight |
|
|
|
|
Call call
Weight weight
|
Set key |
|
|
|
|
AccountIdLookupOfT new_
|
Sudo as |
|
|
|
|
AccountIdLookupOfT who
Call call
|