diff --git a/Makefile b/Makefile index a09d220..fc8b76e 100644 --- a/Makefile +++ b/Makefile @@ -21,252 +21,22 @@ endif include $(BOLOS_SDK)/Makefile.defines -DEFINES_LIB = USE_LIB_ETHEREUM -APP_LOAD_PARAMS = --curve secp256k1 $(COMMON_LOAD_PARAMS) -# Allow the app to use path 45 for multi-sig (see BIP45). -APP_LOAD_PARAMS += --path "45'" -# Samsung temporary implementation for wallet ID on 0xda7aba5e/0xc1a551c5 -APP_LOAD_PARAMS += --path "1517992542'/1101353413'" - -################## -# Define Version # -################## - -APPVERSION_M = 1 -APPVERSION_N = 11 -APPVERSION_P = 0 -APPVERSION = $(APPVERSION_M).$(APPVERSION_N).$(APPVERSION_P)-dev -APP_LOAD_FLAGS = --appFlags 0xa40 --dep Ethereum:$(APPVERSION) - -######################### -# Set Chain environment # -######################### +# Allows to use sprintf(..., "0x%.*H", ...) +CFLAGS += -Wno-format-invalid-specifier -Wno-format-extra-args +######################################## +# Mandatory configuration # +######################################## ifeq ($(CHAIN),) CHAIN = ethereum + APPNAME = ethereum endif SUPPORTED_CHAINS = $(shell find makefile_conf/chain/ -type f -name '*.mk'| sed 's/.*\/\(.*\).mk/\1/g' | sort) - -# Check if chain is available -ifeq ($(shell test -s ./makefile_conf/chain/$(CHAIN).mk && echo -n yes), yes) - include ./makefile_conf/chain/$(CHAIN).mk -else - $(error Unsupported CHAIN - use $(SUPPORTED_CHAINS)) +ifneq ($(CHAIN),$(filter $(CHAIN),$(SUPPORTED_CHAINS))) + $(error Unsupported CHAIN. Use one of: $(SUPPORTED_CHAINS)) endif -CFLAGS += -DAPPNAME=\"$(APPNAME)\" -DEFINES += CHAINID_COINNAME=\"$(TICKER)\" CHAIN_ID=$(CHAIN_ID) - -######### -# Other # -######### - -APP_LOAD_PARAMS += $(APP_LOAD_FLAGS) --path "44'/1'" -DEFINES += $(DEFINES_LIB) - -#prepare hsm generation -ifeq ($(TARGET_NAME),TARGET_NANOS) - ICONNAME = icons/nanos_app_chain_$(CHAIN_ID).gif -else ifeq ($(TARGET_NAME),TARGET_STAX) - ICONNAME = icons/stax_app_chain_$(CHAIN_ID).gif - DEFINES += ICONGLYPH=C_stax_chain_$(CHAIN_ID)_64px - DEFINES += ICONBITMAP=C_stax_chain_$(CHAIN_ID)_64px_bitmap - DEFINES += ICONGLYPH_SMALL=C_stax_chain_$(CHAIN_ID) - GLYPH_FILES += $(ICONNAME) -else - ICONNAME = icons/nanox_app_chain_$(CHAIN_ID).gif -endif - -################ -# Default rule # -################ -all: default - -############ -# Platform # -############ - -DEFINES += OS_IO_SEPROXYHAL -DEFINES += HAVE_SPRINTF HAVE_SNPRINTF_FORMAT_U -DEFINES += HAVE_IO_USB HAVE_L4_USBLIB IO_USB_MAX_ENDPOINTS=4 IO_HID_EP_LENGTH=64 HAVE_USB_APDU -DEFINES += LEDGER_MAJOR_VERSION=$(APPVERSION_M) LEDGER_MINOR_VERSION=$(APPVERSION_N) LEDGER_PATCH_VERSION=$(APPVERSION_P) -DEFINES += BUILD_YEAR=\"$(shell date +%Y)\" - -# U2F -DEFINES += HAVE_U2F HAVE_IO_U2F -DEFINES += U2F_PROXY_MAGIC=\"w0w\" -DEFINES += USB_SEGMENT_SIZE=64 -DEFINES += BLE_SEGMENT_SIZE=32 #max MTU, min 20 -DEFINES += APPVERSION=\"$(APPVERSION)\" - -#WEBUSB_URL = www.ledgerwallet.com -#DEFINES += HAVE_WEBUSB WEBUSB_URL_SIZE_B=$(shell echo -n $(WEBUSB_URL) | wc -c) WEBUSB_URL=$(shell echo -n $(WEBUSB_URL) | sed -e "s/./\\\'\0\\\',/g") - -DEFINES += HAVE_WEBUSB WEBUSB_URL_SIZE_B=0 WEBUSB_URL="" - -ifneq (,$(filter $(TARGET_NAME),TARGET_NANOX TARGET_STAX)) - DEFINES += HAVE_BLE BLE_COMMAND_TIMEOUT_MS=2000 - DEFINES += HAVE_BLE_APDU # basic ledger apdu transport over BLE - SDK_SOURCE_PATH += lib_blewbxx lib_blewbxx_impl -endif - -ifeq ($(TARGET_NAME),TARGET_NANOS) - DEFINES += IO_SEPROXYHAL_BUFFER_SIZE_B=128 -else - DEFINES += IO_SEPROXYHAL_BUFFER_SIZE_B=300 -endif - -ifeq ($(TARGET_NAME),TARGET_STAX) - DEFINES += NBGL_QRCODE - SDK_SOURCE_PATH += qrcode -else - DEFINES += HAVE_BAGL - DEFINES += HAVE_UX_FLOW - ifeq ($(TARGET_NAME),TARGET_NANOS) - DEFINES += BAGL_WIDTH=128 BAGL_HEIGHT=32 - else - DEFINES += HAVE_GLO096 - DEFINES += BAGL_WIDTH=128 BAGL_HEIGHT=64 - DEFINES += HAVE_BAGL_ELLIPSIS # long label truncation feature - DEFINES += HAVE_BAGL_FONT_OPEN_SANS_REGULAR_11PX - DEFINES += HAVE_BAGL_FONT_OPEN_SANS_EXTRABOLD_11PX - DEFINES += HAVE_BAGL_FONT_OPEN_SANS_LIGHT_16PX - endif -endif - -#################### -# Enabled Features # -#################### - -# Enables direct data signing without having to specify it in the settings. Useful when testing with speculos. -ALLOW_DATA ?= 0 -ifneq ($(ALLOW_DATA),0) - DEFINES += HAVE_ALLOW_DATA -endif - -# Bypass the signature verification for setExternalPlugin, setPlugin, provideERC20TokenInfo and provideNFTInfo calls -BYPASS_SIGNATURES ?= 0 -ifneq ($(BYPASS_SIGNATURES),0) - DEFINES += HAVE_BYPASS_SIGNATURES -endif - -# Enable the SET_PLUGIN test key -SET_PLUGIN_TEST_KEY ?= 0 -ifneq ($(SET_PLUGIN_TEST_KEY),0) - DEFINES += HAVE_SET_PLUGIN_TEST_KEY -endif - -# NFTs -ifneq ($(TARGET_NAME),TARGET_NANOS) - DEFINES += HAVE_NFT_SUPPORT - NFT_TEST_KEY ?= 0 - ifneq ($(NFT_TEST_KEY),0) - DEFINES += HAVE_NFT_TEST_KEY - endif - NFT_STAGING_KEY ?= 0 - ifneq ($(NFT_STAGING_KEY),0) - # Key used by the staging backend - DEFINES += HAVE_NFT_STAGING_KEY - endif -endif -ifneq (,$(filter $(DEFINES),HAVE_NFT_TEST_KEY)) - ifneq (, $(filter $(DEFINES),HAVE_NFT_STAGING_KEY)) - $(error Multiple alternative NFT keys set at once) - endif -endif - -# Dynamic memory allocator -ifneq ($(TARGET_NAME),TARGET_NANOS) - DEFINES += HAVE_DYN_MEM_ALLOC -endif - -# EIP-712 -ifneq ($(TARGET_NAME),TARGET_NANOS) - DEFINES += HAVE_EIP712_FULL_SUPPORT -endif - -# CryptoAssetsList key -CAL_TEST_KEY ?= 0 -ifneq ($(CAL_TEST_KEY),0) - # Key used in our test framework - DEFINES += HAVE_CAL_TEST_KEY -endif -CAL_STAGING_KEY ?= 0 -ifneq ($(CAL_STAGING_KEY),0) - # Key used by the staging CAL - DEFINES += HAVE_CAL_STAGING_KEY -endif -ifneq (,$(filter $(DEFINES),HAVE_CAL_TEST_KEY)) - ifneq (, $(filter $(DEFINES),HAVE_CAL_STAGING_KEY)) - # Can't use both the staging and testing keys - $(error Multiple alternative CAL keys set at once) - endif -endif - -# ENS -ifneq ($(TARGET_NAME),TARGET_NANOS) - DEFINES += HAVE_DOMAIN_NAME - DOMAIN_NAME_TEST_KEY ?= 0 - ifneq ($(DOMAIN_NAME_TEST_KEY),0) - DEFINES += HAVE_DOMAIN_NAME_TEST_KEY - endif -endif - -# Enabling debug PRINTF -ifneq ($(DEBUG),0) - DEFINES += HAVE_STACK_OVERFLOW_CHECK - ifeq ($(TARGET_NAME),TARGET_NANOS) - DEFINES += HAVE_PRINTF PRINTF=screen_printf - else - DEFINES += HAVE_PRINTF PRINTF=mcu_usb_printf - endif -else - DEFINES += PRINTF\(...\)= -endif - -ifneq ($(NOCONSENT),) - DEFINES += NO_CONSENT -endif - -############## -# Compiler # -############## - -ifneq ($(BOLOS_ENV),) - $(info BOLOS_ENV=$(BOLOS_ENV)) - CLANGPATH := $(BOLOS_ENV)/clang-arm-fropi/bin/ - GCCPATH := $(BOLOS_ENV)/gcc-arm-none-eabi-5_3-2016q1/bin/ -else - $(info BOLOS_ENV is not set: falling back to CLANGPATH and GCCPATH) -endif -ifeq ($(CLANGPATH),) - $(info CLANGPATH is not set: clang will be used from PATH) -endif -ifeq ($(GCCPATH),) - $(info GCCPATH is not set: arm-none-eabi-* will be used from PATH) -endif - -CC := $(CLANGPATH)clang -CFLAGS += -Wno-format-invalid-specifier -Wno-format-extra-args -AS := $(GCCPATH)arm-none-eabi-gcc -LD := $(GCCPATH)arm-none-eabi-gcc -LDLIBS += -lm -lgcc -lc - -# import rules to compile glyphs(/pone) -include $(BOLOS_SDK)/Makefile.glyphs - -### variables processed by the common makefile.rules of the SDK to grab source files and include dirs -APP_SOURCE_PATH += src_common src src_features src_plugins -SDK_SOURCE_PATH += lib_stusb lib_stusb_impl lib_u2f -ifeq ($(TARGET_NAME),TARGET_STAX) - APP_SOURCE_PATH += src_nbgl -else - SDK_SOURCE_PATH += lib_ux - APP_SOURCE_PATH += src_bagl -endif - -# Allow usage of function from lib_standard_app/crypto_helpers.c -APP_SOURCE_FILES += ${BOLOS_SDK}/lib_standard_app/crypto_helpers.c +include ./makefile_conf/chain/$(CHAIN).mk ### initialize plugin SDK submodule if needed, rebuild it, and warn if a difference is noticed ifeq ($(CHAIN),ethereum) @@ -288,22 +58,20 @@ ifeq ($(CHAIN),ethereum) endif endif -load: all - python3 -m ledgerblue.loadApp $(APP_LOAD_PARAMS) +APPVERSION_M = 1 +APPVERSION_N = 11 +APPVERSION_P = 0 +APPVERSION = $(APPVERSION_M).$(APPVERSION_N).$(APPVERSION_P)-dev -delete: - python3 -m ledgerblue.deleteApp $(COMMON_DELETE_PARAMS) - -install_tests: - cd tests/zemu/ && (yarn install || sudo yarn install) - -run_tests: - cd tests/zemu/ && (yarn test || sudo yarn test) - -test: install_tests run_tests - -unit-test: - make -C tests/unit +# Application source files +APP_SOURCE_PATH += src_common src src_features src_plugins +ifeq ($(TARGET_NAME),TARGET_STAX) + APP_SOURCE_PATH += src_nbgl +else + APP_SOURCE_PATH += src_bagl +endif +APP_SOURCE_FILES += ${BOLOS_SDK}/lib_standard_app/crypto_helpers.c +SDK_SOURCE_PATH += lib_u2f ifeq ($(TARGET_NAME),TARGET_STAX) NETWORK_ICONS_FILE = $(GEN_SRC_DIR)/net_icons.gen.c @@ -315,11 +83,106 @@ $(NETWORK_ICONS_FILE): APP_SOURCE_FILES += $(NETWORK_ICONS_FILE) endif -# import generic rules from the sdk -include $(BOLOS_SDK)/Makefile.rules +# Application icons following guidelines: +# https://developers.ledger.com/docs/embedded-app/design-requirements/#device-icon +ICON_NANOS = icons/nanos_app_chain_$(CHAIN_ID).gif +ICON_NANOX = icons/nanox_app_chain_$(CHAIN_ID).gif +ICON_NANOSP = icons/nanox_app_chain_$(CHAIN_ID).gif +ICON_STAX = icons/stax_app_chain_$(CHAIN_ID).gif -#add dependency on custom makefile filename -dep/%.d: %.c Makefile +#prepare hsm generation +ifeq ($(TARGET_NAME),TARGET_STAX) + DEFINES += ICONGLYPH=C_stax_chain_$(CHAIN_ID)_64px + DEFINES += ICONBITMAP=C_stax_chain_$(CHAIN_ID)_64px_bitmap + DEFINES += ICONGLYPH_SMALL=C_stax_chain_$(CHAIN_ID) +endif -listvariants: - @echo VARIANTS CHAIN $(SUPPORTED_CHAINS) + +# Application allowed derivation curves. +# Possibles curves are: secp256k1, secp256r1, ed25519 and bls12381g1 +# If your app needs it, you can specify multiple curves by using: +# `CURVE_APP_LOAD_PARAMS = ` +CURVE_APP_LOAD_PARAMS += secp256k1 + +# Application allowed derivation paths. +# You should request a specific path for your app. +# This serve as an isolation mechanism. +# Most application will have to request a path according to the BIP-0044 +# and SLIP-0044 standards. +# If your app needs it, you can specify multiple path by using: +# `PATH_APP_LOAD_PARAMS = "44'/1'" "45'/1'"` +PATH_APP_LOAD_PARAMS += "45'" "1517992542'/1101353413'" "44'/1'" + +# Setting to allow building variant applications +# - is the name of the parameter which should be set +# to specify the variant that should be build. +# - a list of variant that can be build using this app code. +# * It must at least contains one value. +# * Values can be the app ticker or anything else but should be unique. +VARIANT_PARAM = CHAIN +VARIANT_VALUES = $(SUPPORTED_CHAINS) + +# Activate dependency only for specific CHAIN +ifneq ($(CHAIN),ethereum) +DEP_APP_LOAD_PARAMS = Ethereum:$(APPVERSION) +DEFINES_LIB = USE_LIB_ETHEREUM +endif + +# Enabling DEBUG flag will enable PRINTF and disable optimizations +#DEBUG = 1 + +######################################## +# Application custom permissions # +######################################## +# See SDK `include/appflags.h` for the purpose of each permission +#HAVE_APPLICATION_FLAG_DERIVE_MASTER = 1 +HAVE_APPLICATION_FLAG_GLOBAL_PIN = 1 +HAVE_APPLICATION_FLAG_BOLOS_SETTINGS = 1 +HAVE_APPLICATION_FLAG_LIBRARY = 1 + +######################################## +# Application communication interfaces # +######################################## +ENABLE_BLUETOOTH = 1 +#ENABLE_NFC = 1 + +######################################## +# NBGL custom features # +######################################## +ENABLE_NBGL_QRCODE = 1 +#ENABLE_NBGL_KEYBOARD = 1 +#ENABLE_NBGL_KEYPAD = 1 + +######################################## +# Features disablers # +######################################## +# These advanced settings allow to disable some feature that are by +# default enabled in the SDK `Makefile.standard_app`. +DISABLE_STANDARD_APP_FILES = 1 +#DISABLE_DEFAULT_IO_SEPROXY_BUFFER_SIZE = 1 # To allow custom size declaration +#DISABLE_STANDARD_APP_DEFINES = 1 # Will set all the following disablers +#DISABLE_STANDARD_SNPRINTF = 1 +#DISABLE_STANDARD_USB = 1 +#DISABLE_STANDARD_WEBUSB = 1 +#DISABLE_STANDARD_BAGL_UX_FLOW = 1 +#DISABLE_DEBUG_LEDGER_ASSERT = 1 +#DISABLE_DEBUG_THROW = 1 + +######################################## +# Main app configuration # +######################################## + +# U2F +DEFINES += HAVE_IO_U2F +DEFINES += U2F_PROXY_MAGIC=\"w0w\" + +DEFINES += CHAINID_COINNAME=\"$(TICKER)\" CHAIN_ID=$(CHAIN_ID) +DEFINES += BUILD_YEAR=\"$(shell date +%Y)\" + +# Enabled Features # +include makefile_conf/features.mk + +######################### + +# Import generic rules from the SDK +include $(BOLOS_SDK)/Makefile.standard_app diff --git a/makefile_conf/chain/akroma.mk b/makefile_conf/chain/akroma.mk index 0426bdb..6da1b17 100644 --- a/makefile_conf/chain/akroma.mk +++ b/makefile_conf/chain/akroma.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/200625'" +PATH_APP_LOAD_PARAMS += "44'/200625'" TICKER = "AKA" CHAIN_ID = 200625 APPNAME = "Akroma" diff --git a/makefile_conf/chain/apothemnetwork.mk b/makefile_conf/chain/apothemnetwork.mk index 57dc45b..3446482 100644 --- a/makefile_conf/chain/apothemnetwork.mk +++ b/makefile_conf/chain/apothemnetwork.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/550'" +PATH_APP_LOAD_PARAMS += "44'/550'" TICKER = "TXDC" CHAIN_ID = 51 APPNAME = "ApothemNetwork" diff --git a/makefile_conf/chain/artis_sigma1.mk b/makefile_conf/chain/artis_sigma1.mk index 1539ccc..bcf77a6 100644 --- a/makefile_conf/chain/artis_sigma1.mk +++ b/makefile_conf/chain/artis_sigma1.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/246529'" +PATH_APP_LOAD_PARAMS += "44'/246529'" TICKER = "ATS" CHAIN_ID = 246529 APPNAME = "ARTIS sigma1" diff --git a/makefile_conf/chain/artis_tau1.mk b/makefile_conf/chain/artis_tau1.mk index 720f506..6aacfcc 100644 --- a/makefile_conf/chain/artis_tau1.mk +++ b/makefile_conf/chain/artis_tau1.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/246785'" +PATH_APP_LOAD_PARAMS += "44'/246785'" TICKER = "ATS" CHAIN_ID = 246785 APPNAME = "ARTIS tau1" diff --git a/makefile_conf/chain/astar.mk b/makefile_conf/chain/astar.mk index 8914d38..e152326 100644 --- a/makefile_conf/chain/astar.mk +++ b/makefile_conf/chain/astar.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/810'" --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/810'" "44'/60'" TICKER = "ASTR" CHAIN_ID = 592 APPNAME = "Astar Polkadot EVM" diff --git a/makefile_conf/chain/atheios.mk b/makefile_conf/chain/atheios.mk index 77a73d7..3ecb115 100644 --- a/makefile_conf/chain/atheios.mk +++ b/makefile_conf/chain/atheios.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/1620'" +PATH_APP_LOAD_PARAMS += "44'/1620'" TICKER = "ATH" CHAIN_ID = 1620 APPNAME = "Atheios" diff --git a/makefile_conf/chain/bsc.mk b/makefile_conf/chain/bsc.mk index e3c9f6a..3a47841 100644 --- a/makefile_conf/chain/bsc.mk +++ b/makefile_conf/chain/bsc.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/60'" TICKER = "BNB" CHAIN_ID = 56 APPNAME = "Binance Smart Chain" diff --git a/makefile_conf/chain/bttc.mk b/makefile_conf/chain/bttc.mk index 6451337..fdb1781 100644 --- a/makefile_conf/chain/bttc.mk +++ b/makefile_conf/chain/bttc.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/60'" TICKER = "BTT" CHAIN_ID = 199 APPNAME = "BTTC" diff --git a/makefile_conf/chain/callisto.mk b/makefile_conf/chain/callisto.mk index 5919f3f..f8fe788 100644 --- a/makefile_conf/chain/callisto.mk +++ b/makefile_conf/chain/callisto.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/820'" +PATH_APP_LOAD_PARAMS += "44'/820'" TICKER = "CLO" CHAIN_ID = 820 APPNAME = "Callisto" diff --git a/makefile_conf/chain/conflux_espace.mk b/makefile_conf/chain/conflux_espace.mk index 8bc8c9a..2dd6a4b 100644 --- a/makefile_conf/chain/conflux_espace.mk +++ b/makefile_conf/chain/conflux_espace.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/60'" TICKER = "CFX" CHAIN_ID = 1030 APPNAME = "Conflux eSpace" diff --git a/makefile_conf/chain/cube.mk b/makefile_conf/chain/cube.mk index 614036d..72b90bd 100644 --- a/makefile_conf/chain/cube.mk +++ b/makefile_conf/chain/cube.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/60'" TICKER = "CUBE" CHAIN_ID = 1818 APPNAME = "Cube" diff --git a/makefile_conf/chain/dexon.mk b/makefile_conf/chain/dexon.mk index 7cd36b7..7985c53 100644 --- a/makefile_conf/chain/dexon.mk +++ b/makefile_conf/chain/dexon.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/237'" +PATH_APP_LOAD_PARAMS += "44'/237'" TICKER = "DXN" CHAIN_ID = 237 APPNAME = "DEXON" diff --git a/makefile_conf/chain/ellaism.mk b/makefile_conf/chain/ellaism.mk index 27df5db..e3396a8 100644 --- a/makefile_conf/chain/ellaism.mk +++ b/makefile_conf/chain/ellaism.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/163'" +PATH_APP_LOAD_PARAMS += "44'/163'" TICKER = "ELLA" CHAIN_ID = 64 APPNAME = "Ellaism" diff --git a/makefile_conf/chain/energywebchain.mk b/makefile_conf/chain/energywebchain.mk index 6de07e2..6dbf94f 100644 --- a/makefile_conf/chain/energywebchain.mk +++ b/makefile_conf/chain/energywebchain.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/246'" --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/246'" "44'/60'" TICKER = "EWT" CHAIN_ID = 246 APPNAME = "EnergyWebChain" diff --git a/makefile_conf/chain/ether1.mk b/makefile_conf/chain/ether1.mk index 1885586..7641aa1 100644 --- a/makefile_conf/chain/ether1.mk +++ b/makefile_conf/chain/ether1.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/1313114'" +PATH_APP_LOAD_PARAMS += "44'/1313114'" TICKER = "ETHO" CHAIN_ID = 1313114 APPNAME = "Ether-1" diff --git a/makefile_conf/chain/ethereum.mk b/makefile_conf/chain/ethereum.mk index 993c930..a30fd11 100644 --- a/makefile_conf/chain/ethereum.mk +++ b/makefile_conf/chain/ethereum.mk @@ -1,11 +1,10 @@ # Lock the application on its standard path for 1.5. Please complain if non compliant -APP_LOAD_PARAMS += --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/60'" TICKER = "ETH" CHAIN_ID = 1 # Allow to derive ETH 2 public keys -APP_LOAD_PARAMS += --path "12381/3600" --curve bls12381g1 +PATH_APP_LOAD_PARAMS += "12381/3600" +CURVE_APP_LOAD_PARAMS += bls12381g1 DEFINES += HAVE_ETH2 APPNAME = "Ethereum" -DEFINES_LIB= DEFINES += HAVE_BOLOS_APP_STACK_CANARY -APP_LOAD_FLAGS=--appFlags 0xa40 diff --git a/makefile_conf/chain/ethereum_classic.mk b/makefile_conf/chain/ethereum_classic.mk index 5cc1760..1aea2af 100644 --- a/makefile_conf/chain/ethereum_classic.mk +++ b/makefile_conf/chain/ethereum_classic.mk @@ -1,5 +1,5 @@ # Also allows ETC to access the ETH derivation path to recover forked assets -APP_LOAD_PARAMS += --path "44'/61'" --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/61'" "44'/60'" TICKER = "ETC" CHAIN_ID = 61 APPNAME = "Ethereum Classic" diff --git a/makefile_conf/chain/ethergem.mk b/makefile_conf/chain/ethergem.mk index 09d3855..a1f56ea 100644 --- a/makefile_conf/chain/ethergem.mk +++ b/makefile_conf/chain/ethergem.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/1987'" +PATH_APP_LOAD_PARAMS += "44'/1987'" TICKER = "EGEM" CHAIN_ID = 1987 APPNAME = "EtherGem" diff --git a/makefile_conf/chain/ethersocial.mk b/makefile_conf/chain/ethersocial.mk index 95e153c..c1586b2 100644 --- a/makefile_conf/chain/ethersocial.mk +++ b/makefile_conf/chain/ethersocial.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/31102'" +PATH_APP_LOAD_PARAMS += "44'/31102'" TICKER = "ESN" CHAIN_ID = 31102 APPNAME = "Ethersocial" diff --git a/makefile_conf/chain/expanse.mk b/makefile_conf/chain/expanse.mk index 737ec43..24972b0 100644 --- a/makefile_conf/chain/expanse.mk +++ b/makefile_conf/chain/expanse.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/40'" +PATH_APP_LOAD_PARAMS += "44'/40'" TICKER = "EXP" CHAIN_ID = 2 APPNAME = "Expanse" diff --git a/makefile_conf/chain/flare.mk b/makefile_conf/chain/flare.mk index e8ecf3b..b168825 100644 --- a/makefile_conf/chain/flare.mk +++ b/makefile_conf/chain/flare.mk @@ -1,9 +1,8 @@ -APP_LOAD_PARAMS += --path "44'/554'" --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/554'" "44'/60'" TICKER = "FLR" CHAIN_ID = 14 +APPNAME = "Flare" # Pending review parameters -APP_LOAD_PARAMS += --tlvraw 9F:01 -DEFINES += HAVE_PENDING_REVIEW_SCREEN +ENABLE_PENDING_REVIEW_SCREEN = 1 -APPNAME = "Flare" diff --git a/makefile_conf/chain/flare_coston.mk b/makefile_conf/chain/flare_coston.mk index f8f5ed2..c277dbb 100644 --- a/makefile_conf/chain/flare_coston.mk +++ b/makefile_conf/chain/flare_coston.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/554'" --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/554'" "44'/60'" TICKER = "FLR" CHAIN_ID = 16 APPNAME = "Flare Coston" diff --git a/makefile_conf/chain/gochain.mk b/makefile_conf/chain/gochain.mk index b24e64e..ed51bdc 100644 --- a/makefile_conf/chain/gochain.mk +++ b/makefile_conf/chain/gochain.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/6060'" +PATH_APP_LOAD_PARAMS += "44'/6060'" TICKER = "GO" CHAIN_ID = 60 APPNAME = "GoChain" diff --git a/makefile_conf/chain/goerli.mk b/makefile_conf/chain/goerli.mk index c01e6c9..a3add14 100644 --- a/makefile_conf/chain/goerli.mk +++ b/makefile_conf/chain/goerli.mk @@ -1,10 +1,9 @@ -APP_LOAD_PARAMS += --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/60'" TICKER = "ETH" CHAIN_ID = 5 # Allow to derive ETH 2 public keys -APP_LOAD_PARAMS += --path "12381/3600" --curve bls12381g1 +PATH_APP_LOAD_PARAMS += "12381/3600" +CURVE_APP_LOAD_PARAMS += bls12381g1 DEFINES += HAVE_ETH2 APPNAME = "Eth Goerli" -DEFINES_LIB= DEFINES += HAVE_BOLOS_APP_STACK_CANARY -APP_LOAD_FLAGS=--appFlags 0xa40 diff --git a/makefile_conf/chain/hpb.mk b/makefile_conf/chain/hpb.mk index 03fc005..baf819b 100644 --- a/makefile_conf/chain/hpb.mk +++ b/makefile_conf/chain/hpb.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/269'" +PATH_APP_LOAD_PARAMS += "44'/269'" TICKER = "HPB" CHAIN_ID = 269 APPNAME = "HPB" diff --git a/makefile_conf/chain/id4good.mk b/makefile_conf/chain/id4good.mk index 4abac30..79439e4 100644 --- a/makefile_conf/chain/id4good.mk +++ b/makefile_conf/chain/id4good.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/161803'" +PATH_APP_LOAD_PARAMS += "44'/161803'" TICKER = "A4G" CHAIN_ID = 846000 APPNAME = "ID4Good" diff --git a/makefile_conf/chain/kardiachain.mk b/makefile_conf/chain/kardiachain.mk index 8ee40be..5d73e45 100644 --- a/makefile_conf/chain/kardiachain.mk +++ b/makefile_conf/chain/kardiachain.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/60'" TICKER = "KAI" CHAIN_ID = 24 APPNAME = "KardiaChain" diff --git a/makefile_conf/chain/meter.mk b/makefile_conf/chain/meter.mk index cb4554b..2089edc 100644 --- a/makefile_conf/chain/meter.mk +++ b/makefile_conf/chain/meter.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/60'" TICKER = "MTR" CHAIN_ID = 82 APPNAME = "Meter" diff --git a/makefile_conf/chain/mix.mk b/makefile_conf/chain/mix.mk index 6d96ce7..52bbe2e 100644 --- a/makefile_conf/chain/mix.mk +++ b/makefile_conf/chain/mix.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/76'" +PATH_APP_LOAD_PARAMS += "44'/76'" TICKER = "MIX" CHAIN_ID = 76 APPNAME = "Mix" diff --git a/makefile_conf/chain/moonbeam.mk b/makefile_conf/chain/moonbeam.mk index 963ee63..edf4c3f 100644 --- a/makefile_conf/chain/moonbeam.mk +++ b/makefile_conf/chain/moonbeam.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/60'" --path "44'/1284'" +PATH_APP_LOAD_PARAMS += "44'/60'" "44'/1284'" TICKER = "GLMR" CHAIN_ID = 1284 APPNAME = "Moonbeam" diff --git a/makefile_conf/chain/moonriver.mk b/makefile_conf/chain/moonriver.mk index 5c9391e..a777fe0 100644 --- a/makefile_conf/chain/moonriver.mk +++ b/makefile_conf/chain/moonriver.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/60'" --path "44'/1285'" +PATH_APP_LOAD_PARAMS += "44'/60'" "44'/1285'" TICKER = "MOVR" CHAIN_ID = 1285 APPNAME = "Moonriver" diff --git a/makefile_conf/chain/multivac.mk b/makefile_conf/chain/multivac.mk index c5b5270..1fe26f9 100644 --- a/makefile_conf/chain/multivac.mk +++ b/makefile_conf/chain/multivac.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/60'" TICKER = "MTV" CHAIN_ID = 62621 APPNAME = "MultiVAC" diff --git a/makefile_conf/chain/musicoin.mk b/makefile_conf/chain/musicoin.mk index 0c530d7..4523845 100644 --- a/makefile_conf/chain/musicoin.mk +++ b/makefile_conf/chain/musicoin.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/184'" +PATH_APP_LOAD_PARAMS += "44'/184'" TICKER = "MUSIC" CHAIN_ID = 7762959 APPNAME = "Musicoin" diff --git a/makefile_conf/chain/oasys.mk b/makefile_conf/chain/oasys.mk index 7fc384f..b75afc9 100644 --- a/makefile_conf/chain/oasys.mk +++ b/makefile_conf/chain/oasys.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/685'" --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/685'" "44'/60'" TICKER = "OAS" CHAIN_ID = 248 APPNAME = "Oasys" diff --git a/makefile_conf/chain/okc.mk b/makefile_conf/chain/okc.mk index 9fdd4aa..13e0f50 100644 --- a/makefile_conf/chain/okc.mk +++ b/makefile_conf/chain/okc.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/60'" TICKER = "OKT" CHAIN_ID = 66 APPNAME = "OKXChain" diff --git a/makefile_conf/chain/pirl.mk b/makefile_conf/chain/pirl.mk index fec941e..27eb8af 100644 --- a/makefile_conf/chain/pirl.mk +++ b/makefile_conf/chain/pirl.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/164'" +PATH_APP_LOAD_PARAMS += "44'/164'" TICKER = "PIRL" CHAIN_ID = 3125659152 APPNAME = "Pirl" diff --git a/makefile_conf/chain/poa.mk b/makefile_conf/chain/poa.mk index dd9f32e..5590fc9 100644 --- a/makefile_conf/chain/poa.mk +++ b/makefile_conf/chain/poa.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/60'" TICKER = "POA" CHAIN_ID = 99 APPNAME = "POA" diff --git a/makefile_conf/chain/polygon.mk b/makefile_conf/chain/polygon.mk index 0348401..71b8a03 100644 --- a/makefile_conf/chain/polygon.mk +++ b/makefile_conf/chain/polygon.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/60'" TICKER = "MATIC" CHAIN_ID = 137 APPNAME = "Polygon" diff --git a/makefile_conf/chain/reosc.mk b/makefile_conf/chain/reosc.mk index 662e8a2..c90a3e0 100644 --- a/makefile_conf/chain/reosc.mk +++ b/makefile_conf/chain/reosc.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/2894'" +PATH_APP_LOAD_PARAMS += "44'/2894'" TICKER = "REOSC" CHAIN_ID = 2894 APPNAME = "REOSC" diff --git a/makefile_conf/chain/ropsten.mk b/makefile_conf/chain/ropsten.mk index d709186..02ba733 100644 --- a/makefile_conf/chain/ropsten.mk +++ b/makefile_conf/chain/ropsten.mk @@ -1,10 +1,9 @@ -APP_LOAD_PARAMS += --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/60'" TICKER = "ETH" CHAIN_ID = 3 # Allow to derive ETH 2 public keys -APP_LOAD_PARAMS += --path "12381/3600" --curve bls12381g1 +PATH_APP_LOAD_PARAMS += "12381/3600" +CURVE_APP_LOAD_PARAMS += bls12381g1 DEFINES += HAVE_ETH2 APPNAME = "Eth Ropsten" -DEFINES_LIB= DEFINES += HAVE_BOLOS_APP_STACK_CANARY -APP_LOAD_FLAGS=--appFlags 0xa40 diff --git a/makefile_conf/chain/rsk.mk b/makefile_conf/chain/rsk.mk index bdbef87..0f05691 100644 --- a/makefile_conf/chain/rsk.mk +++ b/makefile_conf/chain/rsk.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/137'" --path "44'/00'" +PATH_APP_LOAD_PARAMS += "44'/137'" "44'/00'" TICKER = "RBTC" CHAIN_ID = 30 APPNAME = "RSK" diff --git a/makefile_conf/chain/rsk_testnet.mk b/makefile_conf/chain/rsk_testnet.mk index 8caa3a7..0e043e4 100644 --- a/makefile_conf/chain/rsk_testnet.mk +++ b/makefile_conf/chain/rsk_testnet.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/37310'" +PATH_APP_LOAD_PARAMS += "44'/37310'" TICKER = "RBTC" CHAIN_ID = 31 APPNAME = "RSK Test" diff --git a/makefile_conf/chain/shiden.mk b/makefile_conf/chain/shiden.mk index bda1c9d..74bf66a 100644 --- a/makefile_conf/chain/shiden.mk +++ b/makefile_conf/chain/shiden.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/809'" --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/809'" "44'/60'" TICKER = "SDN" CHAIN_ID = 336 APPNAME = "Shiden EVM" diff --git a/makefile_conf/chain/shyft.mk b/makefile_conf/chain/shyft.mk index 71ead2b..ae98994 100644 --- a/makefile_conf/chain/shyft.mk +++ b/makefile_conf/chain/shyft.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/60'" TICKER = "SHFT" CHAIN_ID = 7341 APPNAME = "Shyft" diff --git a/makefile_conf/chain/songbird.mk b/makefile_conf/chain/songbird.mk index 4c767ee..7dc4b6f 100644 --- a/makefile_conf/chain/songbird.mk +++ b/makefile_conf/chain/songbird.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/554'" --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/554'" "44'/60'" TICKER = "SGB" CHAIN_ID = 19 APPNAME = "Songbird" diff --git a/makefile_conf/chain/tecracoin.mk b/makefile_conf/chain/tecracoin.mk index 87a94ff..fc34beb 100644 --- a/makefile_conf/chain/tecracoin.mk +++ b/makefile_conf/chain/tecracoin.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/554'" --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/554'" "44'/60'" TICKER = "TCR" CHAIN_ID = 20531812 APPNAME = "TecraCoin" diff --git a/makefile_conf/chain/tecratestnet.mk b/makefile_conf/chain/tecratestnet.mk index 1be7c06..b778ca1 100644 --- a/makefile_conf/chain/tecratestnet.mk +++ b/makefile_conf/chain/tecratestnet.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/554'" --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/554'" "44'/60'" TICKER = "TCR" CHAIN_ID = 20531811 APPNAME = "TecraTestnet" diff --git a/makefile_conf/chain/thundercore.mk b/makefile_conf/chain/thundercore.mk index ea63c1a..f602f3e 100644 --- a/makefile_conf/chain/thundercore.mk +++ b/makefile_conf/chain/thundercore.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/1001'" +PATH_APP_LOAD_PARAMS += "44'/1001'" TICKER = "TT" CHAIN_ID = 108 APPNAME = "ThunderCore" diff --git a/makefile_conf/chain/tomochain.mk b/makefile_conf/chain/tomochain.mk index 19e2f4b..24c7f55 100644 --- a/makefile_conf/chain/tomochain.mk +++ b/makefile_conf/chain/tomochain.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/889'" +PATH_APP_LOAD_PARAMS += "44'/889'" TICKER = "TOMO" CHAIN_ID = 88 APPNAME = "TomoChain" diff --git a/makefile_conf/chain/ubiq.mk b/makefile_conf/chain/ubiq.mk index 840d304..0796ea7 100644 --- a/makefile_conf/chain/ubiq.mk +++ b/makefile_conf/chain/ubiq.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/108'" +PATH_APP_LOAD_PARAMS += "44'/108'" TICKER = "UBQ" CHAIN_ID = 8 APPNAME = "Ubiq" diff --git a/makefile_conf/chain/volta.mk b/makefile_conf/chain/volta.mk index 9230cbc..1d3f51a 100644 --- a/makefile_conf/chain/volta.mk +++ b/makefile_conf/chain/volta.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/73799'" --path "44'/60'" +PATH_APP_LOAD_PARAMS += "44'/73799'" "44'/60'" TICKER = "VOLTA" CHAIN_ID = 73799 APPNAME = "Volta" diff --git a/makefile_conf/chain/wanchain.mk b/makefile_conf/chain/wanchain.mk index 66b6d82..3453baa 100644 --- a/makefile_conf/chain/wanchain.mk +++ b/makefile_conf/chain/wanchain.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/5718350'" +PATH_APP_LOAD_PARAMS += "44'/5718350'" TICKER = "WAN" CHAIN_ID = 888 APPNAME = "Wanchain" diff --git a/makefile_conf/chain/webchain.mk b/makefile_conf/chain/webchain.mk index f2bb364..c73fc64 100644 --- a/makefile_conf/chain/webchain.mk +++ b/makefile_conf/chain/webchain.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/227'" +PATH_APP_LOAD_PARAMS += "44'/227'" TICKER = "WEB" CHAIN_ID = 24484 APPNAME = "Webchain" diff --git a/makefile_conf/chain/wethio.mk b/makefile_conf/chain/wethio.mk index 11b29d7..1b6f210 100644 --- a/makefile_conf/chain/wethio.mk +++ b/makefile_conf/chain/wethio.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/77777'" +PATH_APP_LOAD_PARAMS += "44'/77777'" TICKER = "ZYN" CHAIN_ID = 78 APPNAME = "Wethio" diff --git a/makefile_conf/chain/xdcnetwork.mk b/makefile_conf/chain/xdcnetwork.mk index 9118483..9a55396 100644 --- a/makefile_conf/chain/xdcnetwork.mk +++ b/makefile_conf/chain/xdcnetwork.mk @@ -1,4 +1,4 @@ -APP_LOAD_PARAMS += --path "44'/60'" --path "44'/550'" +PATH_APP_LOAD_PARAMS += "44'/60'" "44'/550'" TICKER = "XDC" CHAIN_ID = 50 APPNAME = "XDC Network" diff --git a/makefile_conf/features.mk b/makefile_conf/features.mk new file mode 100644 index 0000000..fa3c5d3 --- /dev/null +++ b/makefile_conf/features.mk @@ -0,0 +1,85 @@ +# Activate requested features +# --------------------------- +# Enables direct data signing without having to specify it in the settings. Useful when testing with speculos. +ALLOW_DATA ?= 0 +ifneq ($(ALLOW_DATA),0) + DEFINES += HAVE_ALLOW_DATA +endif + +# Bypass the signature verification for setExternalPlugin, setPlugin, provideERC20TokenInfo and provideNFTInfo calls +BYPASS_SIGNATURES ?= 0 +ifneq ($(BYPASS_SIGNATURES),0) + DEFINES += HAVE_BYPASS_SIGNATURES +endif + +# Enable the SET_PLUGIN test key +SET_PLUGIN_TEST_KEY ?= 0 +ifneq ($(SET_PLUGIN_TEST_KEY),0) + DEFINES += HAVE_SET_PLUGIN_TEST_KEY +endif + +# NFTs +ifneq ($(TARGET_NAME),TARGET_NANOS) + DEFINES += HAVE_NFT_SUPPORT + NFT_TEST_KEY ?= 0 + ifneq ($(NFT_TEST_KEY),0) + DEFINES += HAVE_NFT_TEST_KEY + endif + NFT_STAGING_KEY ?= 0 + ifneq ($(NFT_STAGING_KEY),0) + # Key used by the staging backend + DEFINES += HAVE_NFT_STAGING_KEY + endif +endif + +# Dynamic memory allocator +ifneq ($(TARGET_NAME),TARGET_NANOS) + DEFINES += HAVE_DYN_MEM_ALLOC +endif + +# EIP-712 +ifneq ($(TARGET_NAME),TARGET_NANOS) + DEFINES += HAVE_EIP712_FULL_SUPPORT +endif + +# CryptoAssetsList key +CAL_TEST_KEY ?= 0 +ifneq ($(CAL_TEST_KEY),0) + # Key used in our test framework + DEFINES += HAVE_CAL_TEST_KEY +endif +CAL_STAGING_KEY ?= 0 +ifneq ($(CAL_STAGING_KEY),0) + # Key used by the staging CAL + DEFINES += HAVE_CAL_STAGING_KEY +endif + +# ENS +ifneq ($(TARGET_NAME),TARGET_NANOS) + DEFINES += HAVE_DOMAIN_NAME + DOMAIN_NAME_TEST_KEY ?= 0 + ifneq ($(DOMAIN_NAME_TEST_KEY),0) + DEFINES += HAVE_DOMAIN_NAME_TEST_KEY + endif +endif + +ifneq ($(NOCONSENT),) + DEFINES += NO_CONSENT +endif + +# Check features incompatibilities +# -------------------------------- +# NFTs +ifneq (,$(filter $(DEFINES),HAVE_NFT_TEST_KEY)) + ifneq (, $(filter $(DEFINES),HAVE_NFT_STAGING_KEY)) + $(error Multiple alternative NFT keys set at once) + endif +endif + +# CryptoAssetsList key +ifneq (,$(filter $(DEFINES),HAVE_CAL_TEST_KEY)) + ifneq (, $(filter $(DEFINES),HAVE_CAL_STAGING_KEY)) + # Can't use both the staging and testing keys + $(error Multiple alternative CAL keys set at once) + endif +endif diff --git a/src_features/getAppConfiguration/cmd_getAppConfiguration.c b/src_features/getAppConfiguration/cmd_getAppConfiguration.c index c882b11..8b137d5 100644 --- a/src_features/getAppConfiguration/cmd_getAppConfiguration.c +++ b/src_features/getAppConfiguration/cmd_getAppConfiguration.c @@ -14,9 +14,9 @@ void handleGetAppConfiguration(uint8_t p1, UNUSED(flags); G_io_apdu_buffer[0] = (N_storage.dataAllowed ? APP_FLAG_DATA_ALLOWED : 0x00); G_io_apdu_buffer[0] |= APP_FLAG_EXTERNAL_TOKEN_NEEDED; - G_io_apdu_buffer[1] = LEDGER_MAJOR_VERSION; - G_io_apdu_buffer[2] = LEDGER_MINOR_VERSION; - G_io_apdu_buffer[3] = LEDGER_PATCH_VERSION; + G_io_apdu_buffer[1] = MAJOR_VERSION; + G_io_apdu_buffer[2] = MINOR_VERSION; + G_io_apdu_buffer[3] = PATCH_VERSION; *tx = 4; THROW(0x9000); }