2020-09-22 09:22:49 +02:00
|
|
|
#ifndef __ETH_PLUGIN_INTERNAL_H__
|
|
|
|
|
|
|
|
|
|
#include "eth_plugin_interface.h"
|
|
|
|
|
|
2021-08-18 16:42:30 +02:00
|
|
|
#define SELECTOR_SIZE 4
|
|
|
|
|
#define PARAMETER_LENGTH 32
|
|
|
|
|
#define RUN_APPLICATION 1
|
2020-09-22 09:22:49 +02:00
|
|
|
|
2021-11-22 14:39:36 +01:00
|
|
|
void copy_address(uint8_t* dst, uint8_t* parameter, uint8_t dst_size);
|
|
|
|
|
|
|
|
|
|
void copy_parameter(uint8_t* dst, uint8_t* parameter, uint8_t dst_size);
|
|
|
|
|
|
|
|
|
|
void erc721_plugin_call(int message, void* parameters);
|
|
|
|
|
void erc1155_plugin_call(int message, void* parameters);
|
|
|
|
|
|
2020-11-24 00:11:55 +01:00
|
|
|
typedef bool (*PluginAvailableCheck)(void);
|
|
|
|
|
|
2020-09-22 09:22:49 +02:00
|
|
|
typedef struct internalEthPlugin_t {
|
2020-12-01 16:20:13 +01:00
|
|
|
PluginAvailableCheck availableCheck;
|
|
|
|
|
const uint8_t** selectors;
|
|
|
|
|
uint8_t num_selectors;
|
2021-05-11 10:04:52 +02:00
|
|
|
char alias[10];
|
2020-12-01 16:20:13 +01:00
|
|
|
PluginCall impl;
|
2020-09-22 09:22:49 +02:00
|
|
|
} internalEthPlugin_t;
|
|
|
|
|
|
2020-09-24 17:02:57 +02:00
|
|
|
#define NUM_ERC20_SELECTORS 2
|
|
|
|
|
extern const uint8_t* const ERC20_SELECTORS[NUM_ERC20_SELECTORS];
|
|
|
|
|
|
2020-10-05 18:22:42 +02:00
|
|
|
#define NUM_COMPOUND_SELECTORS 4
|
|
|
|
|
extern const uint8_t* const COMPOUND_SELECTORS[NUM_COMPOUND_SELECTORS];
|
|
|
|
|
|
2020-10-27 11:16:50 +01:00
|
|
|
#ifdef HAVE_ETH2
|
2020-10-05 18:22:42 +02:00
|
|
|
|
2020-10-27 11:16:50 +01:00
|
|
|
#define NUM_ETH2_SELECTORS 1
|
|
|
|
|
extern const uint8_t* const ETH2_SELECTORS[NUM_ETH2_SELECTORS];
|
|
|
|
|
|
|
|
|
|
#endif
|
2020-09-22 09:22:49 +02:00
|
|
|
|
2020-10-27 11:16:50 +01:00
|
|
|
#ifdef HAVE_STARKWARE
|
2020-09-22 09:22:49 +02:00
|
|
|
|
2021-04-16 10:05:49 +02:00
|
|
|
#define NUM_STARKWARE_SELECTORS 20
|
2020-09-22 09:22:49 +02:00
|
|
|
extern const uint8_t* const STARKWARE_SELECTORS[NUM_STARKWARE_SELECTORS];
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
2020-10-27 11:16:50 +01:00
|
|
|
extern internalEthPlugin_t const INTERNAL_ETH_PLUGINS[];
|
2020-09-22 09:22:49 +02:00
|
|
|
|
|
|
|
|
#endif
|