Skip to content

Zondax/ledger-astar

Repository files navigation

Ledger Astar App

License GithubActions


zondax_light zondax_dark

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

ATTENTION

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

Astar 2.83.x

System

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 Keyprefix
u32subkeys
Remark with event Bytesremark

Utility

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Batch ✔️ ✔️ ✔️ VecCallcalls
As derivative u16index
Callcall
Batch all ✔️ ✔️ ✔️ VecCallcalls
Dispatch as BoxPalletsOriginas_origin
Callcall
Force batch ✔️ ✔️ ✔️ VecCallcalls
With weight ✔️ ✔️ Callcall
Weightweight

Identity

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_index
Compactu128max_fee
Cancel request RegistrarIndexreg_index
Set fee Compactu32index
Compactu128fee
Set account id Compactu32index
AccountIdLookupOfTnew_
Set fields Compactu32index
IdentityFieldsfields
Provide judgement Compactu32reg_index
AccountIdLookupOfTtarget
JudgementBalanceOfTjudgement
Hashidentity
Kill identity AccountIdLookupOfTtarget
Add sub AccountIdLookupOfTsub
Datadata
Rename sub AccountIdLookupOfTsub
Datadata
Remove sub AccountIdLookupOfTsub
Quit sub

Timestamp

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Set Compactu64now

Multisig

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
As multi threshold 1 ✔️ ✔️ ✔️ VecAccountIdother_signatories
Callcall
As multi ✔️ ✔️ ✔️ u16threshold
VecAccountIdother_signatories
OptionTimepointmaybe_timepoint
Callcall
Weightmax_weight
Approve as multi ✔️ ✔️ ✔️ u16threshold
VecAccountIdother_signatories
OptionTimepointmaybe_timepoint
H256call_hash
Weightmax_weight
Cancel as multi ✔️ ✔️ ✔️ u16threshold
VecAccountIdother_signatories
Timepointtimepoint
H256call_hash

Proxy

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Proxy ✔️ ✔️ ✔️ AccountIdLookupOfTreal
OptionProxyTypeforce_proxy_type
Callcall
Add proxy ✔️ ✔️ ✔️ AccountIdLookupOfTdelegate
ProxyTypeproxy_type
BlockNumberdelay
Remove proxy ✔️ ✔️ ✔️ AccountIdLookupOfTdelegate
ProxyTypeproxy_type
BlockNumberdelay
Remove proxies ✔️ ✔️
Create pure ✔️ ✔️ ✔️ ProxyTypeproxy_type
BlockNumberdelay
u16index
Kill pure ✔️ ✔️ ✔️ AccountIdLookupOfTspawner
ProxyTypeproxy_type
u16index
Compactu32height
Compactu32ext_index
Announce ✔️ ✔️ AccountIdLookupOfTreal
CallHashOfcall_hash
Remove announcement ✔️ ✔️ AccountIdLookupOfTreal
CallHashOfcall_hash
Reject announcement ✔️ ✔️ AccountIdLookupOfTdelegate
CallHashOfcall_hash
Proxy announced ✔️ ✔️ AccountIdLookupOfTdelegate
AccountIdLookupOfTreal
OptionProxyTypeforce_proxy_type
Callcall

ParachainSystem

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Set validation data ParachainInherentDatadata
Sudo send upward message UpwardMessagemessage
Authorize upgrade Hashcode_hash
boolcheck_version
Enact authorized upgrade Vecu8code

ParachainInfo

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments

