7 #define MC_AST_ASSET_REF_SIZE 10 8 #define MC_AST_ASSET_BUF_TOTAL_SIZE 22 9 #define MC_AST_SHORT_TXID_OFFSET 16 10 #define MC_AST_SHORT_TXID_SIZE 16 12 #define MC_AST_ASSET_BUFFER_REF_SIZE 32 13 #define MC_AST_ASSET_FULLREF_SIZE 36 14 #define MC_AST_ASSET_QUANTITY_OFFSET 36 15 #define MC_AST_ASSET_QUANTITY_SIZE 8 16 #define MC_AST_ASSET_FULLREF_BUF_SIZE 48 18 #define MC_AST_ASSET_REF_TYPE_REF 0 19 #define MC_AST_ASSET_REF_TYPE_SHORT_TXID 1 20 #define MC_AST_ASSET_REF_TYPE_TXID 2 22 #define MC_ENT_REF_SIZE 10 23 #define MC_ENT_REF_PREFIX_SIZE 2 24 #define MC_ENT_MAX_NAME_SIZE 32 25 #define MC_ENT_MAX_ITEM_KEY_SIZE 256 26 #define MC_ENT_MAX_SCRIPT_SIZE 4096 27 #define MC_ENT_MAX_FIXED_FIELDS_SIZE 128 28 #define MC_ENT_MAX_STORED_ISSUERS 128 29 #define MC_ENT_SCRIPT_ALLOC_SIZE 8192 // > MC_ENT_MAX_SCRIPT_SIZE + MC_ENT_MAX_FIXED_FIELDS_SIZE + 27*MC_ENT_MAX_STORED_ISSUERS 31 #define MC_ENT_KEY_SIZE 32 32 #define MC_ENT_KEYTYPE_TXID 0x00000001 33 #define MC_ENT_KEYTYPE_REF 0x00000002 34 #define MC_ENT_KEYTYPE_NAME 0x00000003 35 #define MC_ENT_KEYTYPE_SHORT_TXID 0x00000004 36 #define MC_ENT_KEYTYPE_MASK 0x000000FF 37 #define MC_ENT_KEYTYPE_FOLLOW_ON 0x00000100 39 #define MC_ENT_TYPE_ANY 0xFF 40 #define MC_ENT_TYPE_NONE 0x00 41 #define MC_ENT_TYPE_ASSET 0x01 42 #define MC_ENT_TYPE_STREAM 0x02 43 #define MC_ENT_TYPE_STREAM_MAX 0x0F 44 #define MC_ENT_TYPE_UPGRADE 0x10 45 #define MC_ENT_TYPE_MAX 0x10 47 #define MC_ENT_SPRM_NAME 0x01 48 #define MC_ENT_SPRM_FOLLOW_ONS 0x02 49 #define MC_ENT_SPRM_ISSUER 0x03 50 #define MC_ENT_SPRM_ANYONE_CAN_WRITE 0x04 51 #define MC_ENT_SPRM_JSON_DETAILS 0x05 52 #define MC_ENT_SPRM_ASSET_MULTIPLE 0x41 53 #define MC_ENT_SPRM_UPGRADE_PROTOCOL_VERSION 0x42 54 #define MC_ENT_SPRM_UPGRADE_START_BLOCK 0x43 60 unsigned char m_Key[MC_ENT_KEY_SIZE];
64 uint32_t m_ScriptSize;
66 uint32_t m_EntityType;
72 unsigned char m_Script[MC_ENT_SCRIPT_ALLOC_SIZE];
81 unsigned char m_Ref[MC_ENT_REF_SIZE];
82 unsigned char m_FullRef[MC_AST_ASSET_QUANTITY_OFFSET];
83 char m_Name[MC_ENT_MAX_NAME_SIZE+6];
85 unsigned char m_Reserved[36];
89 const char* GetName();
90 const unsigned char* GetTxID();
91 const unsigned char* GetRef();
92 const unsigned char* GetFullRef();
93 const unsigned char* GetShortRef();
94 const unsigned char* GetScript();
95 int IsUnconfirmedGenesis();
96 int GetAssetMultiple();
99 int AllowedFollowOns();
100 int AnyoneCanWrite();
101 int UpgradeProtocolVersion();
102 uint32_t UpgradeStartBlock();
103 uint64_t GetQuantity();
104 uint32_t GetEntityType();
105 const void* GetSpecialParam(uint32_t param,
size_t* bytes);
106 const void* GetParam(
const char *param,
size_t* bytes);
107 int32_t NextParam(uint32_t offset,uint32_t* param_value_start,
size_t *bytes);
110 uint32_t mc_GetABScriptType(
void *ptr);
111 void mc_SetABScriptType(
void *ptr,uint32_t type);
112 uint32_t mc_GetABRefType(
void *ptr);
113 void mc_SetABRefType(
void *ptr,uint32_t type);
114 int64_t mc_GetABQuantity(
void *ptr);
115 void mc_SetABQuantity(
void *ptr,int64_t quantity);
117 void mc_InitABufferDefault(
mc_Buffer *buf);
120 static int m_AssetRefSize = MC_AST_SHORT_TXID_SIZE;