Skip to content

Latest commit

 

History

History
334 lines (265 loc) · 40 KB

README.md

File metadata and controls

334 lines (265 loc) · 40 KB

Ledger Nodle App

License GithubActions


zondax_light zondax_dark

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

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

Nodle 9.25.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

Timestamp

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

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

Scheduler

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Schedule BlockNumberwhen
OptionschedulePeriodBlockNumbermaybe_periodic
schedulePrioritypriority
Callcall
Cancel BlockNumberwhen
u32index
Schedule named TaskNameid
BlockNumberwhen
OptionschedulePeriodBlockNumbermaybe_periodic
schedulePrioritypriority
Callcall
Cancel named TaskNameid
Schedule after BlockNumberafter
OptionschedulePeriodBlockNumbermaybe_periodic
schedulePrioritypriority
Callcall
Schedule named after TaskNameid
BlockNumberafter
OptionschedulePeriodBlockNumbermaybe_periodic
schedulePrioritypriority
Callcall

CompanyReserve

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Spend ✔️ ✔️ AccountIdto
BalanceOfamount
Tip ✔️ ✔️ BalanceOfamount
Apply as ✔️ ✔️ Callcall

InternationalReserve

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Spend ✔️ ✔️ AccountIdto
BalanceOfamount
Tip ✔️ ✔️ BalanceOfamount
Apply as ✔️ ✔️ Callcall

UsaReserve

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Spend ✔️ ✔️ AccountIdto
BalanceOfamount
Tip ✔️ ✔️ BalanceOfamount
Apply as ✔️ ✔️ Callcall

Vesting

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Claim ✔️ ✔️
Add vesting schedule ✔️ ✔️ LookupasStaticLookupSourcedest
VestingScheduleOfschedule
Cancel all vesting schedules ✔️ ✔️ LookupasStaticLookupSourcewho
LookupasStaticLookupSourcefunds_collector
Renounce ✔️ ✔️ LookupasStaticLookupSourcewho

Mandate

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Apply ✔️ ✔️ ✔️ Callcall

TechnicalCommittee

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Set members ✔️ ✔️ VecAccountIdnew_members
OptionAccountIdprime
MemberCountold_count
Execute ✔️ ✔️ Proposalproposal
Compactu32length_bound
Propose ✔️ ✔️ Compactu32threshold
Proposalproposal
Compactu32length_bound
Vote ✔️ ✔️ Hashproposal
Compactu32index
boolapprove
Disapprove proposal ✔️ ✔️ Hashproposal_hash
Close ✔️ ✔️ Hashproposal_hash
Compactu32index
Weightproposal_weight_bound
Compactu32length_bound

TechnicalMembership

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Add member ✔️ ✔️ AccountIdLookupOfTwho
Remove member ✔️ ✔️ AccountIdLookupOfTwho
Swap member ✔️ ✔️ AccountIdLookupOfTremove
AccountIdLookupOfTadd
Reset members ✔️ ✔️ VecAccountIdmembers
Change key ✔️ ✔️ AccountIdLookupOfTnew_
Set prime ✔️ ✔️ AccountIdLookupOfTwho
Clear prime ✔️ ✔️

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 ✔️ ✔️ ✔️ ✔️

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

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

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
XcmVersionxcm_version
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

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

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

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

