diff --git a/Makefile.genericwallet b/Makefile.genericwallet index 9ec6ed5..293db94 100755 --- a/Makefile.genericwallet +++ b/Makefile.genericwallet @@ -50,6 +50,10 @@ else ifeq ($(CHAIN),expanse) APP_LOAD_PARAMS += --path "44'/40'" DEFINES += CHAINID_UPCASE=\"EXPANSE\" CHAINID_COINNAME=\"EXP\" CHAIN_KIND=CHAIN_KIND_EXPANSE CHAIN_ID=2 APPNAME = "Expanse" +else ifeq ($(CHAIN),pirl) +APP_LOAD_PARAMS += --path "44'/164'" +DEFINES += CHAINID_UPCASE=\"PIRL\" CHAINID_COINNAME=\"PIRL\" CHAIN_KIND=CHAIN_KIND_PIRL CHAIN_ID=3125659152 +APPNAME = "Pirl" else ifeq ($(CHAIN),poa) APP_LOAD_PARAMS += --path "44'/60'" DEFINES += CHAINID_UPCASE=\"POA\" CHAINID_COINNAME=\"POA\" CHAIN_KIND=CHAIN_KIND_POA CHAIN_ID=99 diff --git a/blue_app_pirl.gif b/blue_app_pirl.gif new file mode 100644 index 0000000..1376610 Binary files /dev/null and b/blue_app_pirl.gif differ diff --git a/glyphs/blue_badge_pirl.gif b/glyphs/blue_badge_pirl.gif new file mode 100644 index 0000000..19a25f9 Binary files /dev/null and b/glyphs/blue_badge_pirl.gif differ diff --git a/glyphs/nanos_badge_pirl.gif b/glyphs/nanos_badge_pirl.gif new file mode 100644 index 0000000..ab21513 Binary files /dev/null and b/glyphs/nanos_badge_pirl.gif differ diff --git a/nanos_app_pirl.gif b/nanos_app_pirl.gif new file mode 100644 index 0000000..6cb1f5b Binary files /dev/null and b/nanos_app_pirl.gif differ diff --git a/src_genericwallet/chainConfig.h b/src_genericwallet/chainConfig.h index 5bf034a..26c0353 100644 --- a/src_genericwallet/chainConfig.h +++ b/src_genericwallet/chainConfig.h @@ -8,6 +8,7 @@ typedef enum chain_kind_e { CHAIN_KIND_ETHEREUM, CHAIN_KIND_ETHEREUM_CLASSIC, CHAIN_KIND_EXPANSE, + CHAIN_KIND_PIRL, CHAIN_KIND_POA, CHAIN_KIND_RSK, CHAIN_KIND_UBIQ, diff --git a/src_genericwallet/main.c b/src_genericwallet/main.c index b7d8fa0..9503a56 100644 --- a/src_genericwallet/main.c +++ b/src_genericwallet/main.c @@ -1265,6 +1265,9 @@ void handleSign(uint8_t p1, uint8_t p2, uint8_t *workBuffer, uint16_t dataLength case CHAIN_KIND_ETHEREUM_CLASSIC: numTokens = NUM_TOKENS_ETHEREUM_CLASSIC; break; + case CHAIN_KIND_PIRL: + numTokens = NUM_TOKENS_PIRL; + break; case CHAIN_KIND_POA: numTokens = NUM_TOKENS_POA; break; @@ -1293,6 +1296,9 @@ void handleSign(uint8_t p1, uint8_t p2, uint8_t *workBuffer, uint16_t dataLength case CHAIN_KIND_ETHEREUM_CLASSIC: currentToken = PIC(&TOKENS_ETHEREUM_CLASSIC[i]); break; + case CHAIN_KIND_PIRL: + currentToken = PIC(&TOKENS_PIRL[i]); + break; case CHAIN_KIND_POA: currentToken = PIC(&TOKENS_POA[i]); break; diff --git a/src_genericwallet/tokens.c b/src_genericwallet/tokens.c index 1a869ed..d8596c3 100644 --- a/src_genericwallet/tokens.c +++ b/src_genericwallet/tokens.c @@ -699,6 +699,8 @@ const tokenDefinition_t const TOKENS_ETHEREUM[NUM_TOKENS_ETHEREUM] = { const tokenDefinition_t const TOKENS_ETHEREUM_CLASSIC[NUM_TOKENS_ETHEREUM_CLASSIC] = {}; +const tokenDefinition_t const TOKENS_PIRL[NUM_TOKENS_PIRL] = {}; + const tokenDefinition_t const TOKENS_POA[NUM_TOKENS_POA] = {}; const tokenDefinition_t const TOKENS_RSK[NUM_TOKENS_RSK] = {}; diff --git a/src_genericwallet/tokens.h b/src_genericwallet/tokens.h index 1066c35..43fccac 100644 --- a/src_genericwallet/tokens.h +++ b/src_genericwallet/tokens.h @@ -25,6 +25,7 @@ typedef struct tokenDefinition_t { #define NUM_TOKENS_ETHEREUM 677 #define NUM_TOKENS_ETHEREUM_CLASSIC 0 +#define NUM_TOKENS_PIRL 0 #define NUM_TOKENS_POA 0 #define NUM_TOKENS_RSK 0 #define NUM_TOKENS_UBIQ 6 @@ -34,6 +35,7 @@ typedef struct tokenDefinition_t { extern tokenDefinition_t const TOKENS_ETHEREUM[NUM_TOKENS_ETHEREUM]; extern tokenDefinition_t const TOKENS_ETHEREUM_CLASSIC[NUM_TOKENS_ETHEREUM_CLASSIC]; +extern tokenDefinition_t const TOKENS_PIRL[NUM_TOKENS_PIRL]; extern tokenDefinition_t const TOKENS_POA[NUM_TOKENS_POA]; extern tokenDefinition_t const TOKENS_RSK[NUM_TOKENS_RSK]; extern tokenDefinition_t const TOKENS_UBIQ[NUM_TOKENS_UBIQ];