Balances

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Transfer allow death ✔️ ✔️ ✔️ ✔️ AccountIdLookupOfTdest
CompactBalanceamount
Set balance deprecated ✔️ ✔️ ✔️ AccountIdLookupOfTwho
CompactBalancenew_free
CompactBalanceold_reserved
Force transfer ✔️ ✔️ ✔️ ✔️ AccountIdLookupOfTsource
AccountIdLookupOfTdest
CompactBalanceamount
Transfer keep alive ✔️ ✔️ ✔️ ✔️ AccountIdLookupOfTdest
CompactBalanceamount
Transfer all ✔️ ✔️ ✔️ ✔️ AccountIdLookupOfTdest
boolkeep_alive
Force unreserve ✔️ ✔️ AccountIdLookupOfTwho
Balanceamount
Upgrade accounts ✔️ ✔️ VecAccountIdwho
Transfer ✔️ ✔️ ✔️ ✔️ AccountIdLookupOfTdest
CompactBalanceamount
Force set balance ✔️ ✔️ AccountIdLookupOfTwho
CompactBalancenew_free

Vesting

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Vest ✔️ ✔️ ✔️ ✔️
Vest other ✔️ ✔️ ✔️ ✔️ AccountIdLookupOfTtarget
Vested transfer ✔️ ✔️ ✔️ ✔️ AccountIdLookupOfTtarget
VestingInfoschedule
Force vested transfer ✔️ ✔️ ✔️ ✔️ AccountIdLookupOfTsource
AccountIdLookupOfTtarget
VestingInfoschedule
Merge schedules ✔️ ✔️ ✔️ ✔️ u32schedule1_index
u32schedule2_index

Inflation

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Force set inflation params InflationParametersparams
Force inflation recalculation EraNumbernext_era

DappStaking

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Unbond and unstake ✔️ ✔️ ✔️ ✔️ SmartContractcontract_id
Compactu128amount
Withdraw Unbonded ✔️ ✔️ ✔️ ✔️
Maintenance mode ✔️ ✔️ ✔️ ✔️ boolenabled
Register ✔️ ✔️ ✔️ ✔️ AccountIdowner
SmartContractsmart_contract
Set dapp reward beneficiary ✔️ ✔️ ✔️ ✔️ SmartContractsmart_contract
OptionAccountIdbeneficiary
Set dapp owner ✔️ ✔️ ✔️ ✔️ SmartContractsmart_contract
AccountIdnew_owner
Unregister ✔️ ✔️ ✔️ ✔️ SmartContractsmart_contract
Lock ✔️ ✔️ ✔️ ✔️ Compactu128amount
Unlock ✔️ ✔️ ✔️ ✔️ Compactu128amount
Claim unlocked ✔️ ✔️ ✔️ ✔️
Relock unlocking ✔️ ✔️ ✔️ ✔️
Stake ✔️ ✔️ ✔️ ✔️ SmartContractsmart_contract
Compactu128amount
Unstake ✔️ ✔️ ✔️ ✔️ SmartContractsmart_contract
Compactu128amount
Claim staker rewards ✔️ ✔️ ✔️ ✔️
Claim bonus reward ✔️ ✔️ ✔️ ✔️ SmartContractsmart_contract
Claim dapp reward ✔️ ✔️ ✔️ ✔️ SmartContractsmart_contract
Compactu32era
Unstake from unregistered ✔️ ✔️ ✔️ ✔️ SmartContractsmart_contract
Cleanup expired entries ✔️ ✔️ ✔️ ✔️
Force ForcingTypeforcing_type

