From 33f01147e37198fe3bd78041750d5bc4da49167c Mon Sep 17 00:00:00 2001 From: Denis Angell Date: Mon, 10 Apr 2023 19:42:06 +0000 Subject: [PATCH] (wip) add types --- hook/hookapi.h | 1 + hook/types.h | 239 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 240 insertions(+) create mode 100644 hook/types.h diff --git a/hook/hookapi.h b/hook/hookapi.h index 680af611a..9c2a430a1 100644 --- a/hook/hookapi.h +++ b/hook/hookapi.h @@ -45,5 +45,6 @@ #include "extern.h" #include "sfcodes.h" #include "macro.h" +#include "types.h" #endif diff --git a/hook/types.h b/hook/types.h new file mode 100644 index 000000000..7eb3df280 --- /dev/null +++ b/hook/types.h @@ -0,0 +1,239 @@ +#include + +// 8 byte-int = 1 bytes +#define SFL_CLOSERESOLUTION 1 +#define SFL_METHOD 1 +#define SFL_TRANSACTIONRESULT 1 +#define SFL_TICKSIZE 1 +#define SFL_UNLMODIFYDISABLING 1 +#define SFL_HOOKRESULT 1 +// 16 byte-int = 2 bytes +#define SFL_LEDGERENTRYTYPE 2 +#define SFL_TRANSACTIONTYPE 2 +#define SFL_SIGNERWEIGHT 2 +#define SFL_TRANSFERFEE 2 +#define SFL_VERSION 2 +#define SFL_HOOKSTATECHANGECOUNT 2 +#define SFL_HOOKEMITCOUNT 2 +#define SFL_HOOKEXECUTIONINDEX 2 +#define SFL_HOOKAPIVERSION 2 +// 32 byte-int = 4 bytes +#define SFL_NETWORKID 4 +#define SFL_FLAGS 4 +#define SFL_SOURCETAG 4 +#define SFL_SEQUENCE 4 +#define SFL_PREVIOUSTXNLGRSEQ 4 +#define SFL_LEDGERSEQUENCE 4 +#define SFL_CLOSETIME 4 +#define SFL_PARENTCLOSETIME 4 +#define SFL_SIGNINGTIME 4 +#define SFL_EXPIRATION 4 +#define SFL_TRANSFERRATE 4 +#define SFL_WALLETSIZE 4 +#define SFL_OWNERCOUNT 4 +#define SFL_DESTINATIONTAG 4 +#define SFL_HIGHQUALITYIN 4 +#define SFL_HIGHQUALITYOUT 4 +#define SFL_LOWQUALITYIN 4 +#define SFL_LOWQUALITYOUT 4 +#define SFL_QUALITYIN 4 +#define SFL_QUALITYOUT 4 +#define SFL_STAMPESCROW 4 +#define SFL_BONDAMOUNT 4 +#define SFL_LOADFEE 4 +#define SFL_OFFERSEQUENCE 4 +#define SFL_FIRSTLEDGERSEQUENCE 4 +#define SFL_LASTLEDGERSEQUENCE 4 +#define SFL_TRANSACTIONINDEX 4 +#define SFL_OPERATIONLIMIT 4 +#define SFL_REFERENCEFEEUNITS 4 +#define SFL_RESERVEBASE 4 +#define SFL_RESERVEINCREMENT 4 +#define SFL_SETFLAG 4 +#define SFL_CLEARFLAG 4 +#define SFL_SIGNERQUORUM 4 +#define SFL_CANCELAFTER 4 +#define SFL_FINISHAFTER 4 +#define SFL_SIGNERLISTID 4 +#define SFL_SETTLEDELAY 4 +#define SFL_TICKETCOUNT 4 +#define SFL_TICKETSEQUENCE 4 +#define SFL_NFTOKENTAXON 4 +#define SFL_MINTEDNFTOKENS 4 +#define SFL_BURNEDNFTOKENS 4 +#define SFL_HOOKSTATECOUNT 4 +#define SFL_EMITGENERATION 4 +#define SFL_LOCKCOUNT 4 +#define SFL_REWARDTIME 4 +#define SFL_REWARDLGRFIRST 4 +#define SFL_REWARDLGRLAST 4 +#define SFL_FIRSTNFTOKENSEQUENCE 4 +// 64 byte-int = 8 bytes +#define SFL_INDEX_NEXT 8 +#define SFL_INDEX_PREVIOUS 8 +#define SFL_BOOK_NODE 8 +#define SFL_OWNER_NODE 8 +#define SFL_BASE_FEE 8 +#define SFL_EXCHANGE_RATE 8 +#define SFL_LOW_NODE 8 +#define SFL_HIGH_NODE 8 +#define SFL_DESTINATION_NODE 8 +#define SFL_COOKIE 8 +#define SFL_SERVER_VERSION 8 +#define SFL_EMIT_BURDEN 8 +#define SFL_NFTOKEN_OFFER_NODE 8 +#define SFL_HOOK_INSTRUCTION_COUNT 8 +#define SFL_HOOK_RETURN_CODE 8 +#define SFL_REFERENCE_COUNT 8 +#define SFL_REWARD_ACCUMULATOR 8 +// 128 byte-int = 4 bytes +#define SFL_EMAIL_HASH 128 +// 160 byte-int = 4 bytes +#define SFL_TAKER_PAYS_CURRENCY 160 +#define SFL_TAKER_PAYS_ISSUER 160 +#define SFL_TAKER_GETS_CURRENCY 160 +#define SFL_TAKER_GETS_ISSUER 160 +// 256 byte-int = ??? bytes +#define SFL_LEDGER_HASH 256 +#define SFL_PARENT_HASH 256 +#define SFL_TRANSACTION_HASH 256 +#define SFL_ACCOUNT_HASH 256 +#define SFL_HOOK_ON 256 +#define SFL_PREVIOUS_TXN_ID 256 +#define SFL_LEDGER_INDEX 256 +#define SFL_WALLET_LOCATOR 256 +#define SFL_ROOT_INDEX 256 +#define SFL_ACCOUNT_TXN_ID 256 +#define SFL_NFTOKEN_ID 256 +#define SFL_EMIT_PARENT_TXN_ID 256 +#define SFL_EMIT_NONCE 256 +#define SFL_EMIT_HOOK_HASH 256 +// 256 byte-int = ??? bytes +#define SFL_BOOK_DIRECTORY 256 +#define SFL_INVOICE_ID 256 +#define SFL_NICKNAME 256 +#define SFL_AMENDMENT 256 +#define SFL_DIGEST 256 +#define SFL_CHANNEL 256 +#define SFL_CONSENSUS_HASH 256 +#define SFL_CHECK_ID 256 +#define SFL_VALIDATED_HASH 256 +#define SFL_PREVIOUS_PAGE_MIN 256 +#define SFL_NEXT_PAGE_MIN 256 +#define SFL_NFTOKEN_BUY_OFFER 256 +#define SFL_NFTOKEN_SELL_OFFER 256 +#define SFL_HOOK_STATE_KEY 256 +#define SFL_HOOK_HASH 256 +#define SFL_HOOK_NAMESPACE 256 +#define SFL_HOOK_SET_TXN_ID 256 +#define SFL_OFFER_ID 256 +#define SFL_ESCROW_ID 256 +#define SFL_URITOKEN_ID 256 +// 20 bytes +#define SFL_AMOUNT 20 +#define SFL_BALANCE 20 +#define SFL_LIMIT_AMOUNT 20 +#define SFL_TAKER_PAYS 20 +#define SFL_TAKER_GETS 20 +#define SFL_LOW_LIMIT 20 +#define SFL_HIGH_LIMIT 20 +#define SFL_FEE 20 +#define SFL_SEND_MAX 20 +#define SFL_DELIVER_MIN 20 +#define SFL_LOCKED_BALANCE 20 +// Unimplemented +#define SFL_AMOUNT_MINIMUM_OFFER 8 +#define SFL_AMOUNT_RIPPLE_ESCROW 8 +#define SFL_AMOUNT_DELIVERED_AMOUNT 8 +#define SFL_AMOUNT_NFTOKEN_BROKER_FEE 8 +#define SFL_AMOUNT_HOOK_CALLBACK_FEE 8 +#define SFL_AMOUNT_BASE_FEE_DROPS 8 +#define SFL_AMOUNT_RESERVE_BASE_DROPS 8 +#define SFL_AMOUNT_RESERVE_INCREMENT_DROPS 8 +// Unimplemented +#define SFL_VL_PUBLIC_KEY 64 +#define SFL_VL_MESSAGE_KEY 64 +#define SFL_VL_SIGNING_PUB_KEY 64 +// Unimplemented +#define SFL_VL_TXN_SIGNATURE 96 +// Unimplemented +#define SFL_VL_URI 256 +// Unimplemented +#define SFL_VL_SIGNATURE 96 +// Unimplemented +#define SFL_VL_DOMAIN 256 +#define SFL_VL_FUND_CODE 256 +#define SFL_VL_REMOVE_CODE 256 +#define SFL_VL_EXPIRE_CODE 256 +#define SFL_VL_CREATE_CODE 256 +#define SFL_VL_MEMO_TYPE 256 +#define SFL_VL_MEMO_DATA 256 +#define SFL_VL_MEMO_FORMAT 256 +#define SFL_VL_FULFILLMENT 256 +#define SFL_VL_CONDITION 256 +// Unimplemented +#define SFL_VL_MASTER_SIGNATURE 96 +// Unimplemented +#define SFL_VL_UNL_MODIFY_VALIDATOR 256 +#define SFL_VL_VALIDATOR_TO_DISABLE 256 +#define SFL_VL_VALIDATOR_TO_RE_ENABLE 256 +#define SFL_VL_HOOK_STATE_DATA 256 +#define SFL_VL_HOOK_RETURN_STRING 256 +#define SFL_VL_HOOK_PARAMETER_NAME 256 +#define SFL_VL_HOOK_PARAMETER_VALUE 256 +#define SFL_VL_BLOB 256 +// 20 bytes +#define SFL_ACCOUNT 20 +#define SFL_OWNER 20 +#define SFL_DESTINATION 20 +#define SFL_ISSUER 20 +#define SFL_AUTHORIZE 20 +#define SFL_UNAUTHORIZE 20 +#define SFL_REGULAR_KEY 20 +#define SFL_NFTOKEN_MINTER 20 +#define SFL_EMIT_CALLBACK 20 +#define SFL_HOOK_ACCOUNT 20 +#define SFL_NFTOKEN_MINTER 20 +// Unimplemented +#define SFL_PATHS 1 +// Unimplemented +#define SFL_VECTOR256_INDEXES 32 +#define SFL_VECTOR256_HASHES 32 +#define SFL_VECTOR256_AMENDMENTS 32 +#define SFL_VECTOR256_NFTOKEN_OFFERS 32 +#define SFL_VECTOR256_HOOK_NAMESPACES 32 +// Unimplemented +#define SFL_TRANSACTION_META_DATA 1 +#define SFL_CREATED_NODE 1 +#define SFL_DELETED_NODE 1 +#define SFL_MODIFIED_NODE 1 +#define SFL_PREVIOUS_FIELDS 1 +#define SFL_FINAL_FIELDS 1 +#define SFL_NEW_FIELDS 1 +#define SFL_TEMPLATE_ENTRY 1 +#define SFL_MEMO 1 +#define SFL_SIGNER_ENTRY 1 +#define SFL_NFTOKEN 1 +#define SFL_EMIT_DETAILS 1 +#define SFL_HOOK 1 +#define SFL_SIGNER 1 +#define SFL_MAJORITY 1 +#define SFL_DISABLED_VALIDATOR 1 +#define SFL_EMITTED_TXN 1 +#define SFL_HOOK_EXECUTION 1 +#define SFL_HOOK_DEFINITION 1 +#define SFL_HOOK_PARAMETER 1 +#define SFL_HOOK_GRANT 1 +#define SFL_SIGNERS 1 +#define SFL_SIGNER_ENTRIES 1 +#define SFL_TEMPLATE 1 +#define SFL_NECESSARY 1 +#define SFL_SUFFICIENT 1 +#define SFL_AFFECTED_NODES 1 +#define SFL_MEMOS 1 +#define SFL_NFTOKENS 1 +#define SFL_HOOKS 1 +#define SFL_MAJORITIES 1 +#define SFL_DISABLED_VALIDATORS 1 +#define SFL_HOOK_EXECUTIONS 1 +#define SFL_HOOK_EXECUTION 1 \ No newline at end of file