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 | ✔️ | ✔️ | ✔️ | 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 | 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 | 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 | Nesting | Arguments |
|---|---|---|---|---|---|
| Set | Compactu64now |
| Name | Nano S | Nano S XL | Nano SP/X | 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 | Nesting | Arguments |
|---|---|---|---|---|---|
| Set validation data | ParachainInherentDatadata |
||||
| Sudo send upward message | UpwardMessagemessage |
||||
| Authorize upgrade | Hashcode_hash |
||||
| Enact authorized upgrade | Vecu8code |
| Name | Nano S | Nano S XL | Nano SP/X | Nesting | Arguments |
|---|
| Name | Nano S | Nano S XL | Nano SP/X | Nesting | Arguments |
|---|---|---|---|---|---|
| Transfer | ✔️ | ✔️ | ✔️ | ✔️ | AccountIdLookupOfTdestCompactBalanceamount |
| Set balance | ✔️ | ✔️ | ✔️ | AccountIdLookupOfTwhoCompactBalancenew_freeCompactBalancenew_reserved |
|
| Force transfer | ✔️ | ✔️ | ✔️ | ✔️ | AccountIdLookupOfTsourceAccountIdLookupOfTdestCompactBalanceamount |
| Transfer keep alive | ✔️ | ✔️ | ✔️ | ✔️ | AccountIdLookupOfTdestCompactBalanceamount |
| Transfer all | ✔️ | ✔️ | ✔️ | AccountIdLookupOfTdestboolkeep_alive |
|
| Force unreserve | ✔️ | ✔️ | AccountIdLookupOfTwhoBalanceamount |
| Name | Nano S | Nano S XL | Nano SP/X | 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 | Nesting | Arguments |
|---|---|---|---|---|---|
| Register | ✔️ | ✔️ | ✔️ | AccountIddeveloperSmartContractcontract_id |
|
| Unregister | ✔️ | ✔️ | ✔️ | SmartContractcontract_id |
|
| Withdraw from unregistered | ✔️ | ✔️ | ✔️ | SmartContractcontract_id |
|
| Bond and stake | ✔️ | ✔️ | ✔️ | SmartContractcontract_idCompactu128amount |
|
| Unbond and unstake | ✔️ | ✔️ | ✔️ | SmartContractcontract_idCompactu128amount |
|
| Withdraw Unbonded | ✔️ | ✔️ | ✔️ | ||
| Nomination transfer | ✔️ | ✔️ | ✔️ | SmartContractorigin_contract_idCompactu128amountSmartContracttarget_contract_id |
|
| Claim staker | ✔️ | ✔️ | ✔️ | ✔️ | SmartContractcontract_id |
| Claim dapp | ✔️ | ✔️ | ✔️ | ✔️ | SmartContractcontract_idCompactu32era |
| Force new era | ✔️ | ✔️ | |||
| Maintenance mode | ✔️ | ✔️ | boolenable_maintenance |
||
| Set reward destination | ✔️ | ✔️ | DappsRewardDestinationreward_destination |
||
| Set contract stake info | ✔️ | ✔️ | SmartContractcontractEraIndexeraContractStakeInfoBalanceOfTcontract_stake_info |
||
| Burn stale reward | ✔️ | ✔️ | SmartContractcontract_idCompactu32era |
| Name | Nano S | Nano S XL | Nano SP/X | Nesting | Arguments |
|---|---|---|---|---|---|
| Set configuration | RewardDistributionConfigreward_distro_params |
| Name | Nano S | Nano S XL | Nano SP/X | 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 |
| Name | Nano S | Nano S XL | Nano SP/X | Nesting | Arguments |
|---|---|---|---|---|---|
| Set uncles | VecHeadernew_uncles |
| Name | Nano S | Nano S XL | Nano SP/X | 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 | Nesting | Arguments |
|---|---|---|---|---|---|
| Set keys | KeyskeysBytesproof |
||||
| Purge keys |
| Name | Nano S | Nano S XL | Nano SP/X | Nesting | Arguments |
|---|---|---|---|---|---|
| Service overweight | OverweightIndexindexXcmWeightweight_limit |
||||
| Suspend xcm execution | |||||
| Resume xcm execution | |||||
| Update suspend threshold | u32new_ |
||||
| Update drop threshold | u32new_ |
||||
| Update resume threshold | u32new_ |
||||
| Update threshold weight | XcmWeightnew_ |
||||
| Update weight restrict decay | XcmWeightnew_ |
||||
| Update xcmp max individual weight | XcmWeightnew_ |
| Name | Nano S | Nano S XL | Nano SP/X | Nesting | Arguments |
|---|---|---|---|---|---|
| Send | BoxVersionedMultiLocationdestBoxVersionedXcmTuplemessage |
||||
| Teleport assets | BoxVersionedMultiLocationdestBoxVersionedMultiLocationbeneficiaryBoxVersionedMultiAssetsassetsu32fee_asset_item |
||||
| Reserve transfer assets | BoxVersionedMultiLocationdestBoxVersionedMultiLocationbeneficiaryBoxVersionedMultiAssetsassetsu32fee_asset_item |
||||
| Reserve withdraw assets | BoxVersionedMultiLocationdestBoxVersionedMultiLocationbeneficiaryBoxVersionedMultiAssetsassetsu32fee_asset_item |
||||
| Execute | BoxVersionedXcmTasSysConfigRuntimeCallmessageWeightmax_weight |
||||
| Force xcm version | BoxMultiLocationlocationXcmVersionxcm_version |
||||
| 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 |
||||
| Limited reserve withdraw assets | BoxVersionedMultiLocationdestBoxVersionedMultiLocationbeneficiaryBoxVersionedMultiAssetsassetsu32fee_asset_itemWeightLimitweight_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 | OverweightIndexindexXcmWeightweight_limit |
| Name | Nano S | Nano S XL | Nano SP/X | 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 | 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 | Nesting | Arguments |
|---|---|---|---|---|---|
| Transact | Transactiontransaction |
| Name | Nano S | Nano S XL | Nano SP/X | Nesting | Arguments |
|---|---|---|---|---|---|
| Call | CallcallAccountIdsignerVecu8signatureCompactu32nonce |
| Name | Nano S | Nano S XL | Nano SP/X | Nesting | Arguments |
|---|---|---|---|---|---|
| Set base fee per gas | U256fee |
||||
| Set elasticity | Permillelasticity |
| Name | Nano S | Nano S XL | Nano SP/X | 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 |
| Name | Nano S | Nano S XL | Nano SP/X | Nesting | Arguments |
|---|---|---|---|---|---|
| Sudo | Callcall |
||||
| Sudo unchecked weight | CallcallWeightweight |
||||
| Set key | AccountIdLookupOfTnew_ |
||||
| Sudo as | AccountIdLookupOfTwhoCallcall |