Uniques

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Create ✔️ ✔️ CollectionIdcollection
AccountIdLookupOfTadmin
Force create ✔️ ✔️ CollectionIdcollection
AccountIdLookupOfTowner
boolfree_holding
Destroy ✔️ ✔️ CollectionIdcollection
DestroyWitnesswitness
Mint ✔️ ✔️ CollectionIdcollection
ItemIditem
AccountIdLookupOfTowner
Burn ✔️ ✔️ CollectionIdcollection
ItemIditem
OptionAccountIdLookupOfTcheck_owner
Transfer ✔️ ✔️ CollectionIdcollection
ItemIditem
AccountIdLookupOfTdest
Redeposit ✔️ ✔️ CollectionIdcollection
VecItemIditems
Freeze ✔️ ✔️ CollectionIdcollection
ItemIditem
Thaw ✔️ ✔️ CollectionIdcollection
ItemIditem
Freeze collection ✔️ ✔️ CollectionIdcollection
Thaw collection ✔️ ✔️ CollectionIdcollection
Transfer ownership ✔️ ✔️ CollectionIdcollection
AccountIdLookupOfTowner
Set team ✔️ ✔️ CollectionIdcollection
AccountIdLookupOfTissuer
AccountIdLookupOfTadmin
AccountIdLookupOfTfreezer
Approve transfer ✔️ ✔️ CollectionIdcollection
ItemIditem
AccountIdLookupOfTdelegate
Cancel approval ✔️ ✔️ CollectionIdcollection
ItemIditem
OptionAccountIdLookupOfTmaybe_check_delegate
Force item status ✔️ ✔️ CollectionIdcollection
AccountIdLookupOfTowner
AccountIdLookupOfTissuer
AccountIdLookupOfTadmin
AccountIdLookupOfTfreezer
boolfree_holding
boolis_frozen
Set attribute ✔️ ✔️ CollectionIdcollection
OptionItemIdmaybe_item
BoundedVecu8key
BoundedVecu8value
Clear attribute ✔️ ✔️ CollectionIdcollection
OptionItemIdmaybe_item
BoundedVecu8key
Set metadata ✔️ ✔️ CollectionIdcollection
ItemIditem
BoundedVecu8data
boolis_frozen
Clear metadata ✔️ ✔️ CollectionIdcollection
ItemIditem
Set collection metadata ✔️ ✔️ CollectionIdcollection
BoundedVecu8data
boolis_frozen
Clear collection metadata ✔️ ✔️ CollectionIdcollection
Set accept ownership ✔️ ✔️ OptionCollectionIdmaybe_collection
Set collection max supply ✔️ ✔️ CollectionIdcollection
u32max_supply
Set price ✔️ ✔️ CollectionIdcollection
ItemIditem
OptionItemPriceprice
OptionAccountIdLookupOfTwhitelisted_buyer
Buy item ✔️ ✔️ CollectionIdcollection
ItemIditem
ItemPricebid_price

Preimage

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Note preimage ✔️ ✔️ Vecu8bytes
Unnote preimage ✔️ ✔️ Hashhash
Request preimage ✔️ ✔️ Hashhash
Unrequest preimage ✔️ ✔️ Hashhash

Sponsorship

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Create pot PotIdpot
SponsorshipTypesponsorship_type
Balancefee_quota
Balancereserve_quota
Remove pot PotIdpot
Register users PotIdpot
VecAccountIdusers
Balancecommon_fee_quota
Balancecommon_reserve_quota
Remove users PotIdpot
VecAccountIdusers
Sponsor for PotIdpot
Callcall
Update pot limits PotIdpot
Balancenew_fee_quota
Balancenew_reserve_quota
Update users limits PotIdpot
Balancenew_fee_quota
Balancenew_reserve_quota
VecAccountIdusers
Update sponsorship type PotIdpot
SponsorshipTypesponsorship_type

Allocations

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Batch ✔️ ✔️ VecTupleAccountIdBalanceOfbatch
Set curve starting block ✔️ ✔️ BlockNumbercurve_start

AllocationsOracles

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Add member ✔️ ✔️ AccountIdLookupOfTwho
Remove member ✔️ ✔️ AccountIdLookupOfTwho
Swap member ✔️ ✔️ AccountIdLookupOfTremove
AccountIdLookupOfTadd
Reset members ✔️ ✔️ VecAccountIdmembers
Change key ✔️ ✔️ AccountIdLookupOfTnew_
Set prime ✔️ ✔️ AccountIdLookupOfTwho
Clear prime ✔️ ✔️

DaoReserve

Name Nano S Nano S XL Nano SP/X - Stax Nesting Arguments
Spend ✔️ ✔️ AccountIdto
BalanceOfamount
Tip ✔️ ✔️ BalanceOfamount
Apply as ✔️ ✔️ Callcall

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