Add Stealthcoin, fix Peercoin based altcoins Satoshi unit

This commit is contained in:
BTChip github 2017-11-21 19:22:17 +01:00
parent d69b8dd70c
commit 5b6c6d78c3
No known key found for this signature in database
GPG Key ID: 48BCF826EBFA4D17
6 changed files with 19 additions and 7 deletions

View File

@ -24,7 +24,7 @@ APP_LOAD_PARAMS=--appFlags 0x50 --path "" --curve secp256k1 $(COMMON_LOAD_PARAMS
APPVERSION_M=1
APPVERSION_N=1
APPVERSION_P=12
APPVERSION_P=13
APPVERSION=$(APPVERSION_M).$(APPVERSION_N).$(APPVERSION_P)
# ifndef COIN
@ -69,7 +69,7 @@ DEFINES += BTCHIP_P2PKH_VERSION=63 BTCHIP_P2SH_VERSION=125 BTCHIP_COIN_FAMILY=
APPNAME ="Stratis"
else ifeq ($(COIN),peercoin)
# Peercoin
DEFINES += BTCHIP_P2PKH_VERSION=55 BTCHIP_P2SH_VERSION=117 BTCHIP_COIN_FAMILY=2 BTCHIP_COINID=\"Peercoin\" COINID_UPCASE=\"PPC\" COLOR_HDR=0x3790CA COLOR_DB=0x9BC8E5 COINID_NAME=\"Peercoin\" COINID=$(COIN) BTCHIP_COINID_SHORT=\"PPC\" COIN_PEERCOIN HAVE_PEERCOIN_SUPPORT
DEFINES += BTCHIP_P2PKH_VERSION=55 BTCHIP_P2SH_VERSION=117 BTCHIP_COIN_FAMILY=2 BTCHIP_COINID=\"Peercoin\" COINID_UPCASE=\"PPC\" COLOR_HDR=0x3790CA COLOR_DB=0x9BC8E5 COINID_NAME=\"Peercoin\" COINID=$(COIN) BTCHIP_COINID_SHORT=\"PPC\" COIN_PEERCOIN HAVE_PEERCOIN_SUPPORT HAVE_PEERCOIN_UNITS
APPNAME ="Peercoin"
else ifeq ($(COIN),posw)
DEFINES += BTCHIP_P2PKH_VERSION=55 BTCHIP_P2SH_VERSION=85 BTCHIP_COIN_FAMILY=2 BTCHIP_COINID=\"PoSWallet\" COINID_UPCASE=\"POSW\" COLOR_HDR=0x23273D COLOR_DB=0x91939E COINID_NAME=\"PoSW\" COINID=$(COIN) BTCHIP_COINID_SHORT=\"POSW\" COIN_POSW HAVE_PEERCOIN_SUPPORT
@ -77,7 +77,11 @@ APPNAME ="PoSW"
else ifeq ($(COIN),pivx)
# PivX
DEFINES += BTCHIP_P2PKH_VERSION=30 BTCHIP_P2SH_VERSION=13 BTCHIP_COIN_FAMILY=1 BTCHIP_COINID=\"DarkNet\" COINID_UPCASE=\"PIVX\" COLOR_HDR=0x46385D COLOR_DB=0x9E96AA COINID_NAME=\"PivX\" COINID=$(COIN) BTCHIP_COINID_SHORT=\"PIV\" COIN_PIVX
APPNAME ="PIVX"
APPNAME ="PivX"
else ifeq ($(COIN),stealthcoin)
# Stealthcoin
DEFINES += BTCHIP_P2PKH_VERSION=62 BTCHIP_P2SH_VERSION=85 BTCHIP_COIN_FAMILY=2 BTCHIP_COINID=\"StealthCoin\" COINID_UPCASE=\"STEALTHCOIN\" COLOR_HDR=0x000000 COLOR_DB=0x808080 COINID_NAME=\"Stealthcoin\" COINID=$(COIN) BTCHIP_COINID_SHORT=\"XST\" COIN_STEALTHCOIN HAVE_PEERCOIN_SUPPORT HAVE_PEERCOIN_UNITS
APPNAME ="Stealthcoin"
else ifeq ($(COIN),viacoin)
# Viacoin
DEFINES += BTCHIP_P2PKH_VERSION=71 BTCHIP_P2SH_VERSION=33 BTCHIP_COIN_FAMILY=1 BTCHIP_COINID=\"Viacoin\" COINID_UPCASE=\"VIACOIN\" COLOR_HDR=0x414141 COLOR_DB=0xA0A0A0 COINID_NAME=\"Viacoin\" COINID=$(COIN) BTCHIP_COINID_SHORT=\"VIA\" COIN_VIACOIN HAVE_SEGWIT_CHANGE_SUPPORT
@ -88,7 +92,7 @@ DEFINES += BTCHIP_P2PKH_VERSION=71 BTCHIP_P2SH_VERSION=5 BTCHIP_COIN_FAMILY=1
APPNAME ="Vertcoin"
else
ifeq ($(filter clean,$(MAKECMDGOALS)),)
$(error Unsupported COIN - use bitcoin_testnet, bitcoin, bitcoin_cash, litecoin, dogecoin, dash, zcash, komodo, stratis, peercoin, posw, pivx, viacoin, vertcoin)
$(error Unsupported COIN - use bitcoin_testnet, bitcoin, bitcoin_cash, litecoin, dogecoin, dash, zcash, komodo, stratis, peercoin, posw, pivx, viacoin, vertcoin, stealthcoin)
endif
endif

BIN
blue_app_stealthcoin.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 498 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
nanos_app_stealthcoin.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -19,6 +19,14 @@
#define SCRATCH_SIZE 21
#ifndef HAVE_PEERCOIN_UNITS
#define LOOP1 13
#define LOOP2 8
#else
#define LOOP1 15
#define LOOP2 6
#endif
unsigned char
btchip_convert_hex_amount_to_displayable(unsigned char WIDE *amount) {
unsigned short scratch[SCRATCH_SIZE];
@ -56,7 +64,7 @@ btchip_convert_hex_amount_to_displayable(unsigned char WIDE *amount) {
}
}
for (i = 0; i < 13; i++) {
for (i = 0; i < LOOP1; i++) {
if (!nonZero && (scratch[offset] == 0)) {
offset++;
} else {
@ -68,10 +76,10 @@ btchip_convert_hex_amount_to_displayable(unsigned char WIDE *amount) {
btchip_context_D.tmp[targetOffset++] = '0';
}
workOffset = offset;
for (i = 0; i < 8; i++) {
for (i = 0; i < LOOP2; i++) {
unsigned char allZero = 1;
unsigned char j;
for (j = i; j < 8; j++) {
for (j = i; j < LOOP2; j++) {
if (scratch[workOffset + j] != 0) {
allZero = 0;
break;