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 - Stax |
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 - Stax |
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 - Stax |
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 - Stax |
Nesting |
Arguments |
Set |
|
|
|
|
Compactu64 now
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
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 - Stax |
Nesting |
Arguments |
Proxy |
|
✔️ |
✔️ |
✔️ |
AccountIdLookupOfT real
OptionProxyType force_proxy_type
Call call
|
Add proxy |
|
✔️ |
✔️ |
✔️ |
AccountIdLookupOfT delegate
ProxyType proxy_type
BlockNumber delay
|
Remove proxy |
|
✔️ |
✔️ |
✔️ |
AccountIdLookupOfT delegate
ProxyType proxy_type
BlockNumber delay
|
Remove proxies |
|
✔️ |
✔️ |
|
|
Create pure |
|
✔️ |
✔️ |
✔️ |
ProxyType proxy_type
BlockNumber delay
u16 index
|
Kill pure |
|
✔️ |
✔️ |
✔️ |
AccountIdLookupOfT spawner
ProxyType proxy_type
u16 index
Compactu32 height
Compactu32 ext_index
|
Announce |
|
✔️ |
✔️ |
|
AccountIdLookupOfT real
CallHashOf call_hash
|
Remove announcement |
|
✔️ |
✔️ |
|
AccountIdLookupOfT real
CallHashOf call_hash
|
Reject announcement |
|
✔️ |
✔️ |
|
AccountIdLookupOfT delegate
CallHashOf call_hash
|
Proxy announced |
|
✔️ |
✔️ |
|
AccountIdLookupOfT delegate
AccountIdLookupOfT real
OptionProxyType force_proxy_type
Call call
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Set validation data |
|
|
|
|
ParachainInherentData data
|
Sudo send upward message |
|
|
|
|
UpwardMessage message
|
Authorize upgrade |
|
|
|
|
Hash code_hash
bool check_version
|
Enact authorized upgrade |
|
|
|
|
Vecu8 code
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Transfer allow death |
✔️ |
✔️ |
✔️ |
✔️ |
AccountIdLookupOfT dest
CompactBalance amount
|
Set balance deprecated |
|
✔️ |
✔️ |
✔️ |
AccountIdLookupOfT who
CompactBalance new_free
CompactBalance old_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
|
Upgrade accounts |
|
✔️ |
✔️ |
|
VecAccountId who
|
Transfer |
✔️ |
✔️ |
✔️ |
✔️ |
AccountIdLookupOfT dest
CompactBalance amount
|
Force set balance |
|
✔️ |
✔️ |
|
AccountIdLookupOfT who
CompactBalance new_free
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
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 - Stax |
Nesting |
Arguments |
Force set inflation params |
|
|
|
|
InflationParameters params
|
Force inflation recalculation |
|
|
|
|
EraNumber next_era
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Unbond and unstake |
✔️ |
✔️ |
✔️ |
✔️ |
SmartContract contract_id
Compactu128 amount
|
Withdraw Unbonded |
✔️ |
✔️ |
✔️ |
✔️ |
|
Maintenance mode |
✔️ |
✔️ |
✔️ |
✔️ |
bool enabled
|
Register |
✔️ |
✔️ |
✔️ |
✔️ |
AccountId owner
SmartContract smart_contract
|
Set dapp reward beneficiary |
✔️ |
✔️ |
✔️ |
✔️ |
SmartContract smart_contract
OptionAccountId beneficiary
|
Set dapp owner |
✔️ |
✔️ |
✔️ |
✔️ |
SmartContract smart_contract
AccountId new_owner
|
Unregister |
✔️ |
✔️ |
✔️ |
✔️ |
SmartContract smart_contract
|
Lock |
✔️ |
✔️ |
✔️ |
✔️ |
Compactu128 amount
|
Unlock |
✔️ |
✔️ |
✔️ |
✔️ |
Compactu128 amount
|
Claim unlocked |
✔️ |
✔️ |
✔️ |
✔️ |
|
Relock unlocking |
✔️ |
✔️ |
✔️ |
✔️ |
|
Stake |
✔️ |
✔️ |
✔️ |
✔️ |
SmartContract smart_contract
Compactu128 amount
|
Unstake |
✔️ |
✔️ |
✔️ |
✔️ |
SmartContract smart_contract
Compactu128 amount
|
Claim staker rewards |
✔️ |
✔️ |
✔️ |
✔️ |
|
Claim bonus reward |
✔️ |
✔️ |
✔️ |
✔️ |
SmartContract smart_contract
|
Claim dapp reward |
✔️ |
✔️ |
✔️ |
✔️ |
SmartContract smart_contract
Compactu32 era
|
Unstake from unregistered |
✔️ |
✔️ |
✔️ |
✔️ |
SmartContract smart_contract
|
Cleanup expired entries |
✔️ |
✔️ |
✔️ |
✔️ |
|
Force |
|
|
|
|
ForcingType forcing_type
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
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
|
Set min balance |
|
✔️ |
✔️ |
|
CompactBalance id
Balance min_balance
|
Touch other |
|
✔️ |
✔️ |
|
CompactBalance id
AccountIdLookupOfT who
|
Refund other |
|
✔️ |
✔️ |
|
CompactBalance id
AccountIdLookupOfT who
|
Block |
|
✔️ |
✔️ |
|
CompactBalance id
AccountIdLookupOfT who
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
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 - Stax |
Nesting |
Arguments |
Set keys |
|
|
|
|
Keys keys
Bytes proof
|
Purge keys |
|
|
|
|
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Service overweight |
|
|
|
|
OverweightIndex index
Weight 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 |
|
|
|
|
Weight new_
|
Update weight restrict decay |
|
|
|
|
Weight new_
|
Update xcmp max individual weight |
|
|
|
|
Weight new_
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
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
|
Execute |
|
|
|
|
BoxVersionedXcmTasSysConfigRuntimeCall message
Weight max_weight
|
Force xcm version |
|
|
|
|
BoxMultiLocation location
XcmVersion 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
|
Force suspension |
|
|
|
|
bool suspended
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Service overweight |
|
|
|
|
OverweightIndex index
Weight weight_limit
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
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 - Stax |
Nesting |
Arguments |
Transfer |
|
|
|
|
CurrencyId currency_id
Balance amount
BoxVersionedMultiLocation dest
WeightLimit dest_weight_limit
|
Transfer multiasset |
|
|
|
|
BoxVersionedMultiAsset asset
BoxVersionedMultiLocation dest
WeightLimit dest_weight_limit
|
Transfer with fee |
|
|
|
|
CurrencyId currency_id
Balance amount
Balance fee
BoxVersionedMultiLocation dest
WeightLimit dest_weight_limit
|
Transfer multiasset with fee |
|
|
|
|
BoxVersionedMultiAsset asset
BoxVersionedMultiAsset fee
BoxVersionedMultiLocation dest
WeightLimit dest_weight_limit
|
Transfer multicurrencies |
|
|
|
|
VecTupleCurrencyIdBalance currencies
u32 fee_item
BoxVersionedMultiLocation dest
WeightLimit dest_weight_limit
|
Transfer multiassets |
|
|
|
|
BoxVersionedMultiAssets assets
u32 fee_item
BoxVersionedMultiLocation dest
WeightLimit dest_weight_limit
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
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 - Stax |
Nesting |
Arguments |
Transact |
|
|
|
|
Transaction transaction
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Set base fee per gas |
|
|
|
|
U256 fee
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
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
|
Migrate |
|
|
|
|
Weight weight_limit
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Sudo |
|
|
|
|
Call call
|
Sudo unchecked weight |
|
|
|
|
Call call
Weight weight
|
Set key |
|
|
|
|
AccountIdLookupOfT new_
|
Sudo as |
|
|
|
|
AccountIdLookupOfT who
Call call
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Force set price |
|
|
|
|
FixedU64 price
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Migrate |
✔️ |
✔️ |
✔️ |
✔️ |
OptionWeight weight_limit
|