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 | ✔️ | ✔️ | ✔️ | Bytesremark |
|
| Set heap pages | u64pages |
||||
| Set code | Vecu8code |
||||
| Set code without checks | Vecu8code |
||||
| Set storage | VecKeyValueitems |
||||
| Kill storage | VecKeykeys |
||||
| Kill prefix | Keyprefixu32subkeys |
||||
| Remark with event | Bytesremark |
| 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 |
|---|---|---|---|---|---|
| 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 | Compactu32indexIdentityFieldsfields |
||||
| Provide judgement | Compactu32reg_indexAccountIdLookupOfTtargetJudgementBalanceOfTjudgementHashidentity |
||||
| Kill identity | AccountIdLookupOfTtarget |
||||
| Add sub | AccountIdLookupOfTsubDatadata |
||||
| Rename sub | AccountIdLookupOfTsubDatadata |
||||
| Remove sub | AccountIdLookupOfTsub |
||||
| Quit sub |
| 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 |
|---|---|---|---|---|---|
| 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 |
|---|---|---|---|---|---|
| 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 |
|---|---|---|---|---|---|
| Set validation data | ParachainInherentDatadata |
||||
| Sudo send upward message | UpwardMessagemessage |
||||
| Authorize upgrade | Hashcode_hashboolcheck_version |
||||
| Enact authorized upgrade | Vecu8code |
| 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 | ✔️ | ✔️ | ✔️ | ✔️ | AccountIdLookupOfTdestCompactBalanceamount |
| Set balance deprecated | ✔️ | ✔️ | ✔️ | AccountIdLookupOfTwhoCompactBalancenew_freeCompactBalanceold_reserved |
|
| Force transfer | ✔️ | ✔️ | ✔️ | ✔️ | AccountIdLookupOfTsourceAccountIdLookupOfTdestCompactBalanceamount |
| Transfer keep alive | ✔️ | ✔️ | ✔️ | ✔️ | AccountIdLookupOfTdestCompactBalanceamount |
| Transfer all | ✔️ | ✔️ | ✔️ | ✔️ | AccountIdLookupOfTdestboolkeep_alive |
| Force unreserve | ✔️ | ✔️ | AccountIdLookupOfTwhoBalanceamount |
||
| Upgrade accounts | ✔️ | ✔️ | VecAccountIdwho |
||
| Transfer | ✔️ | ✔️ | ✔️ | ✔️ | AccountIdLookupOfTdestCompactBalanceamount |
| Force set balance | ✔️ | ✔️ | AccountIdLookupOfTwhoCompactBalancenew_free |
| Name | Nano S | Nano S XL | Nano SP/X - Stax | Nesting | Arguments |
|---|---|---|---|---|---|
| Vest | ✔️ | ✔️ | ✔️ | ✔️ | |
| Vest other | ✔️ | ✔️ | ✔️ | ✔️ | AccountIdLookupOfTtarget |
| Vested transfer | ✔️ | ✔️ | ✔️ | ✔️ | AccountIdLookupOfTtargetVestingInfoschedule |
| Force vested transfer | ✔️ | ✔️ | ✔️ | ✔️ | AccountIdLookupOfTsourceAccountIdLookupOfTtargetVestingInfoschedule |
| Merge schedules | ✔️ | ✔️ | ✔️ | ✔️ | u32schedule1_indexu32schedule2_index |
| Name | Nano S | Nano S XL | Nano SP/X - Stax | Nesting | Arguments |
|---|---|---|---|---|---|
| Force set inflation params | InflationParametersparams |
||||
| Force inflation recalculation | EraNumbernext_era |
| Name | Nano S | Nano S XL | Nano SP/X - Stax | Nesting | Arguments |
|---|---|---|---|---|---|
| Unbond and unstake | ✔️ | ✔️ | ✔️ | ✔️ | SmartContractcontract_idCompactu128amount |
| Withdraw Unbonded | ✔️ | ✔️ | ✔️ | ✔️ | |
| Maintenance mode | ✔️ | ✔️ | ✔️ | ✔️ | boolenabled |
| Register | ✔️ | ✔️ | ✔️ | ✔️ | AccountIdownerSmartContractsmart_contract |
| Set dapp reward beneficiary | ✔️ | ✔️ | ✔️ | ✔️ | SmartContractsmart_contractOptionAccountIdbeneficiary |
| Set dapp owner | ✔️ | ✔️ | ✔️ | ✔️ | SmartContractsmart_contractAccountIdnew_owner |
| Unregister | ✔️ | ✔️ | ✔️ | ✔️ | SmartContractsmart_contract |
| Lock | ✔️ | ✔️ | ✔️ | ✔️ | Compactu128amount |
| Unlock | ✔️ | ✔️ | ✔️ | ✔️ | Compactu128amount |
| Claim unlocked | ✔️ | ✔️ | ✔️ | ✔️ | |
| Relock unlocking | ✔️ | ✔️ | ✔️ | ✔️ | |
| Stake | ✔️ | ✔️ | ✔️ | ✔️ | SmartContractsmart_contractCompactu128amount |
| Unstake | ✔️ | ✔️ | ✔️ | ✔️ | SmartContractsmart_contractCompactu128amount |
| Claim staker rewards | ✔️ | ✔️ | ✔️ | ✔️ | |
| Claim bonus reward | ✔️ | ✔️ | ✔️ | ✔️ | SmartContractsmart_contract |
| Claim dapp reward | ✔️ | ✔️ | ✔️ | ✔️ | SmartContractsmart_contractCompactu32era |
| Unstake from unregistered | ✔️ | ✔️ | ✔️ | ✔️ | SmartContractsmart_contract |
| Cleanup expired entries | ✔️ | ✔️ | ✔️ | ✔️ | |
| Force | ForcingTypeforcing_type |
| Name | Nano S | Nano S XL | Nano SP/X - Stax | Nesting | Arguments |
|---|---|---|---|---|---|
| Create | ✔️ | ✔️ | CompactBalanceidAccountIdLookupOfTadminBalancemin_balance |
||
| Force create | ✔️ | ✔️ | CompactBalanceidAccountIdLookupOfTownerboolis_sufficientCompactBalancemin_balance |
||
| Start destroy | ✔️ | ✔️ | CompactBalanceid |
||
| Destroy accounts | ✔️ | ✔️ | CompactBalanceid |
||
| Destroy approvals | ✔️ | ✔️ | CompactBalanceid |
||
| Finish destroy | ✔️ | ✔️ | CompactBalanceid |
||
| Mint | ✔️ | ✔️ | CompactBalanceidAccountIdLookupOfTbeneficiaryCompactBalanceamount |
||
| Burn | ✔️ | ✔️ | CompactBalanceidAccountIdLookupOfTwhoCompactBalanceamount |
||
| Transfer | ✔️ | ✔️ | CompactBalanceidAccountIdLookupOfTtargetCompactBalanceamount |
||
| Transfer keep alive | ✔️ | ✔️ | CompactBalanceidAccountIdLookupOfTtargetCompactBalanceamount |
||
| Force transfer | ✔️ | ✔️ | CompactBalanceidAccountIdLookupOfTsourceAccountIdLookupOfTdestCompactBalanceamount |
||
| Freeze | ✔️ | ✔️ | CompactBalanceidAccountIdLookupOfTwho |
||
| Thaw | ✔️ | ✔️ | CompactBalanceidAccountIdLookupOfTwho |
||
| Freeze asset | ✔️ | ✔️ | CompactBalanceid |
||
| Thaw asset | ✔️ | ✔️ | CompactBalanceid |
||
| Transfer ownership | ✔️ | ✔️ | CompactBalanceidAccountIdLookupOfTowner |
||
| Set team | ✔️ | ✔️ | CompactBalanceidAccountIdLookupOfTissuerAccountIdLookupOfTadminAccountIdLookupOfTfreezer |
||
| Set metadata | ✔️ | ✔️ | CompactBalanceidVecu8nameVecu8symbolu8decimals |
||
| Clear metadata | ✔️ | ✔️ | CompactBalanceid |
||
| Force set metadata | ✔️ | ✔️ | CompactBalanceidVecu8nameVecu8symbolu8decimalsboolis_frozen |
||
| Force clear metadata | ✔️ | ✔️ | CompactBalanceid |
||
| Force asset status | ✔️ | ✔️ | CompactBalanceidAccountIdLookupOfTownerAccountIdLookupOfTissuerAccountIdLookupOfTadminAccountIdLookupOfTfreezerCompactBalancemin_balanceboolis_sufficientboolis_frozen |
||
| Approve transfer | ✔️ | ✔️ | CompactBalanceidAccountIdLookupOfTdelegateCompactBalanceamount |
||
| Cancel approval | ✔️ | ✔️ | CompactBalanceidAccountIdLookupOfTdelegate |
||
| Force cancel approval | ✔️ | ✔️ | CompactBalanceidAccountIdLookupOfTownerAccountIdLookupOfTdelegate |
||
| Transfer approved | ✔️ | ✔️ | CompactBalanceidAccountIdLookupOfTownerAccountIdLookupOfTdestinationCompactBalanceamount |
||
| Touch | ✔️ | ✔️ | CompactBalanceid |
||
| Refund | ✔️ | ✔️ | CompactBalanceidboolallow_burn |
||
| Set min balance | ✔️ | ✔️ | CompactBalanceidBalancemin_balance |
||
| Touch other | ✔️ | ✔️ | CompactBalanceidAccountIdLookupOfTwho |
||
| Refund other | ✔️ | ✔️ | CompactBalanceidAccountIdLookupOfTwho |
||
| Block | ✔️ | ✔️ | CompactBalanceidAccountIdLookupOfTwho |
| Name | Nano S | Nano S XL | Nano SP/X - Stax | Nesting | Arguments |
|---|---|---|---|---|---|
| Set invulnerables | VecAccountIdnew_ |
||||
| Set desired candidates | u32max |
||||
| Set candidacy bond | Balancebond |
||||
| Register as candidate | |||||
| Leave intent |
| 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 |
|---|---|---|---|---|---|
| Service overweight | OverweightIndexindexWeightweight_limit |
||||
| Suspend xcm execution | |||||
| Resume xcm execution | |||||
| Update suspend threshold | u32new_ |
||||
| Update drop threshold | u32new_ |
||||
| Update resume threshold | u32new_ |
||||
| Update threshold weight | Weightnew_ |
||||
| Update weight restrict decay | Weightnew_ |
||||
| Update xcmp max individual weight | Weightnew_ |
| Name | Nano S | Nano S XL | Nano SP/X - Stax | Nesting | Arguments |
|---|---|---|---|---|---|
| Send | BoxVersionedMultiLocationdestBoxVersionedXcmTuplemessage |
||||
| Teleport assets | BoxVersionedMultiLocationdestBoxVersionedMultiLocationbeneficiaryBoxVersionedMultiAssetsassetsu32fee_asset_item |
||||
| Reserve transfer assets | BoxVersionedMultiLocationdestBoxVersionedMultiLocationbeneficiaryBoxVersionedMultiAssetsassetsu32fee_asset_item |
||||
| Execute | BoxVersionedXcmTasSysConfigRuntimeCallmessageWeightmax_weight |
||||
| Force xcm version | BoxMultiLocationlocationXcmVersionversion |
||||
| Force default xcm version | OptionXcmVersionmaybe_xcm_version |
||||
| Force subscribe version notify | BoxVersionedMultiLocationlocation |
||||
| Force unsubscribe version notify | BoxVersionedMultiLocationlocation |
||||
| Limited reserve transfer assets | BoxVersionedMultiLocationdestBoxVersionedMultiLocationbeneficiaryBoxVersionedMultiAssetsassetsu32fee_asset_itemWeightLimitweight_limit |
||||
| Limited teleport assets | BoxVersionedMultiLocationdestBoxVersionedMultiLocationbeneficiaryBoxVersionedMultiAssetsassetsu32fee_asset_itemWeightLimitweight_limit |
||||
| Force suspension | boolsuspended |
| 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 | OverweightIndexindexWeightweight_limit |
| Name | Nano S | Nano S XL | Nano SP/X - Stax | Nesting | Arguments |
|---|---|---|---|---|---|
| Register asset location | BoxVersionedMultiLocationasset_locationCompactu128asset_id |
||||
| Set asset units per second | BoxVersionedMultiLocationasset_locationCompactu128units_per_second |
||||
| Change existing asset location | BoxVersionedMultiLocationnew_asset_locationCompactu128asset_id |
||||
| Remove payment asset | BoxVersionedMultiLocationasset_location |
||||
| Remove asset | Compactu128asset_id |
| Name | Nano S | Nano S XL | Nano SP/X - Stax | Nesting | Arguments |
|---|---|---|---|---|---|
| Transfer | CurrencyIdcurrency_idBalanceamountBoxVersionedMultiLocationdestWeightLimitdest_weight_limit |
||||
| Transfer multiasset | BoxVersionedMultiAssetassetBoxVersionedMultiLocationdestWeightLimitdest_weight_limit |
||||
| Transfer with fee | CurrencyIdcurrency_idBalanceamountBalancefeeBoxVersionedMultiLocationdestWeightLimitdest_weight_limit |
||||
| Transfer multiasset with fee | BoxVersionedMultiAssetassetBoxVersionedMultiAssetfeeBoxVersionedMultiLocationdestWeightLimitdest_weight_limit |
||||
| Transfer multicurrencies | VecTupleCurrencyIdBalancecurrenciesu32fee_itemBoxVersionedMultiLocationdestWeightLimitdest_weight_limit |
||||
| Transfer multiassets | BoxVersionedMultiAssetsassetsu32fee_itemBoxVersionedMultiLocationdestWeightLimitdest_weight_limit |
| Name | Nano S | Nano S XL | Nano SP/X - Stax | Nesting | Arguments |
|---|---|---|---|---|---|
| Withdraw | ✔️ | ✔️ | ✔️ | ✔️ | H160addressBalanceamount |
| Call | H160sourceH160targetVecu8inputU256valueu64gas_limitU256max_fee_per_gasOptionU256max_priority_fee_per_gasOptionU256nonceVecTupleH160VecH256access_list |
||||
| Create | H160sourceVecu8initU256valueu64gas_limitU256max_fee_per_gasOptionU256max_priority_fee_per_gasOptionU256nonceVecTupleH160VecH256access_list |
||||
| Create2 | H160sourceVecu8initH256saltU256valueu64gas_limitU256max_fee_per_gasOptionU256max_priority_fee_per_gasOptionU256nonceVecTupleH160VecH256access_list |
| Name | Nano S | Nano S XL | Nano SP/X - Stax | Nesting | Arguments |
|---|---|---|---|---|---|
| Transact | Transactiontransaction |
| Name | Nano S | Nano S XL | Nano SP/X - Stax | Nesting | Arguments |
|---|---|---|---|---|---|
| Set base fee per gas | U256fee |
| Name | Nano S | Nano S XL | Nano SP/X - Stax | Nesting | Arguments |
|---|---|---|---|---|---|
| Call old weight | AccountIdLookupOfTdestCompactBalanceamountCompactu64gas_limitOptionCompactBalanceOfstorage_deposit_limitVecu8data |
||||
| Instantiate with code old weight | CompactBalanceamountCompactu64gas_limitOptionCompactBalanceOfstorage_deposit_limitVecu8codeVecu8dataVecu8salt |
||||
| Instantiate old weight | CompactBalanceamountCompactu64gas_limitOptionCompactBalanceOfstorage_deposit_limitCodeHashcode_hashVecu8dataVecu8salt |
||||
| Upload code | Vecu8codeOptionCompactBalanceOfstorage_deposit_limitDeterminismdeterminism |
||||
| Remove code | CodeHashcode_hash |
||||
| Set code | AccountIdLookupOfTdestCodeHashcode_hash |
||||
| Call | AccountIdLookupOfTdestCompactBalanceamountWeightgas_limitOptionCompactBalanceOfstorage_deposit_limitVecu8data |
||||
| Instantiate with code | CompactBalanceamountWeightgas_limitOptionCompactBalanceOfstorage_deposit_limitVecu8codeVecu8dataVecu8salt |
||||
| Instantiate | CompactBalanceamountWeightgas_limitOptionCompactBalanceOfstorage_deposit_limitCodeHashcode_hashBytesdataBytessalt |
||||
| Migrate | Weightweight_limit |
| Name | Nano S | Nano S XL | Nano SP/X - Stax | Nesting | Arguments |
|---|---|---|---|---|---|
| Sudo | Callcall |
||||
| Sudo unchecked weight | CallcallWeightweight |
||||
| Set key | AccountIdLookupOfTnew_ |
||||
| Sudo as | AccountIdLookupOfTwhoCallcall |
| Name | Nano S | Nano S XL | Nano SP/X - Stax | Nesting | Arguments |
|---|---|---|---|---|---|
| Force set price | FixedU64price |
| Name | Nano S | Nano S XL | Nano SP/X - Stax | Nesting | Arguments |
|---|---|---|---|---|---|
| Migrate | ✔️ | ✔️ | ✔️ | ✔️ | OptionWeightweight_limit |

