Small refactoring on number of NFT selectors
This commit is contained in:
@@ -9,7 +9,7 @@ static const uint8_t ERC1155_APPROVE_FOR_ALL_SELECTOR[SELECTOR_SIZE] = {0xa2, 0x
|
|||||||
static const uint8_t ERC1155_SAFE_TRANSFER_SELECTOR[SELECTOR_SIZE] = {0xf2, 0x42, 0x43, 0x2a};
|
static const uint8_t ERC1155_SAFE_TRANSFER_SELECTOR[SELECTOR_SIZE] = {0xf2, 0x42, 0x43, 0x2a};
|
||||||
static const uint8_t ERC1155_SAFE_BATCH_TRANSFER[SELECTOR_SIZE] = {0x2e, 0xb2, 0xc2, 0xd6};
|
static const uint8_t ERC1155_SAFE_BATCH_TRANSFER[SELECTOR_SIZE] = {0x2e, 0xb2, 0xc2, 0xd6};
|
||||||
|
|
||||||
const uint8_t *const ERC1155_SELECTORS[NUM_ERC1155_SELECTORS] = {
|
const uint8_t *const ERC1155_SELECTORS[SELECTORS_COUNT] = {
|
||||||
ERC1155_APPROVE_FOR_ALL_SELECTOR,
|
ERC1155_APPROVE_FOR_ALL_SELECTOR,
|
||||||
ERC1155_SAFE_TRANSFER_SELECTOR,
|
ERC1155_SAFE_TRANSFER_SELECTOR,
|
||||||
ERC1155_SAFE_BATCH_TRANSFER,
|
ERC1155_SAFE_BATCH_TRANSFER,
|
||||||
@@ -20,7 +20,7 @@ static void handle_init_contract(void *parameters) {
|
|||||||
erc1155_context_t *context = (erc1155_context_t *) msg->pluginContext;
|
erc1155_context_t *context = (erc1155_context_t *) msg->pluginContext;
|
||||||
|
|
||||||
uint8_t i;
|
uint8_t i;
|
||||||
for (i = 0; i < NUM_ERC1155_SELECTORS; i++) {
|
for (i = 0; i < SELECTORS_COUNT; i++) {
|
||||||
if (memcmp((uint8_t *) PIC(ERC1155_SELECTORS[i]), msg->selector, SELECTOR_SIZE) == 0) {
|
if (memcmp((uint8_t *) PIC(ERC1155_SELECTORS[i]), msg->selector, SELECTOR_SIZE) == 0) {
|
||||||
context->selectorIndex = i;
|
context->selectorIndex = i;
|
||||||
break;
|
break;
|
||||||
@@ -28,7 +28,7 @@ static void handle_init_contract(void *parameters) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// No selector found.
|
// No selector found.
|
||||||
if (i == NUM_ERC1155_SELECTORS) {
|
if (i == SELECTORS_COUNT) {
|
||||||
PRINTF("Unknown erc1155 selector %.*H\n", SELECTOR_SIZE, msg->selector);
|
PRINTF("Unknown erc1155 selector %.*H\n", SELECTOR_SIZE, msg->selector);
|
||||||
msg->result = ETH_PLUGIN_RESULT_FALLBACK;
|
msg->result = ETH_PLUGIN_RESULT_FALLBACK;
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -11,12 +11,11 @@
|
|||||||
|
|
||||||
// Internal plugin for EIP 1155: https://eips.ethereum.org/EIPS/eip-1155
|
// Internal plugin for EIP 1155: https://eips.ethereum.org/EIPS/eip-1155
|
||||||
|
|
||||||
#define NUM_ERC1155_SELECTORS 3
|
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
SET_APPROVAL_FOR_ALL,
|
SET_APPROVAL_FOR_ALL,
|
||||||
SAFE_TRANSFER,
|
SAFE_TRANSFER,
|
||||||
SAFE_BATCH_TRANSFER,
|
SAFE_BATCH_TRANSFER,
|
||||||
|
SELECTORS_COUNT
|
||||||
} erc1155_selector_t;
|
} erc1155_selector_t;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ static const uint8_t ERC721_TRANSFER_SELECTOR[SELECTOR_SIZE] = {0x23, 0xb8, 0x72
|
|||||||
static const uint8_t ERC721_SAFE_TRANSFER_SELECTOR[SELECTOR_SIZE] = {0x42, 0x84, 0x2e, 0x0e};
|
static const uint8_t ERC721_SAFE_TRANSFER_SELECTOR[SELECTOR_SIZE] = {0x42, 0x84, 0x2e, 0x0e};
|
||||||
static const uint8_t ERC721_SAFE_TRANSFER_DATA_SELECTOR[SELECTOR_SIZE] = {0xb8, 0x8d, 0x4f, 0xde};
|
static const uint8_t ERC721_SAFE_TRANSFER_DATA_SELECTOR[SELECTOR_SIZE] = {0xb8, 0x8d, 0x4f, 0xde};
|
||||||
|
|
||||||
const uint8_t *const ERC721_SELECTORS[NUM_ERC721_SELECTORS] = {
|
const uint8_t *const ERC721_SELECTORS[SELECTORS_COUNT] = {
|
||||||
ERC721_APPROVE_SELECTOR,
|
ERC721_APPROVE_SELECTOR,
|
||||||
ERC721_APPROVE_FOR_ALL_SELECTOR,
|
ERC721_APPROVE_FOR_ALL_SELECTOR,
|
||||||
ERC721_TRANSFER_SELECTOR,
|
ERC721_TRANSFER_SELECTOR,
|
||||||
@@ -25,7 +25,7 @@ static void handle_init_contract(void *parameters) {
|
|||||||
erc721_context_t *context = (erc721_context_t *) msg->pluginContext;
|
erc721_context_t *context = (erc721_context_t *) msg->pluginContext;
|
||||||
|
|
||||||
uint8_t i;
|
uint8_t i;
|
||||||
for (i = 0; i < NUM_ERC721_SELECTORS; i++) {
|
for (i = 0; i < SELECTORS_COUNT; i++) {
|
||||||
if (memcmp((uint8_t *) PIC(ERC721_SELECTORS[i]), msg->selector, SELECTOR_SIZE) == 0) {
|
if (memcmp((uint8_t *) PIC(ERC721_SELECTORS[i]), msg->selector, SELECTOR_SIZE) == 0) {
|
||||||
context->selectorIndex = i;
|
context->selectorIndex = i;
|
||||||
break;
|
break;
|
||||||
@@ -33,7 +33,7 @@ static void handle_init_contract(void *parameters) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// No selector found.
|
// No selector found.
|
||||||
if (i == NUM_ERC721_SELECTORS) {
|
if (i == SELECTORS_COUNT) {
|
||||||
PRINTF("Unknown erc721 selector %.*H\n", SELECTOR_SIZE, msg->selector);
|
PRINTF("Unknown erc721 selector %.*H\n", SELECTOR_SIZE, msg->selector);
|
||||||
msg->result = ETH_PLUGIN_RESULT_FALLBACK;
|
msg->result = ETH_PLUGIN_RESULT_FALLBACK;
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -10,14 +10,13 @@
|
|||||||
|
|
||||||
// Internal plugin for EIP 721: https://eips.ethereum.org/EIPS/eip-721
|
// Internal plugin for EIP 721: https://eips.ethereum.org/EIPS/eip-721
|
||||||
|
|
||||||
#define NUM_ERC721_SELECTORS 5
|
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
APPROVE,
|
APPROVE,
|
||||||
SET_APPROVAL_FOR_ALL,
|
SET_APPROVAL_FOR_ALL,
|
||||||
TRANSFER,
|
TRANSFER,
|
||||||
SAFE_TRANSFER,
|
SAFE_TRANSFER,
|
||||||
SAFE_TRANSFER_DATA,
|
SAFE_TRANSFER_DATA,
|
||||||
|
SELECTORS_COUNT
|
||||||
} erc721_selector_t;
|
} erc721_selector_t;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
|||||||
Reference in New Issue
Block a user