Support AccountDelete (#37)

- Fix https://github.com/ripple/ripple-binary-codec/issues/36
- Re-number transaction result codes
- Link reference for transaction types
This commit is contained in:
Elliot Lee
2019-12-14 22:34:14 -08:00
parent c6d01e4ce0
commit e1ec2f79e5
4 changed files with 222 additions and 58 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "ripple-binary-codec",
"version": "0.2.4",
"version": "0.3.0-rc1",
"description": "XRP Ledger binary codec",
"files": [
"distrib/npm/*",
@@ -47,7 +47,6 @@
"url": "https://github.com/ripple/ripple-binary-codec/issues"
},
"homepage": "https://github.com/ripple/ripple-binary-codec#readme",
"author": "ndudfield@gmail.com",
"license": "ISC",
"readmeFilename": "README.md"
}

View File

@@ -37,8 +37,13 @@ True unless the field is [specified with `SField::notSigning`](https://github.co
## Transaction Results
TODO
See:
- https://github.com/ripple/rippled/blob/develop/src/ripple/protocol/TER.h
- https://xrpl.org/transaction-results.html
TODO: Write a script to read rippled's source file and generate the necessary mapping.
## Transaction Types
TODO
See https://github.com/ripple/rippled/blob/develop/src/ripple/protocol/TxFormats.h

View File

@@ -1535,68 +1535,89 @@
]
],
"TRANSACTION_RESULTS": {
"telLOCAL_ERROR": -399,
"telBAD_DOMAIN": -398,
"telBAD_PATH_COUNT": -397,
"telBAD_PUBLIC_KEY": -396,
"telFAILED_PROCESSING": -395,
"telINSUF_FEE_P": -394,
"telNO_DST_PARTIAL": -393,
"temBAD_SRC_ACCOUNT": -281,
"tefPAST_SEQ": -189,
"terNO_ACCOUNT": -96,
"temREDUNDANT": -275,
"tefCREATED": -194,
"temDST_IS_SRC": -279,
"terRETRY": -99,
"temINVALID_FLAG": -276,
"telCAN_NOT_QUEUE": -392,
"telCAN_NOT_QUEUE_BALANCE": -391,
"telCAN_NOT_QUEUE_BLOCKS": -390,
"telCAN_NOT_QUEUE_BLOCKED": -389,
"telCAN_NOT_QUEUE_FEE": -388,
"telCAN_NOT_QUEUE_FULL": -387,
"temMALFORMED": -299,
"temBAD_AMOUNT": -298,
"temBAD_CURRENCY": -297,
"temBAD_EXPIRATION": -296,
"temBAD_FEE": -295,
"temBAD_ISSUER": -294,
"temBAD_LIMIT": -293,
"temBAD_OFFER": -292,
"temBAD_PATH": -291,
"temBAD_PATH_LOOP": -290,
"temBAD_REGKEY": -289,
"temBAD_SEND_XRP_LIMIT": -288,
"terNO_LINE": -94,
"tefBAD_AUTH": -196,
"temBAD_EXPIRATION": -295,
"temBAD_SEND_XRP_MAX": -287,
"temBAD_SEND_XRP_NO_DIRECT": -286,
"temBAD_SEND_XRP_PARTIAL": -285,
"temBAD_SEND_XRP_PATHS": -284,
"temBAD_SEQUENCE": -283,
"temBAD_SIGNATURE": -282,
"temBAD_SRC_ACCOUNT": -281,
"temBAD_TRANSFER_RATE": -280,
"temDST_IS_SRC": -279,
"temDST_NEEDED": -278,
"temINVALID": -277,
"temINVALID_FLAG": -276,
"temREDUNDANT": -275,
"temRIPPLE_EMPTY": -274,
"temDISABLED": -273,
"temBAD_SIGNER": -272,
"temBAD_QUORUM": -271,
"temBAD_WEIGHT": -270,
"temBAD_TICK_SIZE": -269,
"temINVALID_ACCOUNT_ID": -268,
"temCANNOT_PREAUTH_SELF": -267,
"temUNCERTAIN": -266,
"temUNKNOWN": -265,
"tefFAILURE": -199,
"tefALREADY": -198,
"tefBAD_ADD_AUTH": -197,
"tefBAD_AUTH": -196,
"tefBAD_LEDGER": -195,
"tefNO_AUTH_REQUIRED": -190,
"tefCREATED": -194,
"tefEXCEPTION": -193,
"tefINTERNAL": -192,
"tefNO_AUTH_REQUIRED": -191,
"tefPAST_SEQ": -190,
"tefWRONG_PRIOR": -189,
"tefMASTER_DISABLED": -188,
"tefMAX_LEDGER": -187,
"tefBAD_SIGNATURE": -186,
"tefBAD_QUORUM": -185,
"tefNOT_MULTI_SIGNING": -184,
"tefBAD_AUTH_MASTER": -183,
"tefINVARIANT_FAILED": -182,
"tefTOO_BIG": -181,
"terRETRY": -99,
"terFUNDS_SPENT": -98,
"terINSUF_FEE_B": -97,
"terNO_ACCOUNT": -96,
"terNO_AUTH": -95,
"terNO_LINE": -94,
"terOWNERS": -93,
"terPRE_SEQ": -92,
"terLAST": -91,
"terNO_RIPPLE": -90,
"temBAD_FEE": -294,
"terPRE_SEQ": -92,
"tefMASTER_DISABLED": -187,
"temBAD_CURRENCY": -296,
"tefDST_TAG_NEEDED": -193,
"temBAD_SIGNATURE": -282,
"tefFAILURE": -199,
"telBAD_PATH_COUNT": -397,
"temBAD_TRANSFER_RATE": -280,
"tefWRONG_PRIOR": -188,
"telBAD_DOMAIN": -398,
"temBAD_AMOUNT": -298,
"temBAD_AUTH_MASTER": -297,
"temBAD_LIMIT": -292,
"temBAD_ISSUER": -293,
"telBAD_PUBLIC_KEY": -396,
"tefBAD_ADD_AUTH": -197,
"temBAD_OFFER": -291,
"temBAD_SEND_XRP_PARTIAL": -285,
"temDST_NEEDED": -278,
"tefALREADY": -198,
"temUNCERTAIN": -272,
"telLOCAL_ERROR": -399,
"temREDUNDANT_SEND_MAX": -274,
"tefINTERNAL": -191,
"temBAD_PATH_LOOP": -289,
"tefEXCEPTION": -192,
"temRIPPLE_EMPTY": -273,
"telINSUF_FEE_P": -394,
"temBAD_SEQUENCE": -283,
"tefMAX_LEDGER": -186,
"terFUNDS_SPENT": -98,
"temBAD_SEND_XRP_MAX": -287,
"telFAILED_PROCESSING": -395,
"terINSUF_FEE_B": -97,
"terQUEUED": -89,
"tesSUCCESS": 0,
"temBAD_PATH": -290,
"temMALFORMED": -299,
"temUNKNOWN": -271,
"temINVALID": -277,
"terNO_AUTH": -95,
"temBAD_TICK_SIZE": -270,
"tecCLAIM": 100,
"tecPATH_PARTIAL": 101,
@@ -1633,10 +1654,13 @@
"tecINVARIANT_FAILED": 147,
"tecEXPIRED": 148,
"tecDUPLICATE": 149,
"tecKILLED": 150
"tecKILLED": 150,
"tecHAS_OBLIGATIONS": 151,
"tecTOO_SOON": 152
},
"TRANSACTION_TYPES": {
"Invalid": -1,
"Payment": 0,
"EscrowCreate": 1,
"EscrowFinish": 2,
@@ -1658,6 +1682,8 @@
"CheckCancel": 18,
"DepositPreauth": 19,
"TrustSet": 20,
"AccountDelete": 21,
"EnableAmendment": 100,
"SetFee": 101
}

