Home page rework
Now explicitly shows if the app has been launched through a plugin or clone thanks to the new NBGL use case
This commit is contained in:
committed by
Clement Bouvet
parent
e950372438
commit
462c39aa4b
+37
-7
@@ -7,6 +7,11 @@
|
||||
#include "shared_context.h"
|
||||
#include "utils.h"
|
||||
|
||||
typedef enum {
|
||||
APP,
|
||||
TX
|
||||
} e_net_type;
|
||||
|
||||
// Mappping of chain ids to networks.
|
||||
static const network_info_t NETWORK_MAPPING[] = {
|
||||
{.chain_id = 1, .name = "Ethereum", .ticker = "ETH"},
|
||||
@@ -63,7 +68,8 @@ static const network_info_t NETWORK_MAPPING[] = {
|
||||
{.chain_id = 288, .name = "Boba Network", .ticker = "ETH"},
|
||||
{.chain_id = 39797, .name = "Energi", .ticker = "NRG"}};
|
||||
|
||||
uint64_t get_chain_id(void) {
|
||||
|
||||
uint64_t get_tx_chain_id(void) {
|
||||
uint64_t chain_id = 0;
|
||||
|
||||
switch (txContext.txType) {
|
||||
@@ -82,8 +88,16 @@ uint64_t get_chain_id(void) {
|
||||
return chain_id;
|
||||
}
|
||||
|
||||
const network_info_t *get_network(void) {
|
||||
uint64_t chain_id = get_chain_id();
|
||||
uint64_t get_app_chain_id(void) {
|
||||
return chainConfig->chainId;
|
||||
}
|
||||
|
||||
static uint64_t get_chain_id(e_net_type type) {
|
||||
return (type == APP) ? get_app_chain_id() : get_tx_chain_id();
|
||||
}
|
||||
|
||||
static const network_info_t *get_network(e_net_type type) {
|
||||
uint64_t chain_id = get_chain_id(type);
|
||||
for (size_t i = 0; i < sizeof(NETWORK_MAPPING) / sizeof(*NETWORK_MAPPING); i++) {
|
||||
if (NETWORK_MAPPING[i].chain_id == chain_id) {
|
||||
return (const network_info_t *) PIC(&NETWORK_MAPPING[i]);
|
||||
@@ -92,8 +106,8 @@ const network_info_t *get_network(void) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const char *get_network_name(void) {
|
||||
const network_info_t *network = get_network();
|
||||
static const char *get_network_name(e_net_type type) {
|
||||
const network_info_t *network = get_network(type);
|
||||
if (network == NULL) {
|
||||
return NULL;
|
||||
} else {
|
||||
@@ -101,11 +115,27 @@ const char *get_network_name(void) {
|
||||
}
|
||||
}
|
||||
|
||||
const char *get_network_ticker(void) {
|
||||
const network_info_t *network = get_network();
|
||||
const char *get_app_network_name(void) {
|
||||
return get_network_name(APP);
|
||||
}
|
||||
|
||||
const char *get_tx_network_name(void) {
|
||||
return get_network_name(TX);
|
||||
}
|
||||
|
||||
static const char *get_network_ticker(e_net_type type) {
|
||||
const network_info_t *network = get_network(type);
|
||||
if (network == NULL) {
|
||||
return chainConfig->coinName;
|
||||
} else {
|
||||
return (char *) PIC(network->ticker);
|
||||
}
|
||||
}
|
||||
|
||||
const char *get_app_network_ticker(void) {
|
||||
return get_network_ticker(APP);
|
||||
}
|
||||
|
||||
const char *get_tx_network_ticker(void) {
|
||||
return get_network_ticker(TX);
|
||||
}
|
||||
|
||||
@@ -11,13 +11,16 @@ typedef struct network_info_s {
|
||||
uint64_t chain_id;
|
||||
} network_info_t;
|
||||
|
||||
// Returns the current chain id. Defaults to 0 if txType was not found.
|
||||
uint64_t get_chain_id(void);
|
||||
// Returns a pointer to the network struct, or NULL if there is none.
|
||||
const network_info_t *get_network(void);
|
||||
// Returns the chain ID. Defaults to 0 if txType was not found (For TX).
|
||||
uint64_t get_tx_chain_id(void);
|
||||
uint64_t get_app_chain_id(void);
|
||||
|
||||
// Returns a pointer to the network name, or NULL if there is none.
|
||||
const char *get_network_name(void);
|
||||
const char *get_tx_network_name(void);
|
||||
const char *get_app_network_name(void);
|
||||
|
||||
// Returns a pointer to the network ticker, or chainConfig->coinName if there is none.
|
||||
const char *get_network_ticker(void);
|
||||
const char *get_tx_network_ticker(void);
|
||||
const char *get_app_network_ticker(void);
|
||||
|
||||
#endif // _NETWORK_H_
|
||||
|
||||
Reference in New Issue
Block a user