Assets

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Create ✔️ ✔️ CompactBalanceid
AccountIdLookupOfTadmin
Balancemin_balance
Force create ✔️ ✔️ CompactBalanceid
AccountIdLookupOfTowner
boolis_sufficient
CompactBalancemin_balance
Start destroy ✔️ ✔️ CompactBalanceid
Destroy accounts ✔️ ✔️ CompactBalanceid
Destroy approvals ✔️ ✔️ CompactBalanceid
Finish destroy ✔️ ✔️ CompactBalanceid
Mint ✔️ ✔️ CompactBalanceid
AccountIdLookupOfTbeneficiary
CompactBalanceamount
Burn ✔️ ✔️ CompactBalanceid
AccountIdLookupOfTwho
CompactBalanceamount
Transfer ✔️ ✔️ CompactBalanceid
AccountIdLookupOfTtarget
CompactBalanceamount
Transfer keep alive ✔️ ✔️ CompactBalanceid
AccountIdLookupOfTtarget
CompactBalanceamount
Force transfer ✔️ ✔️ CompactBalanceid
AccountIdLookupOfTsource
AccountIdLookupOfTdest
CompactBalanceamount
Freeze ✔️ ✔️ CompactBalanceid
AccountIdLookupOfTwho
Thaw ✔️ ✔️ CompactBalanceid
AccountIdLookupOfTwho
Freeze asset ✔️ ✔️ CompactBalanceid
Thaw asset ✔️ ✔️ CompactBalanceid
Transfer ownership ✔️ ✔️ CompactBalanceid
AccountIdLookupOfTowner
Set team ✔️ ✔️ CompactBalanceid
AccountIdLookupOfTissuer
AccountIdLookupOfTadmin
AccountIdLookupOfTfreezer
Set metadata ✔️ ✔️ CompactBalanceid
Vecu8name
Vecu8symbol
u8decimals
Clear metadata ✔️ ✔️ CompactBalanceid
Force set metadata ✔️ ✔️ CompactBalanceid
Vecu8name
Vecu8symbol
u8decimals
boolis_frozen
Force clear metadata ✔️ ✔️ CompactBalanceid
Force asset status ✔️ ✔️ CompactBalanceid
AccountIdLookupOfTowner
AccountIdLookupOfTissuer
AccountIdLookupOfTadmin
AccountIdLookupOfTfreezer
CompactBalancemin_balance
boolis_sufficient
boolis_frozen
Approve transfer ✔️ ✔️ CompactBalanceid
AccountIdLookupOfTdelegate
CompactBalanceamount
Cancel approval ✔️ ✔️ CompactBalanceid
AccountIdLookupOfTdelegate
Force cancel approval ✔️ ✔️ CompactBalanceid
AccountIdLookupOfTowner
AccountIdLookupOfTdelegate
Transfer approved ✔️ ✔️ CompactBalanceid
AccountIdLookupOfTowner
AccountIdLookupOfTdestination
CompactBalanceamount
Touch ✔️ ✔️ CompactBalanceid
Refund ✔️ ✔️ CompactBalanceid
boolallow_burn
Set min balance ✔️ ✔️ CompactBalanceid
Balancemin_balance
Touch other ✔️ ✔️ CompactBalanceid
AccountIdLookupOfTwho
Refund other ✔️ ✔️ CompactBalanceid
AccountIdLookupOfTwho
Block ✔️ ✔️ CompactBalanceid
AccountIdLookupOfTwho

CollatorSelection

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

Session

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Set keys Keyskeys
Bytesproof
Purge keys

XcmpQueue

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Service overweight OverweightIndexindex
Weightweight_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_

PolkadotXcm

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Send BoxVersionedMultiLocationdest
BoxVersionedXcmTuplemessage
Teleport assets BoxVersionedMultiLocationdest
BoxVersionedMultiLocationbeneficiary
BoxVersionedMultiAssetsassets
u32fee_asset_item
Reserve transfer assets BoxVersionedMultiLocationdest
BoxVersionedMultiLocationbeneficiary
BoxVersionedMultiAssetsassets
u32fee_asset_item
Execute BoxVersionedXcmTasSysConfigRuntimeCallmessage
Weightmax_weight
Force xcm version BoxMultiLocationlocation
XcmVersionversion
Force default xcm version OptionXcmVersionmaybe_xcm_version
Force subscribe version notify BoxVersionedMultiLocationlocation
Force unsubscribe version notify BoxVersionedMultiLocationlocation
Limited reserve transfer assets BoxVersionedMultiLocationdest
BoxVersionedMultiLocationbeneficiary
BoxVersionedMultiAssetsassets
u32fee_asset_item
WeightLimitweight_limit
Limited teleport assets BoxVersionedMultiLocationdest
BoxVersionedMultiLocationbeneficiary
BoxVersionedMultiAssetsassets
u32fee_asset_item
WeightLimitweight_limit
Force suspension boolsuspended

CumulusXcm

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments

DmpQueue

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Service overweight OverweightIndexindex
Weightweight_limit

XcAssetConfig

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Register asset location BoxVersionedMultiLocationasset_location
Compactu128asset_id
Set asset units per second BoxVersionedMultiLocationasset_location
Compactu128units_per_second
Change existing asset location BoxVersionedMultiLocationnew_asset_location
Compactu128asset_id
Remove payment asset BoxVersionedMultiLocationasset_location
Remove asset Compactu128asset_id

XTokens

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Transfer CurrencyIdcurrency_id
Balanceamount
BoxVersionedMultiLocationdest
WeightLimitdest_weight_limit
Transfer multiasset BoxVersionedMultiAssetasset
BoxVersionedMultiLocationdest
WeightLimitdest_weight_limit
Transfer with fee CurrencyIdcurrency_id
Balanceamount
Balancefee
BoxVersionedMultiLocationdest
WeightLimitdest_weight_limit
Transfer multiasset with fee BoxVersionedMultiAssetasset
BoxVersionedMultiAssetfee
BoxVersionedMultiLocationdest
WeightLimitdest_weight_limit
Transfer multicurrencies VecTupleCurrencyIdBalancecurrencies
u32fee_item
BoxVersionedMultiLocationdest
WeightLimitdest_weight_limit
Transfer multiassets BoxVersionedMultiAssetsassets
u32fee_item
BoxVersionedMultiLocationdest
WeightLimitdest_weight_limit

EVM

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Withdraw ✔️ ✔️ ✔️ ✔️ H160address
Balanceamount
Call H160source
H160target
Vecu8input
U256value
u64gas_limit
U256max_fee_per_gas
OptionU256max_priority_fee_per_gas
OptionU256nonce
VecTupleH160VecH256access_list
Create H160source
Vecu8init
U256value
u64gas_limit
U256max_fee_per_gas
OptionU256max_priority_fee_per_gas
OptionU256nonce
VecTupleH160VecH256access_list
Create2 H160source
Vecu8init
H256salt
U256value
u64gas_limit
U256max_fee_per_gas
OptionU256max_priority_fee_per_gas
OptionU256nonce
VecTupleH160VecH256access_list

Ethereum

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Transact Transactiontransaction

DynamicEvmBaseFee

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Set base fee per gas U256fee

Contracts

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Call old weight AccountIdLookupOfTdest
CompactBalanceamount
Compactu64gas_limit
OptionCompactBalanceOfstorage_deposit_limit
Vecu8data
Instantiate with code old weight CompactBalanceamount
Compactu64gas_limit
OptionCompactBalanceOfstorage_deposit_limit
Vecu8code
Vecu8data
Vecu8salt
Instantiate old weight CompactBalanceamount
Compactu64gas_limit
OptionCompactBalanceOfstorage_deposit_limit
CodeHashcode_hash
Vecu8data
Vecu8salt
Upload code Vecu8code
OptionCompactBalanceOfstorage_deposit_limit
Determinismdeterminism
Remove code CodeHashcode_hash
Set code AccountIdLookupOfTdest
CodeHashcode_hash
Call AccountIdLookupOfTdest
CompactBalanceamount
Weightgas_limit
OptionCompactBalanceOfstorage_deposit_limit
Vecu8data
Instantiate with code CompactBalanceamount
Weightgas_limit
OptionCompactBalanceOfstorage_deposit_limit
Vecu8code
Vecu8data
Vecu8salt
Instantiate CompactBalanceamount
Weightgas_limit
OptionCompactBalanceOfstorage_deposit_limit
CodeHashcode_hash
Bytesdata
Bytessalt
Migrate Weightweight_limit

Sudo

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Sudo Callcall
Sudo unchecked weight Callcall
Weightweight
Set key AccountIdLookupOfTnew_
Sudo as AccountIdLookupOfTwho
Callcall

StaticPriceProvider

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Force set price FixedU64price

DappStakingMigration

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Migrate ✔️ ✔️ ✔️ ✔️ OptionWeightweight_limit