View File

@@ -0,0 +1,134 @@
/**
* Quick script to re-number values
*/
const input = {
'temBAD_SEND_XRP_PATHS': -283,
'temBAD_SEQUENCE': -282,
'temBAD_SIGNATURE': -281,
'temBAD_SRC_ACCOUNT': -280,
'temBAD_TRANSFER_RATE': -279,
'temDST_IS_SRC': -278,
'temDST_NEEDED': -277,
'temINVALID': -276,
'temINVALID_FLAG': -275,
'temREDUNDANT': -274,
'temRIPPLE_EMPTY': -273,
'temDISABLED': -272,
'temBAD_SIGNER': -271,
'temBAD_QUORUM': -270,
'temBAD_WEIGHT': -269,
'temBAD_TICK_SIZE': -268,
'temINVALID_ACCOUNT_ID': -267,
'temCANNOT_PREAUTH_SELF': -266,
'temUNCERTAIN': -265,
'temUNKNOWN': -264,
'tefFAILURE': -199,
'tefALREADY': -198,
'tefBAD_ADD_AUTH': -197,
'tefBAD_AUTH': -196,
'tefBAD_LEDGER': -195,
'tefCREATED': -194,
'tefEXCEPTION': -193,
'tefINTERNAL': -192,
'tefNO_AUTH_REQUIRED': -191,
'tefPAST_SEQ': -190,
'tefWRONG_PRIOR': -189,
'tefMASTER_DISABLED': -188,
'tefMAX_LEDGER': -187,
'tefBAD_SIGNATURE': -186,
'tefBAD_QUORUM': -185,
'tefNOT_MULTI_SIGNING': -184,
'tefBAD_AUTH_MASTER': -183,
'tefINVARIANT_FAILED': -182,
'tefTOO_BIG': -181,
'terRETRY': -99,
'terFUNDS_SPENT': -98,
'terINSUF_FEE_B': -97,
'terNO_ACCOUNT': -96,
'terNO_AUTH': -95,
'terNO_LINE': -94,
'terOWNERS': -93,
'terPRE_SEQ': -92,
'terLAST': -91,
'terNO_RIPPLE': -90,
'terQUEUED': -89,
'tesSUCCESS': 0,
'tecCLAIM': 100,
'tecPATH_PARTIAL': 101,
'tecUNFUNDED_ADD': 102,
'tecUNFUNDED_OFFER': 103,
'tecUNFUNDED_PAYMENT': 104,
'tecFAILED_PROCESSING': 105,
'tecDIR_FULL': 121,
'tecINSUF_RESERVE_LINE': 122,
'tecINSUF_RESERVE_OFFER': 123,
'tecNO_DST': 124,
'tecNO_DST_INSUF_XRP': 125,
'tecNO_LINE_INSUF_RESERVE': 126,
'tecNO_LINE_REDUNDANT': 127,
'tecPATH_DRY': 128,
'tecUNFUNDED': 129,
'tecNO_ALTERNATIVE_KEY': 130,
'tecNO_REGULAR_KEY': 131,
'tecOWNERS': 132,
'tecNO_ISSUER': 133,
'tecNO_AUTH': 134,
'tecNO_LINE': 135,
'tecINSUFF_FEE': 136,
'tecFROZEN': 137,
'tecNO_TARGET': 138,
'tecNO_PERMISSION': 139,
'tecNO_ENTRY': 140,
'tecINSUFFICIENT_RESERVE': 141,
'tecNEED_MASTER_KEY': 142,
'tecDST_TAG_NEEDED': 143,
'tecINTERNAL': 144,
'tecOVERSIZE': 145,
'tecCRYPTOCONDITION_ERROR': 146,
'tecINVARIANT_FAILED': 147,
'tecEXPIRED': 148,
'tecDUPLICATE': 149,
'tecKILLED': 150,
'tecHAS_OBLIGATIONS': 151,
'tecTOO_SOON': 152
};
let starting_from_temBAD_SEND_XRP_PATHS = -284;
let starting_from_tefFAILURE = -199;
let starting_from_terRETRY = -99;
const tesSUCCESS = 0;
let starting_from_tecCLAIM = 100;
const starting_from_tecDIR_FULL = 121;
let previousKey = 'tem';
Object.keys(input).forEach(key => {
if (key.substring(0, 3) !== previousKey.substring(0, 3)) {
console.log();
previousKey = key;
}
if (key.substring(0, 3) === 'tem') {
console.log(` "${key}": ${starting_from_temBAD_SEND_XRP_PATHS++},`);
} else if (key.substring(0, 3) === 'tef') {
console.log(` "${key}": ${starting_from_tefFAILURE++},`);
} else if (key.substring(0, 3) === 'ter') {
console.log(` "${key}": ${starting_from_terRETRY++},`);
} else if (key.substring(0, 3) === 'tes') {
console.log(` "${key}": ${tesSUCCESS},`);
} else if (key.substring(0, 3) === 'tec') {
if (key === 'tecDIR_FULL') {
starting_from_tecCLAIM = starting_from_tecDIR_FULL;
}
console.log(` "${key}": ${starting_from_tecCLAIM++},`);
}
});