Please visit our website at zondax.ch
This project contains the Nodle app (https://www.nodle.com/) 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 |
Set |
|
|
|
|
Compactu64 now
|
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 |
Schedule |
|
|
|
|
BlockNumber when
OptionschedulePeriodBlockNumber maybe_periodic
schedulePriority priority
Call call
|
Cancel |
|
|
|
|
BlockNumber when
u32 index
|
Schedule named |
|
|
|
|
TaskName id
BlockNumber when
OptionschedulePeriodBlockNumber maybe_periodic
schedulePriority priority
Call call
|
Cancel named |
|
|
|
|
TaskName id
|
Schedule after |
|
|
|
|
BlockNumber after
OptionschedulePeriodBlockNumber maybe_periodic
schedulePriority priority
Call call
|
Schedule named after |
|
|
|
|
TaskName id
BlockNumber after
OptionschedulePeriodBlockNumber maybe_periodic
schedulePriority priority
Call call
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Spend |
|
✔️ |
✔️ |
|
AccountId to
BalanceOf amount
|
Tip |
|
✔️ |
✔️ |
|
BalanceOf amount
|
Apply as |
|
✔️ |
✔️ |
|
Call call
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Spend |
|
✔️ |
✔️ |
|
AccountId to
BalanceOf amount
|
Tip |
|
✔️ |
✔️ |
|
BalanceOf amount
|
Apply as |
|
✔️ |
✔️ |
|
Call call
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Spend |
|
✔️ |
✔️ |
|
AccountId to
BalanceOf amount
|
Tip |
|
✔️ |
✔️ |
|
BalanceOf amount
|
Apply as |
|
✔️ |
✔️ |
|
Call call
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Claim |
|
✔️ |
✔️ |
|
|
Add vesting schedule |
|
✔️ |
✔️ |
|
LookupasStaticLookupSource dest
VestingScheduleOf schedule
|
Cancel all vesting schedules |
|
✔️ |
✔️ |
|
LookupasStaticLookupSource who
LookupasStaticLookupSource funds_collector
|
Renounce |
|
✔️ |
✔️ |
|
LookupasStaticLookupSource who
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Apply |
|
✔️ |
✔️ |
✔️ |
Call call
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Set members |
|
✔️ |
✔️ |
|
VecAccountId new_members
OptionAccountId prime
MemberCount old_count
|
Execute |
|
✔️ |
✔️ |
|
Proposal proposal
Compactu32 length_bound
|
Propose |
|
✔️ |
✔️ |
|
Compactu32 threshold
Proposal proposal
Compactu32 length_bound
|
Vote |
|
✔️ |
✔️ |
|
Hash proposal
Compactu32 index
bool approve
|
Disapprove proposal |
|
✔️ |
✔️ |
|
Hash proposal_hash
|
Close |
|
✔️ |
✔️ |
|
Hash proposal_hash
Compactu32 index
Weight proposal_weight_bound
Compactu32 length_bound
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Add member |
|
✔️ |
✔️ |
|
AccountIdLookupOfT who
|
Remove member |
|
✔️ |
✔️ |
|
AccountIdLookupOfT who
|
Swap member |
|
✔️ |
✔️ |
|
AccountIdLookupOfT remove
AccountIdLookupOfT add
|
Reset members |
|
✔️ |
✔️ |
|
VecAccountId members
|
Change key |
|
✔️ |
✔️ |
|
AccountIdLookupOfT new_
|
Set prime |
|
✔️ |
✔️ |
|
AccountIdLookupOfT who
|
Clear prime |
|
✔️ |
✔️ |
|
|
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 |
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 |
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 |
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 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
|
Force suspension |
|
|
✔️ |
|
bool suspended
|
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 |
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 |
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 |
Create |
|
✔️ |
✔️ |
|
CollectionId collection
AccountIdLookupOfT admin
|
Force create |
|
✔️ |
✔️ |
|
CollectionId collection
AccountIdLookupOfT owner
bool free_holding
|
Destroy |
|
✔️ |
✔️ |
|
CollectionId collection
DestroyWitness witness
|
Mint |
|
✔️ |
✔️ |
|
CollectionId collection
ItemId item
AccountIdLookupOfT owner
|
Burn |
|
✔️ |
✔️ |
|
CollectionId collection
ItemId item
OptionAccountIdLookupOfT check_owner
|
Transfer |
|
✔️ |
✔️ |
|
CollectionId collection
ItemId item
AccountIdLookupOfT dest
|
Redeposit |
|
✔️ |
✔️ |
|
CollectionId collection
VecItemId items
|
Freeze |
|
✔️ |
✔️ |
|
CollectionId collection
ItemId item
|
Thaw |
|
✔️ |
✔️ |
|
CollectionId collection
ItemId item
|
Freeze collection |
|
✔️ |
✔️ |
|
CollectionId collection
|
Thaw collection |
|
✔️ |
✔️ |
|
CollectionId collection
|
Transfer ownership |
|
✔️ |
✔️ |
|
CollectionId collection
AccountIdLookupOfT owner
|
Set team |
|
✔️ |
✔️ |
|
CollectionId collection
AccountIdLookupOfT issuer
AccountIdLookupOfT admin
AccountIdLookupOfT freezer
|
Approve transfer |
|
✔️ |
✔️ |
|
CollectionId collection
ItemId item
AccountIdLookupOfT delegate
|
Cancel approval |
|
✔️ |
✔️ |
|
CollectionId collection
ItemId item
OptionAccountIdLookupOfT maybe_check_delegate
|
Force item status |
|
✔️ |
✔️ |
|
CollectionId collection
AccountIdLookupOfT owner
AccountIdLookupOfT issuer
AccountIdLookupOfT admin
AccountIdLookupOfT freezer
bool free_holding
bool is_frozen
|
Set attribute |
|
✔️ |
✔️ |
|
CollectionId collection
OptionItemId maybe_item
BoundedVecu8 key
BoundedVecu8 value
|
Clear attribute |
|
✔️ |
✔️ |
|
CollectionId collection
OptionItemId maybe_item
BoundedVecu8 key
|
Set metadata |
|
✔️ |
✔️ |
|
CollectionId collection
ItemId item
BoundedVecu8 data
bool is_frozen
|
Clear metadata |
|
✔️ |
✔️ |
|
CollectionId collection
ItemId item
|
Set collection metadata |
|
✔️ |
✔️ |
|
CollectionId collection
BoundedVecu8 data
bool is_frozen
|
Clear collection metadata |
|
✔️ |
✔️ |
|
CollectionId collection
|
Set accept ownership |
|
✔️ |
✔️ |
|
OptionCollectionId maybe_collection
|
Set collection max supply |
|
✔️ |
✔️ |
|
CollectionId collection
u32 max_supply
|
Set price |
|
✔️ |
✔️ |
|
CollectionId collection
ItemId item
OptionItemPrice price
OptionAccountIdLookupOfT whitelisted_buyer
|
Buy item |
|
✔️ |
✔️ |
|
CollectionId collection
ItemId item
ItemPrice bid_price
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Note preimage |
|
✔️ |
✔️ |
|
Vecu8 bytes
|
Unnote preimage |
|
✔️ |
✔️ |
|
Hash hash
|
Request preimage |
|
✔️ |
✔️ |
|
Hash hash
|
Unrequest preimage |
|
✔️ |
✔️ |
|
Hash hash
|
Sponsorship
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Create pot |
|
|
|
|
PotId pot
SponsorshipType sponsorship_type
Balance fee_quota
Balance reserve_quota
|
Remove pot |
|
|
|
|
PotId pot
|
Register users |
|
|
|
|
PotId pot
VecAccountId users
Balance common_fee_quota
Balance common_reserve_quota
|
Remove users |
|
|
|
|
PotId pot
VecAccountId users
|
Sponsor for |
|
|
|
|
PotId pot
Call call
|
Update pot limits |
|
|
|
|
PotId pot
Balance new_fee_quota
Balance new_reserve_quota
|
Update users limits |
|
|
|
|
PotId pot
Balance new_fee_quota
Balance new_reserve_quota
VecAccountId users
|
Update sponsorship type |
|
|
|
|
PotId pot
SponsorshipType sponsorship_type
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Batch |
|
✔️ |
✔️ |
|
VecTupleAccountIdBalanceOf batch
|
Set curve starting block |
|
✔️ |
✔️ |
|
BlockNumber curve_start
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Add member |
|
✔️ |
✔️ |
|
AccountIdLookupOfT who
|
Remove member |
|
✔️ |
✔️ |
|
AccountIdLookupOfT who
|
Swap member |
|
✔️ |
✔️ |
|
AccountIdLookupOfT remove
AccountIdLookupOfT add
|
Reset members |
|
✔️ |
✔️ |
|
VecAccountId members
|
Change key |
|
✔️ |
✔️ |
|
AccountIdLookupOfT new_
|
Set prime |
|
✔️ |
✔️ |
|
AccountIdLookupOfT who
|
Clear prime |
|
✔️ |
✔️ |
|
|
Name |
Nano S |
Nano S XL |
Nano SP/X - Stax |
Nesting |
Arguments |
Spend |
|
✔️ |
✔️ |
|
AccountId to
BalanceOf amount
|
Tip |
|
✔️ |
✔️ |
|
BalanceOf amount
|
Apply as |
|
✔️ |
✔️ |
|
Call call
|
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
|