[TASK] set binary as default for commands that accept the flag

This commit is contained in:
Bo Chen
2015-01-16 14:09:27 -08:00
parent 3498dea18c
commit 7cb113fcbc
9 changed files with 2274 additions and 163 deletions

View File

@@ -1037,6 +1037,52 @@ Remote.prototype.requestLedgerCurrent = function(callback) {
return new Request(this, 'ledger_current').callback(callback); return new Request(this, 'ledger_current').callback(callback);
}; };
/**
* Request ledger_data
*
* Get the contents of a specified ledger
*
* @param {Object} options
* @property {Boolean} [options.binary] - Flag which determines if rippled returns binary or parsed JSON
* @property {String|Number} [options.ledger] - Hash or sequence of a ledger to get contents for
* @property {Number} [options.limit] - Number of contents to retrieve from the ledger
* @property {Function} callback
*
* @callback
* @param {Error} error
* @param {LedgerData} ledgerData
*
* @return {Request} request
*/
Remote.prototype.requestLedgerData = function(options, callback) {
var request = new Request(this, 'ledger_data');
request.message.binary = options.binary !== false;
request.selectLedger(options.ledger);
request.message.limit = options.limit;
request.once('success', function(res) {
if (options.binary === false) {
request.emit('state', res);
return;
}
async.mapSeries(res.state, function(ledgerData, next) {
async.setImmediate(function() {
next(null, Remote.parseBinaryLedgerData(ledgerData));
});
}, function(err, state) {
res.state = state;
request.emit('state', res);
});
});
request.callback(callback, 'state');
return request;
};
/** /**
* Request ledger_entry * Request ledger_entry
* *
@@ -1201,17 +1247,40 @@ Remote.prototype.requestTransactionEntry = function(hash, ledgerHash, callback)
/** /**
* Request tx * Request tx
* *
* @param {String} transaction hash * @param {Object|String} hash
* @property {String} hash.hash - Transaction hash
* @property {Boolean} [hash.binary=true] - Flag which determines if rippled returns binary or parsed JSON
* @param [Function] callback * @param [Function] callback
* @return {Request} request * @return {Request} request
*/ */
Remote.prototype.requestTransaction = Remote.prototype.requestTransaction =
Remote.prototype.requestTx = function(hash, callback) { Remote.prototype.requestTx = function(hash, callback) {
var options;
if (typeof hash === 'string') {
options = {
hash: hash
}
} else {
options = hash;
}
var request = new Request(this, 'tx'); var request = new Request(this, 'tx');
request.message.transaction = hash; request.message.binary = options.binary !== false;
request.callback(callback); request.message.transaction = options.hash;
request.once('success', function(res) {
if (options.binary === false) {
request.emit('transaction', res);
return;
}
request.emit('transaction', Remote.parseBinaryTransaction(res));
});
request.callback(callback, 'transaction');
return request; return request;
}; };
@@ -1387,16 +1456,15 @@ Remote.prototype.requestAccountOffers = function(options, callback) {
* Request account_tx * Request account_tx
* *
* @param {Object} options * @param {Object} options
* * @property {String} options.account
* @param {String} account * @property {Number} options.ledger_index_min - Defaults to -1 if ledger_index_max is specified.
* @param [Number] ledger_index_min defaults to -1 if ledger_index_max is specified. * @property {Number} options.ledger_index_max - Defaults to -1 if ledger_index_min is specified.
* @param [Number] ledger_index_max defaults to -1 if ledger_index_min is specified. * @property {Boolean} options.binary - Defaults to true
* @param [Boolean] binary, defaults to false * @property {Boolean} options.parseBinary - Defaults to true
* @param [Boolean] parseBinary, defaults to true * @property {Boolean} options.count - Defaults to false
* @param [Boolean] count, defaults to false * @property {Boolean} options.descending - Defaults to false
* @param [Boolean] descending, defaults to false * @property {Number} options.offset - Defaults to 0
* @param [Number] offset, defaults to 0 * @property {Number} options.limit
* @param [Number] limit
* *
* @param [Function] callback * @param [Function] callback
* @return {Request} * @return {Request}
@@ -1409,6 +1477,8 @@ Remote.prototype.requestAccountTx = function(options, callback) {
var request = new Request(this, 'account_tx'); var request = new Request(this, 'account_tx');
options.binary = options.binary !== false;
if (options.min_ledger !== void(0)) { if (options.min_ledger !== void(0)) {
options.ledger_index_min = options.min_ledger; options.ledger_index_min = options.min_ledger;
} }
@@ -1448,7 +1518,7 @@ Remote.prototype.requestAccountTx = function(options, callback) {
async.mapSeries(res.transactions, function(transaction, next) { async.mapSeries(res.transactions, function(transaction, next) {
async.setImmediate(function() { async.setImmediate(function() {
next(null, Remote.parseBinaryTransaction(transaction)); next(null, Remote.parseBinaryAccountTransaction(transaction));
}); });
}, function(err, transactions) { }, function(err, transactions) {
res.transactions = transactions; res.transactions = transactions;
@@ -1466,22 +1536,71 @@ Remote.prototype.requestAccountTx = function(options, callback) {
* @return {Transaction} * @return {Transaction}
*/ */
Remote.parseBinaryTransaction = function(transaction) { Remote.parseBinaryAccountTransaction = function(transaction) {
var tx_obj = new SerializedObject(transaction.tx_blob); var tx_obj = new SerializedObject(transaction.tx_blob);
var meta = new SerializedObject(transaction.meta); var tx_obj_json = tx_obj.to_json();
var meta = new SerializedObject(transaction.meta).to_json();
var tx_result = { var tx_result = {
validated: transaction.validated, validated: transaction.validated
ledger_index: transaction.ledger_index
}; };
tx_result.meta = meta.to_json(); tx_result.meta = meta;
tx_result.tx = tx_obj.to_json(); tx_result.tx = tx_obj_json;
tx_result.tx.hash = tx_obj.hash(hashprefixes.HASH_TX_ID).to_hex(); tx_result.tx.hash = tx_obj.hash(hashprefixes.HASH_TX_ID).to_hex();
tx_result.tx.ledger_index = transaction.ledger_index;
tx_result.tx.inLedger = transaction.ledger_index;
if (typeof meta.DeliveredAmount === 'object') {
tx_result.meta.delivered_amount = meta.DeliveredAmount;
} else if (typeof tx_obj_json.Amount === 'string' || typeof tx_obj_json.Amount === 'object') {
tx_result.meta.delivered_amount = tx_obj_json.Amount;
}
return tx_result; return tx_result;
}; };
Remote.parseBinaryTransaction = function(transaction) {
var tx_obj = new SerializedObject(transaction.tx).to_json();
var meta = new SerializedObject(transaction.meta).to_json();
var tx_result = tx_obj;
tx_result.date = transaction.date;
tx_result.hash = transaction.hash;
tx_result.inLedger = transaction.inLedger;
tx_result.ledger_index = transaction.ledger_index;
tx_result.meta = meta;
tx_result.validated = transaction.validated;
if (typeof meta.DeliveredAmount === 'object') {
tx_result.meta.delivered_amount = meta.DeliveredAmount;
} else if (typeof tx_obj.Amount === 'string' || typeof tx_obj.Amount === 'object') {
tx_result.meta.delivered_amount = tx_obj.Amount;
}
return tx_result;
};
/**
* Parse binary ledger state data
*
* @param {Object} ledgerData
* @property {String} ledgerData.data
* @property {String} ledgerData.index
*
* @return {State}
*/
Remote.parseBinaryLedgerData = function(ledgerData) {
var data = new SerializedObject(ledgerData.data);
var state = data.to_json();
state.index = ledgerData.index;
return state;
};
/** /**
* Request the overall transaction history. * Request the overall transaction history.
* *

View File

@@ -210,7 +210,7 @@ SerializedObject.jsonify_structure = function(structure, field_name) {
if (typeof structure.to_json === 'function') { if (typeof structure.to_json === 'function') {
output = structure.to_json(); output = structure.to_json();
} else if (structure instanceof BigInteger) { } else if (structure instanceof BigInteger) {
output = structure.toString(16).toUpperCase(); output = ('0000000000000000' + structure.toString(16).toUpperCase()).slice(-16);
} else { } else {
//new Array or Object //new Array or Object
output = new structure.constructor(); output = new structure.constructor();

View File

@@ -234,6 +234,7 @@ var STInt64 = exports.Int64 = new SerializedType({
// pessimistic numeric fraek. What doth lief? // pessimistic numeric fraek. What doth lief?
var result = new BigInteger([0].concat(bytes), 256); var result = new BigInteger([0].concat(bytes), 256);
assert(result instanceof BigInteger); assert(result instanceof BigInteger);
return result; return result;
} }
}); });
@@ -541,6 +542,7 @@ var STPathSet = exports.PathSet = new SerializedType({
//It's an entry-begin tag. //It's an entry-begin tag.
//console.log('It's an entry-begin tag.'); //console.log('It's an entry-begin tag.');
var entry = {}; var entry = {};
var type = 0;
if (tag_byte & this.typeAccount) { if (tag_byte & this.typeAccount) {
//console.log('entry.account'); //console.log('entry.account');
@@ -548,6 +550,7 @@ var STPathSet = exports.PathSet = new SerializedType({
console.log('BTA:', bta);*/ console.log('BTA:', bta);*/
entry.account = STHash160.parse(so); entry.account = STHash160.parse(so);
entry.account.set_version(Base.VER_ACCOUNT_ID); entry.account.set_version(Base.VER_ACCOUNT_ID);
type = type | this.typeAccount;
} }
if (tag_byte & this.typeCurrency) { if (tag_byte & this.typeCurrency) {
//console.log('entry.currency'); //console.log('entry.currency');
@@ -555,6 +558,7 @@ var STPathSet = exports.PathSet = new SerializedType({
if (entry.currency.to_json() === 'XRP' && !entry.currency.is_native()) { if (entry.currency.to_json() === 'XRP' && !entry.currency.is_native()) {
entry.non_native = true; entry.non_native = true;
} }
type = type | this.typeCurrency;
} }
if (tag_byte & this.typeIssuer) { if (tag_byte & this.typeIssuer) {
//console.log('entry.issuer'); //console.log('entry.issuer');
@@ -562,9 +566,14 @@ var STPathSet = exports.PathSet = new SerializedType({
// Enable and set correct type of base-58 encoding // Enable and set correct type of base-58 encoding
entry.issuer.set_version(Base.VER_ACCOUNT_ID); entry.issuer.set_version(Base.VER_ACCOUNT_ID);
//console.log('DONE WITH ISSUER!'); //console.log('DONE WITH ISSUER!');
type = type | this.typeIssuer;
} }
if (entry.account || entry.currency || entry.issuer) { if (entry.account || entry.currency || entry.issuer) {
entry.type = type;
entry.type_hex = ("000000000000000" + type.toString(16)).slice(-16);
current_path.push(entry); current_path.push(entry);
} else { } else {
throw new Error('Invalid path entry'); //It must have at least something in it. throw new Error('Invalid path entry'); //It must have at least something in it.
@@ -674,7 +683,11 @@ var STMemo = exports.STMemo = new SerializedType({
} }
if (output['MemoType'] !== void(0)) { if (output['MemoType'] !== void(0)) {
output['parsed_memo_type'] = convertHexToString(output['MemoType']); var parsedType = convertHexToString(output['MemoType']);
if (parsedType !== 'unformatted_memo') {
output['parsed_memo_type'] = convertHexToString(output['MemoType']);
}
} }
if (output['MemoFormat'] !== void(0)) { if (output['MemoFormat'] !== void(0)) {

View File

@@ -0,0 +1,797 @@
{
"OfferCreate": {
"binary": {
"ledger_index": 10983428,
"meta": "201C00000000F8E311006F561C0662854F6571DD28392C1AF031757BDF2BC0E62C190ABE0BC22C46A2E443FDE824000263F550107B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04D40AEE52AE0064400000032A0D8DB065D4838D7EA4C6800000000000000000000000000042544300000000000A20B3C85F482532A9578DBB3950B85CA06594D1811473DFB1F8FDE93B1E301897694F0DDE56516BDC40E1E1E51100645642EE066C2D6E683C6FDC95C3C0EF88B3D7C10E31E9D98060F517F18AD98217DFE722000000005842EE066C2D6E683C6FDC95C3C0EF88B3D7C10E31E9D98060F517F18AD98217DF821473DFB1F8FDE93B1E301897694F0DDE56516BDC40E1E1E4110064567B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04CE166242F400E72200000000365F04CE166242F400587B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04CE166242F40001110000000000000000000000000000000000000000021100000000000000000000000000000000000000000311000000000000000000000000425443000000000004110A20B3C85F482532A9578DBB3950B85CA06594D1E1E1E3110064567B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04D40AEE52AE00E8365F04D40AEE52AE00587B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04D40AEE52AE000311000000000000000000000000425443000000000004110A20B3C85F482532A9578DBB3950B85CA06594D1E1E1E411006F56CDD61BD2DF2ADF53D0C05C171E2C8D48337BFE63868497BC30C5DCF2D0A03AFFE7220000000024000263E72500A79550330000000000000000340000000000000000550F60460F66E991AE6D77C50435E7FF8915453D411B6E43B38AC6410113B06CDC50107B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04CE166242F400644000000326266D2065D4838D7EA4C6800000000000000000000000000042544300000000000A20B3C85F482532A9578DBB3950B85CA06594D1811473DFB1F8FDE93B1E301897694F0DDE56516BDC40E1E1E51100612500A7974E55329262FE69DD4F191AF0CE075489E7B7BDD273EC5528531D8184E1A73E76B7D356E0A052DA53A0D6F6C16422D206D4E38862ED7A13AE90ED0EF5ED09353C2A7A94E624000263F56240000005F01B0F39E1E7220000000024000263F62D000000096240000005F01AE829811473DFB1F8FDE93B1E301897694F0DDE56516BDC40E1E1F1031000",
"tx_blob": "120007228000000024000263F52019000263E764400000032A0D8DB065D4838D7EA4C6800000000000000000000000000042544300000000000A20B3C85F482532A9578DBB3950B85CA06594D1684000000000002710732103CDF7533BF6B6DE8C1AEFC1F2F776F8EDAE08D88C6E1F9B69535D9CDDF3071029744630440220153DDCA438981E498EF3AF383845F74B2CC20602FD1E20546A067C68D026DE6502207E4ECB4A23FFBC274CE0C2D08131F26FDDB6240B2A701C8E49410E0F18595053811473DFB1F8FDE93B1E301897694F0DDE56516BDC40",
"validated": true
},
"parsed": {
"validated": true,
"meta": {
"TransactionIndex": 0,
"AffectedNodes": [
{
"CreatedNode": {
"LedgerEntryType": "Offer",
"LedgerIndex": "1C0662854F6571DD28392C1AF031757BDF2BC0E62C190ABE0BC22C46A2E443FD",
"NewFields": {
"Sequence": 156661,
"BookDirectory": "7B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04D40AEE52AE00",
"TakerPays": "13590433200",
"TakerGets": {
"value": "1",
"currency": "BTC",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B"
},
"Account": "rBZgggUbdV7wHF1d7BRu1BLsxQqKHX3SN4"
}
}
},
{
"ModifiedNode": {
"LedgerEntryType": "DirectoryNode",
"LedgerIndex": "42EE066C2D6E683C6FDC95C3C0EF88B3D7C10E31E9D98060F517F18AD98217DF",
"FinalFields": {
"Flags": 0,
"RootIndex": "42EE066C2D6E683C6FDC95C3C0EF88B3D7C10E31E9D98060F517F18AD98217DF",
"Owner": "rBZgggUbdV7wHF1d7BRu1BLsxQqKHX3SN4"
}
}
},
{
"DeletedNode": {
"LedgerEntryType": "DirectoryNode",
"LedgerIndex": "7B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04CE166242F400",
"FinalFields": {
"Flags": 0,
"ExchangeRate": "5F04CE166242F400",
"RootIndex": "7B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04CE166242F400",
"TakerPaysCurrency": "0000000000000000000000000000000000000000",
"TakerPaysIssuer": "0000000000000000000000000000000000000000",
"TakerGetsCurrency": "0000000000000000000000004254430000000000",
"TakerGetsIssuer": "0A20B3C85F482532A9578DBB3950B85CA06594D1"
}
}
},
{
"CreatedNode": {
"LedgerEntryType": "DirectoryNode",
"LedgerIndex": "7B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04D40AEE52AE00",
"NewFields": {
"ExchangeRate": "5F04D40AEE52AE00",
"RootIndex": "7B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04D40AEE52AE00",
"TakerGetsCurrency": "0000000000000000000000004254430000000000",
"TakerGetsIssuer": "0A20B3C85F482532A9578DBB3950B85CA06594D1"
}
}
},
{
"DeletedNode": {
"LedgerEntryType": "Offer",
"LedgerIndex": "CDD61BD2DF2ADF53D0C05C171E2C8D48337BFE63868497BC30C5DCF2D0A03AFF",
"FinalFields": {
"Flags": 0,
"Sequence": 156647,
"PreviousTxnLgrSeq": 10982736,
"BookNode": "0000000000000000",
"OwnerNode": "0000000000000000",
"PreviousTxnID": "0F60460F66E991AE6D77C50435E7FF8915453D411B6E43B38AC6410113B06CDC",
"BookDirectory": "7B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04CE166242F400",
"TakerPays": "13524954400",
"TakerGets": {
"value": "1",
"currency": "BTC",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B"
},
"Account": "rBZgggUbdV7wHF1d7BRu1BLsxQqKHX3SN4"
}
}
},
{
"ModifiedNode": {
"LedgerEntryType": "AccountRoot",
"PreviousTxnLgrSeq": 10983246,
"PreviousTxnID": "329262FE69DD4F191AF0CE075489E7B7BDD273EC5528531D8184E1A73E76B7D3",
"LedgerIndex": "E0A052DA53A0D6F6C16422D206D4E38862ED7A13AE90ED0EF5ED09353C2A7A94",
"PreviousFields": {
"Sequence": 156661,
"Balance": "25503141689"
},
"FinalFields": {
"Flags": 0,
"Sequence": 156662,
"OwnerCount": 9,
"Balance": "25503131689",
"Account": "rBZgggUbdV7wHF1d7BRu1BLsxQqKHX3SN4"
}
}
}
],
"TransactionResult": "tesSUCCESS"
},
"tx": {
"TransactionType": "OfferCreate",
"Flags": 2147483648,
"Sequence": 156661,
"OfferSequence": 156647,
"TakerPays": "13590433200",
"TakerGets": {
"value": "1",
"currency": "BTC",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B"
},
"Fee": "10000",
"SigningPubKey": "03CDF7533BF6B6DE8C1AEFC1F2F776F8EDAE08D88C6E1F9B69535D9CDDF3071029",
"TxnSignature": "30440220153DDCA438981E498EF3AF383845F74B2CC20602FD1E20546A067C68D026DE6502207E4ECB4A23FFBC274CE0C2D08131F26FDDB6240B2A701C8E49410E0F18595053",
"Account": "rBZgggUbdV7wHF1d7BRu1BLsxQqKHX3SN4",
"hash": "3CC8ED34260911194E8E30543D70A6DF04D3DABC746A546DAED32D22496B478C",
"inLedger": 10983428,
"ledger_index": 10983428
}
}
},
"PartialPayment": {
"binary": {
"ledger_index": 11234994,
"meta": "201C000000126012D4038D7EA4C680010000000000000000000000005553440000000000625E2F1F09A0D769E05C04FAA64F0D2013306C6AF8E51100612500AB6DED55D6405F3E92213763D9AA7270C0CC940864EFEB7CC6A95723E9BC4F33486994A75653539B9154C83B7D657103C27ABCA0EF1AD3674F6D0B341F20710FC50EC4DC03E6240000016962400000C7C1B0629EE1E72200000000240000016A2D0000001662400000C7C1B033BE8114E81DCB25DAA1DDEFF45145D334C56F12EA63C337E1E1E51100722500AB6DED55D6405F3E92213763D9AA7270C0CC940864EFEB7CC6A95723E9BC4F33486994A7565A9CDBCBDB64CD58DCD79A352E749EE48D6ACCE258F580F01FE326B31EB023DEE66294CDB50C7C41DBBA0000000000000000000000004A505900000000000000000000000000000000000000000000000001E1E722000200003700000000000000433800000000000000006294CD472C93E8BFBD0000000000000000000000004A5059000000000000000000000000000000000000000000000000016680000000000000000000000000000000000000004A50590000000000E5C92828261DBAAC933B6309C6F5C72AF020AFD46780000000000000000000000000000000000000004A50590000000000E81DCB25DAA1DDEFF45145D334C56F12EA63C337E1E1E511006F2500AB6DED55D6405F3E92213763D9AA7270C0CC940864EFEB7CC6A95723E9BC4F33486994A7566CD06C01787F1F75688E5C4CE84E83B73ADC1647EC0A2761D553DA776564D1BBE664D5844871834DEC610000000000000000000000004A50590000000000E5C92828261DBAAC933B6309C6F5C72AF020AFD465D4E3860923E65C0000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D1E1E72200020000240000DFA82A1C51809E33000000000000000034000000000000062D50103B95C29205977C2136BBC70F21895F8C8F471C8522BF446E5704488DA40C79F964D5844855628F5EC90000000000000000000000004A50590000000000E5C92828261DBAAC933B6309C6F5C72AF020AFD465D4E3851FD80BB80000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D1811488F647BBEC01AE19BE070B8B91063D14CE77F523E1E1E51100722500AB6DED55D6405F3E92213763D9AA7270C0CC940864EFEB7CC6A95723E9BC4F33486994A756785D84438CD44D7BD8234721BC77022E2BE590E38F9AB73C6E3FBC190524EF26E662940E35FA931A000000000000000000000000000055534400000000000000000000000000000000000000000000000001E1E7220002000037000000000000027D380000000000000000629411C37937E080010000000000000000000000005553440000000000000000000000000000000000000000000000000166800000000000000000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D167D503E871B540C0000000000000000000000000005553440000000000625E2F1F09A0D769E05C04FAA64F0D2013306C6AE1E1E51100722500AB6E1455E6190463C940CFE3D75B031D95768F55F8F5E163EEB460AE6ED003784FDBC06B567A12DF691E1E8039D53278D20D7CDC88D2C585DDBC4A769CD377CD8FF5C7E6A0E6629544C2582DF5BB4000000000000000000000000055534400000000000000000000000000000000000000000000000001E1E72200220000370000000000000288380000000000000000629544C255D8B8AA400000000000000000000000005553440000000000000000000000000000000000000000000000000166800000000000000000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D167D5438D7EA4C68000000000000000000000000000555344000000000088F647BBEC01AE19BE070B8B91063D14CE77F523E1E1E51100722500AB6DED55D6405F3E92213763D9AA7270C0CC940864EFEB7CC6A95723E9BC4F33486994A756ADB3988C0EF801FF788E40AFA5EA28FBF5C6943C65F4651DDA411881E7FBBACFE662D5C3F42A882475860000000000000000000000004A505900000000000000000000000000000000000000000000000001E1E7220011000020123B9ACA0037000000000000000038000000000000004662D5C3F42D583783AE0000000000000000000000004A50590000000000000000000000000000000000000000000000000166D5CAA87BEE5380000000000000000000000000004A5059000000000088F647BBEC01AE19BE070B8B91063D14CE77F5236780000000000000000000000000000000000000004A50590000000000E5C92828261DBAAC933B6309C6F5C72AF020AFD4E1E1F1031000",
"tx_blob": "12000022800200002400000169201B00AB6EB461D4838D7EA4C680000000000000000000000000005553440000000000625E2F1F09A0D769E05C04FAA64F0D2013306C6A684000000000002EE069D4844ABF137B17EA0000000000000000000000004A50590000000000E81DCB25DAA1DDEFF45145D334C56F12EA63C337732102AC2A11C997C04EC6A4139E6189111F90E89D05F9A9DDC3E2CA459CEA89C539D374463044022010E0D6884B36694342958C4872D7BADB825F36E6972757870665DD49580949A30220475F4CEA2904D23148AF51F194973AC73BDB986DA94BD9DEF51A5BBB9D7426108114E81DCB25DAA1DDEFF45145D334C56F12EA63C3378314625E2F1F09A0D769E05C04FAA64F0D2013306C6A011201E5C92828261DBAAC933B6309C6F5C72AF020AFD43000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D1010A20B3C85F482532A9578DBB3950B85CA06594D1FF01E5C92828261DBAAC933B6309C6F5C72AF020AFD41000000000000000000000000000000000000000003000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D1010A20B3C85F482532A9578DBB3950B85CA06594D1FF01E5C92828261DBAAC933B6309C6F5C72AF020AFD4100000000000000000000000000000000000000000300000000000000000000000005553440000000000DD39C650A96EDA48334E70CC4A85B8B2E8502CD301DD39C650A96EDA48334E70CC4A85B8B2E8502CD3FF01E5C92828261DBAAC933B6309C6F5C72AF020AFD4300000000000000000000000005553440000000000DD39C650A96EDA48334E70CC4A85B8B2E8502CD301DD39C650A96EDA48334E70CC4A85B8B2E8502CD300",
"validated": true
},
"parsed": {
"meta": {
"AffectedNodes": [
{
"ModifiedNode": {
"FinalFields": {
"Account": "r4wKTbb8AX5kEhXDvHDvhunDqsLZnXGfL9",
"Balance": "857948042174",
"Flags": 0,
"OwnerCount": 22,
"Sequence": 362
},
"LedgerEntryType": "AccountRoot",
"LedgerIndex": "53539B9154C83B7D657103C27ABCA0EF1AD3674F6D0B341F20710FC50EC4DC03",
"PreviousFields": {
"Balance": "857948054174",
"Sequence": 361
},
"PreviousTxnID": "D6405F3E92213763D9AA7270C0CC940864EFEB7CC6A95723E9BC4F33486994A7",
"PreviousTxnLgrSeq": 11234797
}
},
{
"ModifiedNode": {
"FinalFields": {
"Balance": {
"currency": "JPY",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-37.37431482875837"
},
"Flags": 131072,
"HighLimit": {
"currency": "JPY",
"issuer": "r4wKTbb8AX5kEhXDvHDvhunDqsLZnXGfL9",
"value": "0"
},
"HighNode": "0000000000000000",
"LowLimit": {
"currency": "JPY",
"issuer": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"value": "0"
},
"LowNode": "0000000000000043"
},
"LedgerEntryType": "RippleState",
"LedgerIndex": "5A9CDBCBDB64CD58DCD79A352E749EE48D6ACCE258F580F01FE326B31EB023DE",
"PreviousFields": {
"Balance": {
"currency": "JPY",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-38.5823992616441"
}
},
"PreviousTxnID": "D6405F3E92213763D9AA7270C0CC940864EFEB7CC6A95723E9BC4F33486994A7",
"PreviousTxnLgrSeq": 11234797
}
},
{
"ModifiedNode": {
"FinalFields": {
"Account": "rDVBvAQScXrGRGnzrxRrcJPeNLeLeUTAqE",
"BookDirectory": "3B95C29205977C2136BBC70F21895F8C8F471C8522BF446E5704488DA40C79F9",
"BookNode": "0000000000000000",
"Expiration": 475103390,
"Flags": 131072,
"OwnerNode": "000000000000062D",
"Sequence": 57256,
"TakerGets": {
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"value": "99.97996"
},
"TakerPays": {
"currency": "JPY",
"issuer": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"value": "12054.31469825737"
}
},
"LedgerEntryType": "Offer",
"LedgerIndex": "6CD06C01787F1F75688E5C4CE84E83B73ADC1647EC0A2761D553DA776564D1BB",
"PreviousFields": {
"TakerGets": {
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"value": "99.98998"
},
"TakerPays": {
"currency": "JPY",
"issuer": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"value": "12055.52278269025"
}
},
"PreviousTxnID": "D6405F3E92213763D9AA7270C0CC940864EFEB7CC6A95723E9BC4F33486994A7",
"PreviousTxnLgrSeq": 11234797
}
},
{
"ModifiedNode": {
"FinalFields": {
"Balance": {
"currency": "USD",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-0.05000000000000001"
},
"Flags": 131072,
"HighLimit": {
"currency": "USD",
"issuer": "r9y3sFjvdnTMJff1j8k2dodJkwgtghpf1o",
"value": "110"
},
"HighNode": "0000000000000000",
"LowLimit": {
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"value": "0"
},
"LowNode": "000000000000027D"
},
"LedgerEntryType": "RippleState",
"LedgerIndex": "785D84438CD44D7BD8234721BC77022E2BE590E38F9AB73C6E3FBC190524EF26",
"PreviousFields": {
"Balance": {
"currency": "USD",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-0.04"
}
},
"PreviousTxnID": "D6405F3E92213763D9AA7270C0CC940864EFEB7CC6A95723E9BC4F33486994A7",
"PreviousTxnLgrSeq": 11234797
}
},
{
"ModifiedNode": {
"FinalFields": {
"Balance": {
"currency": "USD",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-1339.573870832192"
},
"Flags": 2228224,
"HighLimit": {
"currency": "USD",
"issuer": "rDVBvAQScXrGRGnzrxRrcJPeNLeLeUTAqE",
"value": "1000"
},
"HighNode": "0000000000000000",
"LowLimit": {
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"value": "0"
},
"LowNode": "0000000000000288"
},
"LedgerEntryType": "RippleState",
"LedgerIndex": "7A12DF691E1E8039D53278D20D7CDC88D2C585DDBC4A769CD377CD8FF5C7E6A0",
"PreviousFields": {
"Balance": {
"currency": "USD",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-1339.583890832192"
}
},
"PreviousTxnID": "E6190463C940CFE3D75B031D95768F55F8F5E163EEB460AE6ED003784FDBC06B",
"PreviousTxnLgrSeq": 11234836
}
},
{
"ModifiedNode": {
"FinalFields": {
"Balance": {
"currency": "JPY",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "111290.052087083"
},
"Flags": 1114112,
"HighLimit": {
"currency": "JPY",
"issuer": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"value": "0"
},
"HighNode": "0000000000000046",
"LowLimit": {
"currency": "JPY",
"issuer": "rDVBvAQScXrGRGnzrxRrcJPeNLeLeUTAqE",
"value": "300000"
},
"LowNode": "0000000000000000",
"LowQualityIn": 1000000000
},
"LedgerEntryType": "RippleState",
"LedgerIndex": "ADB3988C0EF801FF788E40AFA5EA28FBF5C6943C65F4651DDA411881E7FBBACF",
"PreviousFields": {
"Balance": {
"currency": "JPY",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "111288.8440026502"
}
},
"PreviousTxnID": "D6405F3E92213763D9AA7270C0CC940864EFEB7CC6A95723E9BC4F33486994A7",
"PreviousTxnLgrSeq": 11234797
}
}
],
"DeliveredAmount": {
"currency": "USD",
"issuer": "r9y3sFjvdnTMJff1j8k2dodJkwgtghpf1o",
"value": "0.01000000000000001"
},
"TransactionIndex": 18,
"TransactionResult": "tesSUCCESS",
"delivered_amount": {
"currency": "USD",
"issuer": "r9y3sFjvdnTMJff1j8k2dodJkwgtghpf1o",
"value": "0.01000000000000001"
}
},
"tx": {
"Account": "r4wKTbb8AX5kEhXDvHDvhunDqsLZnXGfL9",
"Amount": {
"currency": "USD",
"issuer": "r9y3sFjvdnTMJff1j8k2dodJkwgtghpf1o",
"value": "1"
},
"Destination": "r9y3sFjvdnTMJff1j8k2dodJkwgtghpf1o",
"Fee": "12000",
"Flags": 2147614720,
"LastLedgerSequence": 11234996,
"Paths": [
[
{
"account": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"type": 1,
"type_hex": "0000000000000001"
},
{
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"type": 48,
"type_hex": "0000000000000030"
},
{
"account": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"type": 1,
"type_hex": "0000000000000001"
}
],
[
{
"account": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"type": 1,
"type_hex": "0000000000000001"
},
{
"currency": "XRP",
"type": 16,
"type_hex": "0000000000000010"
},
{
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"type": 48,
"type_hex": "0000000000000030"
},
{
"account": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"type": 1,
"type_hex": "0000000000000001"
}
],
[
{
"account": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"type": 1,
"type_hex": "0000000000000001"
},
{
"currency": "XRP",
"type": 16,
"type_hex": "0000000000000010"
},
{
"currency": "USD",
"issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q",
"type": 48,
"type_hex": "0000000000000030"
},
{
"account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q",
"type": 1,
"type_hex": "0000000000000001"
}
],
[
{
"account": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"type": 1,
"type_hex": "0000000000000001"
},
{
"currency": "USD",
"issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q",
"type": 48,
"type_hex": "0000000000000030"
},
{
"account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q",
"type": 1,
"type_hex": "0000000000000001"
}
]
],
"SendMax": {
"currency": "JPY",
"issuer": "r4wKTbb8AX5kEhXDvHDvhunDqsLZnXGfL9",
"value": "1.208084432885738"
},
"Sequence": 361,
"SigningPubKey": "02AC2A11C997C04EC6A4139E6189111F90E89D05F9A9DDC3E2CA459CEA89C539D3",
"TransactionType": "Payment",
"TxnSignature": "3044022010E0D6884B36694342958C4872D7BADB825F36E6972757870665DD49580949A30220475F4CEA2904D23148AF51F194973AC73BDB986DA94BD9DEF51A5BBB9D742610",
"hash": "F1E35F73FC81BE1599FBEE184F39AC4168E4C181C7ED000137E9E3C62E18D8C6",
"inLedger": 11234994,
"ledger_index": 11234994
},
"validated": true
}
},
"Payment": {
"binary": {
"ledger_index": 11234797,
"meta": "201C00000003F8E51100612500AA666C55BDB03864DA53C51FE3981DAE091A72289F732FC8A5F3D16F74E7D2036246FA8D5653539B9154C83B7D657103C27ABCA0EF1AD3674F6D0B341F20710FC50EC4DC03E6240000016862400000C7C1B0917EE1E7220000000024000001692D0000001662400000C7C1B0629E8114E81DCB25DAA1DDEFF45145D334C56F12EA63C337E1E1E51100722500A0DB72559926ED5C3974070FCA9B3566B7FBF3BCB7C29FCD8A4435781A4AAAE5778576E5565A9CDBCBDB64CD58DCD79A352E749EE48D6ACCE258F580F01FE326B31EB023DEE66294CE22EC649AF7B70000000000000000000000004A505900000000000000000000000000000000000000000000000001E1E722000200003700000000000000433800000000000000006294CDB50C7C41DBBA0000000000000000000000004A5059000000000000000000000000000000000000000000000000016680000000000000000000000000000000000000004A50590000000000E5C92828261DBAAC933B6309C6F5C72AF020AFD46780000000000000000000000000000000000000004A50590000000000E81DCB25DAA1DDEFF45145D334C56F12EA63C337E1E1E511006F2500AB6CF9556E81745BB5DA1EB60C3FDB988EC5CDFE55AD493482F39A54A6AB66E149DB364B566CD06C01787F1F75688E5C4CE84E83B73ADC1647EC0A2761D553DA776564D1BBE664D584488DA40C79F90000000000000000000000004A50590000000000E5C92828261DBAAC933B6309C6F5C72AF020AFD465D5038D7EA4C6800000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D1E1E72200020000240000DFA82A1C51809E33000000000000000034000000000000062D50103B95C29205977C2136BBC70F21895F8C8F471C8522BF446E5704488DA40C79F964D5844871834DEC610000000000000000000000004A50590000000000E5C92828261DBAAC933B6309C6F5C72AF020AFD465D4E3860923E65C0000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D1811488F647BBEC01AE19BE070B8B91063D14CE77F523E1E1E51100722500A9FF9E5567550A7B0E398944B5528F678BCCA8A53C1356AF9C4FC8EE863B1CC83965C61A56785D84438CD44D7BD8234721BC77022E2BE590E38F9AB73C6E3FBC190524EF26E662940AA87BEE53800000000000000000000000000055534400000000000000000000000000000000000000000000000001E1E7220002000037000000000000027D38000000000000000062940E35FA931A00000000000000000000000000005553440000000000000000000000000000000000000000000000000166800000000000000000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D167D503E871B540C0000000000000000000000000005553440000000000625E2F1F09A0D769E05C04FAA64F0D2013306C6AE1E1E51100722500AB689E55ADE928FA078F53F269317B4FD8BF46C8953D381573BB80231BAC2EB3196DD74A567A12DF691E1E8039D53278D20D7CDC88D2C585DDBC4A769CD377CD8FF5C7E6A0E66295451D7C249ADC4000000000000000000000000055534400000000000000000000000000000000000000000000000001E1E722002200003700000000000002883800000000000000006295451D79CF5DCB400000000000000000000000005553440000000000000000000000000000000000000000000000000166800000000000000000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D167D5438D7EA4C68000000000000000000000000000555344000000000088F647BBEC01AE19BE070B8B91063D14CE77F523E1E1E51100722500AB4C9D55ECABF9CF633CF8FA6578A2C6430B3B9BA9611B8A31BC1730D222A6DD413B0CF156ADB3988C0EF801FF788E40AFA5EA28FBF5C6943C65F4651DDA411881E7FBBACFE662D5C3F427B811675E0000000000000000000000004A505900000000000000000000000000000000000000000000000001E1E7220011000020123B9ACA0037000000000000000038000000000000004662D5C3F42A882475860000000000000000000000004A50590000000000000000000000000000000000000000000000000166D5CAA87BEE5380000000000000000000000000004A5059000000000088F647BBEC01AE19BE070B8B91063D14CE77F5236780000000000000000000000000000000000000004A50590000000000E5C92828261DBAAC933B6309C6F5C72AF020AFD4E1E1F1031000",
"tx_blob": "12000022800200002400000168201B00AB6DEF61D4038D7EA4C680000000000000000000000000005553440000000000625E2F1F09A0D769E05C04FAA64F0D2013306C6A684000000000002EE069D491C37937E080000000000000000000000000004A50590000000000E81DCB25DAA1DDEFF45145D334C56F12EA63C337732102AC2A11C997C04EC6A4139E6189111F90E89D05F9A9DDC3E2CA459CEA89C539D37446304402204529AC13FDE2AF411F83DFCCCA1A41534C36A73EC56C00B822EF36B037F8D146022013A1EBC759497D9BB352263C50B49A3E8BD83FA174F6F66B1F095E820026E3588114E81DCB25DAA1DDEFF45145D334C56F12EA63C3378314625E2F1F09A0D769E05C04FAA64F0D2013306C6A011201E5C92828261DBAAC933B6309C6F5C72AF020AFD43000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D1010A20B3C85F482532A9578DBB3950B85CA06594D1FF01E5C92828261DBAAC933B6309C6F5C72AF020AFD41000000000000000000000000000000000000000003000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D1010A20B3C85F482532A9578DBB3950B85CA06594D1FF01E5C92828261DBAAC933B6309C6F5C72AF020AFD4100000000000000000000000000000000000000000300000000000000000000000005553440000000000DD39C650A96EDA48334E70CC4A85B8B2E8502CD301DD39C650A96EDA48334E70CC4A85B8B2E8502CD3FF01E5C92828261DBAAC933B6309C6F5C72AF020AFD4300000000000000000000000005553440000000000DD39C650A96EDA48334E70CC4A85B8B2E8502CD301DD39C650A96EDA48334E70CC4A85B8B2E8502CD300",
"validated": true
},
"parsed": {
"meta": {
"AffectedNodes": [
{
"ModifiedNode": {
"FinalFields": {
"Account": "r4wKTbb8AX5kEhXDvHDvhunDqsLZnXGfL9",
"Balance": "857948054174",
"Flags": 0,
"OwnerCount": 22,
"Sequence": 361
},
"LedgerEntryType": "AccountRoot",
"LedgerIndex": "53539B9154C83B7D657103C27ABCA0EF1AD3674F6D0B341F20710FC50EC4DC03",
"PreviousFields": {
"Balance": "857948066174",
"Sequence": 360
},
"PreviousTxnID": "BDB03864DA53C51FE3981DAE091A72289F732FC8A5F3D16F74E7D2036246FA8D",
"PreviousTxnLgrSeq": 11167340
}
},
{
"ModifiedNode": {
"FinalFields": {
"Balance": {
"currency": "JPY",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-38.5823992616441"
},
"Flags": 131072,
"HighLimit": {
"currency": "JPY",
"issuer": "r4wKTbb8AX5kEhXDvHDvhunDqsLZnXGfL9",
"value": "0"
},
"HighNode": "0000000000000000",
"LowLimit": {
"currency": "JPY",
"issuer": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"value": "0"
},
"LowNode": "0000000000000043"
},
"LedgerEntryType": "RippleState",
"LedgerIndex": "5A9CDBCBDB64CD58DCD79A352E749EE48D6ACCE258F580F01FE326B31EB023DE",
"PreviousFields": {
"Balance": {
"currency": "JPY",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-39.79048369452983"
}
},
"PreviousTxnID": "9926ED5C3974070FCA9B3566B7FBF3BCB7C29FCD8A4435781A4AAAE5778576E5",
"PreviousTxnLgrSeq": 10541938
}
},
{
"ModifiedNode": {
"FinalFields": {
"Account": "rDVBvAQScXrGRGnzrxRrcJPeNLeLeUTAqE",
"BookDirectory": "3B95C29205977C2136BBC70F21895F8C8F471C8522BF446E5704488DA40C79F9",
"BookNode": "0000000000000000",
"Expiration": 475103390,
"Flags": 131072,
"OwnerNode": "000000000000062D",
"Sequence": 57256,
"TakerGets": {
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"value": "99.98998"
},
"TakerPays": {
"currency": "JPY",
"issuer": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"value": "12055.52278269025"
}
},
"LedgerEntryType": "Offer",
"LedgerIndex": "6CD06C01787F1F75688E5C4CE84E83B73ADC1647EC0A2761D553DA776564D1BB",
"PreviousFields": {
"TakerGets": {
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"value": "100"
},
"TakerPays": {
"currency": "JPY",
"issuer": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"value": "12056.73086712313"
}
},
"PreviousTxnID": "6E81745BB5DA1EB60C3FDB988EC5CDFE55AD493482F39A54A6AB66E149DB364B",
"PreviousTxnLgrSeq": 11234553
}
},
{
"ModifiedNode": {
"FinalFields": {
"Balance": {
"currency": "USD",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-0.04"
},
"Flags": 131072,
"HighLimit": {
"currency": "USD",
"issuer": "r9y3sFjvdnTMJff1j8k2dodJkwgtghpf1o",
"value": "110"
},
"HighNode": "0000000000000000",
"LowLimit": {
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"value": "0"
},
"LowNode": "000000000000027D"
},
"LedgerEntryType": "RippleState",
"LedgerIndex": "785D84438CD44D7BD8234721BC77022E2BE590E38F9AB73C6E3FBC190524EF26",
"PreviousFields": {
"Balance": {
"currency": "USD",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-0.03"
}
},
"PreviousTxnID": "67550A7B0E398944B5528F678BCCA8A53C1356AF9C4FC8EE863B1CC83965C61A",
"PreviousTxnLgrSeq": 11141022
}
},
{
"ModifiedNode": {
"FinalFields": {
"Balance": {
"currency": "USD",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-1439.783890832192"
},
"Flags": 2228224,
"HighLimit": {
"currency": "USD",
"issuer": "rDVBvAQScXrGRGnzrxRrcJPeNLeLeUTAqE",
"value": "1000"
},
"HighNode": "0000000000000000",
"LowLimit": {
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"value": "0"
},
"LowNode": "0000000000000288"
},
"LedgerEntryType": "RippleState",
"LedgerIndex": "7A12DF691E1E8039D53278D20D7CDC88D2C585DDBC4A769CD377CD8FF5C7E6A0",
"PreviousFields": {
"Balance": {
"currency": "USD",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-1439.793910832192"
}
},
"PreviousTxnID": "ADE928FA078F53F269317B4FD8BF46C8953D381573BB80231BAC2EB3196DD74A",
"PreviousTxnLgrSeq": 11233438
}
},
{
"ModifiedNode": {
"FinalFields": {
"Balance": {
"currency": "JPY",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "111288.8440026502"
},
"Flags": 1114112,
"HighLimit": {
"currency": "JPY",
"issuer": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"value": "0"
},
"HighNode": "0000000000000046",
"LowLimit": {
"currency": "JPY",
"issuer": "rDVBvAQScXrGRGnzrxRrcJPeNLeLeUTAqE",
"value": "300000"
},
"LowNode": "0000000000000000",
"LowQualityIn": 1000000000
},
"LedgerEntryType": "RippleState",
"LedgerIndex": "ADB3988C0EF801FF788E40AFA5EA28FBF5C6943C65F4651DDA411881E7FBBACF",
"PreviousFields": {
"Balance": {
"currency": "JPY",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "111287.6359182174"
}
},
"PreviousTxnID": "ECABF9CF633CF8FA6578A2C6430B3B9BA9611B8A31BC1730D222A6DD413B0CF1",
"PreviousTxnLgrSeq": 11226269
}
}
],
"TransactionIndex": 3,
"TransactionResult": "tesSUCCESS",
"delivered_amount": {
"currency": "USD",
"issuer": "r9y3sFjvdnTMJff1j8k2dodJkwgtghpf1o",
"value": "0.01"
}
},
"tx": {
"Account": "r4wKTbb8AX5kEhXDvHDvhunDqsLZnXGfL9",
"Amount": {
"currency": "USD",
"issuer": "r9y3sFjvdnTMJff1j8k2dodJkwgtghpf1o",
"value": "0.01"
},
"Destination": "r9y3sFjvdnTMJff1j8k2dodJkwgtghpf1o",
"Fee": "12000",
"Flags": 2147614720,
"LastLedgerSequence": 11234799,
"Paths": [
[
{
"account": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"type": 1,
"type_hex": "0000000000000001"
},
{
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"type": 48,
"type_hex": "0000000000000030"
},
{
"account": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"type": 1,
"type_hex": "0000000000000001"
}
],
[
{
"account": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"type": 1,
"type_hex": "0000000000000001"
},
{
"currency": "XRP",
"type": 16,
"type_hex": "0000000000000010"
},
{
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"type": 48,
"type_hex": "0000000000000030"
},
{
"account": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"type": 1,
"type_hex": "0000000000000001"
}
],
[
{
"account": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"type": 1,
"type_hex": "0000000000000001"
},
{
"currency": "XRP",
"type": 16,
"type_hex": "0000000000000010"
},
{
"currency": "USD",
"issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q",
"type": 48,
"type_hex": "0000000000000030"
},
{
"account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q",
"type": 1,
"type_hex": "0000000000000001"
}
],
[
{
"account": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"type": 1,
"type_hex": "0000000000000001"
},
{
"currency": "USD",
"issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q",
"type": 48,
"type_hex": "0000000000000030"
},
{
"account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q",
"type": 1,
"type_hex": "0000000000000001"
}
]
],
"SendMax": {
"currency": "JPY",
"issuer": "r4wKTbb8AX5kEhXDvHDvhunDqsLZnXGfL9",
"value": "5"
},
"Sequence": 360,
"SigningPubKey": "02AC2A11C997C04EC6A4139E6189111F90E89D05F9A9DDC3E2CA459CEA89C539D3",
"TransactionType": "Payment",
"TxnSignature": "304402204529AC13FDE2AF411F83DFCCCA1A41534C36A73EC56C00B822EF36B037F8D146022013A1EBC759497D9BB352263C50B49A3E8BD83FA174F6F66B1F095E820026E358",
"hash": "D6405F3E92213763D9AA7270C0CC940864EFEB7CC6A95723E9BC4F33486994A7",
"inLedger": 11234797,
"ledger_index": 11234797
},
"validated": true
}
}
}

95
test/fixtures/binary-ledger-data.json vendored Normal file
View File

@@ -0,0 +1,95 @@
{
"RippleState": {
"binary": {
"data": "110072220002000025000B657837000000000000003B3800000000000000005587591A63051645F37B85D1FBA55EE69B1C96BFF16904F5C99F03FB93D42D03756280000000000000000000000000000000000000004254430000000000000000000000000000000000000000000000000166800000000000000000000000000000000000000042544300000000000A20B3C85F482532A9578DBB3950B85CA06594D167D4C38D7EA4C680000000000000000000000000004254430000000000C795FDF8A637BCAAEDAD1C434033506236C82A2D",
"index": "000103996A3BAD918657F86E12A67D693E8FC8A814DA4B958A244B5F14D93E58"
},
"parsed": {
"Balance": {
"currency": "BTC",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "0"
},
"Flags": 131072,
"HighLimit": {
"currency": "BTC",
"issuer": "rKUK9omZqVEnraCipKNFb5q4tuNTeqEDZS",
"value": "10"
},
"HighNode": "0000000000000000",
"LedgerEntryType": "RippleState",
"LowLimit": {
"currency": "BTC",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"value": "0"
},
"LowNode": "000000000000003B",
"PreviousTxnID": "87591A63051645F37B85D1FBA55EE69B1C96BFF16904F5C99F03FB93D42D0375",
"PreviousTxnLgrSeq": 746872,
"index": "000103996A3BAD918657F86E12A67D693E8FC8A814DA4B958A244B5F14D93E58"
}
},
"AccountRoot": {
"binary": {
"data": "1100612200000000240000000125000DA4192D0000000055CA2EADCF53FEEFE2FF6B47D683A1E33413BC876C7C87669618365C91BD12A42262400000003B9ACA008114D018AF490EB4E476D735159CDEA798B6AF670FF7",
"index": "0002D81201E576CF3E0120E2CC35C03E08E22452F498B8C874CD1DF9D3DC305B"
},
"parsed": {
"Account": "rKyK3pQtCTMz6nt6Yxtx8vgju6hLyLWpwh",
"Balance": "1000000000",
"Flags": 0,
"LedgerEntryType": "AccountRoot",
"OwnerCount": 0,
"PreviousTxnID": "CA2EADCF53FEEFE2FF6B47D683A1E33413BC876C7C87669618365C91BD12A422",
"PreviousTxnLgrSeq": 893977,
"Sequence": 1,
"index": "0002D81201E576CF3E0120E2CC35C03E08E22452F498B8C874CD1DF9D3DC305B"
}
},
"Offer": {
"binary": {
"data": "11006F2200000000240002A44625000F26213300000000000000003400000000000000C0555CCD6C8CD4E7BB1E508F05B831A9B4B634E02862435D5E3E3EEF3AB1690331395010FE4D53B02BC5D46DE095166E0667A0F3797F8A782F8A203B570EBC4086D53E0064D5459C5A55C77D00000000000000000000000000494C53000000000092D705968936C419CE614BF264B5EEB1CEA47FF465D48D871095D18000000000000000000000000000425443000000000092D705968936C419CE614BF264B5EEB1CEA47FF481141C40DA3AAC605E30B6CC5891EA6CDDFA0C996CE8",
"index": "002B4106648895A68068DF34FC55AAD9BC1DC135FD737A318C582D706EA505A1"
},
"parsed": {
"Account": "rs2PcQ9HX8afGGPsvUxEmTsrKs5D34kwwK",
"BookDirectory": "FE4D53B02BC5D46DE095166E0667A0F3797F8A782F8A203B570EBC4086D53E00",
"BookNode": "0000000000000000",
"Flags": 0,
"LedgerEntryType": "Offer",
"OwnerNode": "00000000000000C0",
"PreviousTxnID": "5CCD6C8CD4E7BB1E508F05B831A9B4B634E02862435D5E3E3EEF3AB169033139",
"PreviousTxnLgrSeq": 992801,
"Sequence": 173126,
"TakerGets": {
"currency": "BTC",
"issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9",
"value": "3.80768"
},
"TakerPays": {
"currency": "ILS",
"issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9",
"value": "1579.28668368"
},
"index": "002B4106648895A68068DF34FC55AAD9BC1DC135FD737A318C582D706EA505A1"
}
},
"DirectoryNode": {
"binary": {
"data": "110064220000000058001E3B28ABD08E399095EABC6C493E84BFA47B1A6474C04D5289E767A404AEF18214D5A7C190E367A150A2E4A04DE62E08766B8B48C2011360FE8118802AF3344FDC1DEB95D12F8E7C548928C19FEFE8CF7BD14D28E8F0E9EA3B70BB091D385EB6AFF31C52F05498BB70268FC4BEEDDC6B86770A85D74CEA71E676F574B44A1030EBA09A9A29C939550FAF2849171B3422EB521365F9052D00",
"index": "001E3B28ABD08E399095EABC6C493E84BFA47B1A6474C04D5289E767A404AEF1"
},
"parsed": {
"Flags": 0,
"Indexes": [
"FE8118802AF3344FDC1DEB95D12F8E7C548928C19FEFE8CF7BD14D28E8F0E9EA",
"3B70BB091D385EB6AFF31C52F05498BB70268FC4BEEDDC6B86770A85D74CEA71",
"E676F574B44A1030EBA09A9A29C939550FAF2849171B3422EB521365F9052D00"
],
"LedgerEntryType": "DirectoryNode",
"Owner": "rL76tmsh1Pgy57B4KMqjqWL7mGhwG24xgv",
"RootIndex": "001E3B28ABD08E399095EABC6C493E84BFA47B1A6474C04D5289E767A404AEF1",
"index": "001E3B28ABD08E399095EABC6C493E84BFA47B1A6474C04D5289E767A404AEF1"
}
}
}

View File

@@ -1,131 +1,854 @@
{ {
"binary": { "PaymentWithSourceTag": {
"ledger_index": 10983428, "binary": {
"meta": "201C00000000F8E311006F561C0662854F6571DD28392C1AF031757BDF2BC0E62C190ABE0BC22C46A2E443FDE824000263F550107B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04D40AEE52AE0064400000032A0D8DB065D4838D7EA4C6800000000000000000000000000042544300000000000A20B3C85F482532A9578DBB3950B85CA06594D1811473DFB1F8FDE93B1E301897694F0DDE56516BDC40E1E1E51100645642EE066C2D6E683C6FDC95C3C0EF88B3D7C10E31E9D98060F517F18AD98217DFE722000000005842EE066C2D6E683C6FDC95C3C0EF88B3D7C10E31E9D98060F517F18AD98217DF821473DFB1F8FDE93B1E301897694F0DDE56516BDC40E1E1E4110064567B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04CE166242F400E72200000000365F04CE166242F400587B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04CE166242F40001110000000000000000000000000000000000000000021100000000000000000000000000000000000000000311000000000000000000000000425443000000000004110A20B3C85F482532A9578DBB3950B85CA06594D1E1E1E3110064567B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04D40AEE52AE00E8365F04D40AEE52AE00587B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04D40AEE52AE000311000000000000000000000000425443000000000004110A20B3C85F482532A9578DBB3950B85CA06594D1E1E1E411006F56CDD61BD2DF2ADF53D0C05C171E2C8D48337BFE63868497BC30C5DCF2D0A03AFFE7220000000024000263E72500A79550330000000000000000340000000000000000550F60460F66E991AE6D77C50435E7FF8915453D411B6E43B38AC6410113B06CDC50107B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04CE166242F400644000000326266D2065D4838D7EA4C6800000000000000000000000000042544300000000000A20B3C85F482532A9578DBB3950B85CA06594D1811473DFB1F8FDE93B1E301897694F0DDE56516BDC40E1E1E51100612500A7974E55329262FE69DD4F191AF0CE075489E7B7BDD273EC5528531D8184E1A73E76B7D356E0A052DA53A0D6F6C16422D206D4E38862ED7A13AE90ED0EF5ED09353C2A7A94E624000263F56240000005F01B0F39E1E7220000000024000263F62D000000096240000005F01AE829811473DFB1F8FDE93B1E301897694F0DDE56516BDC40E1E1F1031000", "date": 474334850,
"tx_blob": "120007228000000024000263F52019000263E764400000032A0D8DB065D4838D7EA4C6800000000000000000000000000042544300000000000A20B3C85F482532A9578DBB3950B85CA06594D1684000000000002710732103CDF7533BF6B6DE8C1AEFC1F2F776F8EDAE08D88C6E1F9B69535D9CDDF3071029744630440220153DDCA438981E498EF3AF383845F74B2CC20602FD1E20546A067C68D026DE6502207E4ECB4A23FFBC274CE0C2D08131F26FDDB6240B2A701C8E49410E0F18595053811473DFB1F8FDE93B1E301897694F0DDE56516BDC40", "hash": "2E60FAD141130C6916EF86EA03D0262B39B83DAC29171401405F3FC3A0557073",
"validated": true "inLedger": 11066074,
"ledger_index": 11066074,
"meta": "201C00000004F8E51100612500A8DAD655E22CC2535663B3A31965782DCBE8DAAD5EA7C904FD622D764941F856ECE7C824563FE9BB4D88659F18C827FA11539BC0F7FFEFB53DA27EAAB80E3E1241C41672BCE6240001483D624000000185D92CFFE1E72200060000240001483E2BEE6B28002D00000000624000000173F762EF81147D18AC8C34FCB0E8F3B24D1BCD4A9E53F220AB28E1E1E51100612500A870E15502BB62E77DF9D6A92AB4697A43270B021A40411CD3CCBB38DAAA8B25067A12FE5653539B9154C83B7D657103C27ABCA0EF1AD3674F6D0B341F20710FC50EC4DC03E662400000A52FEF21D1E1E7220000000024000001572D0000001462400000A541D0C4D18114E81DCB25DAA1DDEFF45145D334C56F12EA63C337E1E1F1031000",
"tx": "1200002200000000231D32AF94240001483D614000000011E1A3006840000000000027107321024433106648CD9C493E808A63816F40B80C02C00BE04B33D20B6629ED62993B9C74473045022074841644716EFDD0981F370B8DB776410C40DE8115A6A24F5160B0C474A41E49022100F208547492F8910790DC0CF6A6B05D5B059C3B871E95BF4F529F4CB98ADFA11781147D18AC8C34FCB0E8F3B24D1BCD4A9E53F220AB288314E81DCB25DAA1DDEFF45145D334C56F12EA63C337",
"validated": true
},
"parsed": {
"Account": "rUQTpMqAF5jhykj4FExVeXakrZpiKF6cQV",
"Amount": "300000000",
"Destination": "r4wKTbb8AX5kEhXDvHDvhunDqsLZnXGfL9",
"Fee": "10000",
"Flags": 0,
"Sequence": 84029,
"SigningPubKey": "024433106648CD9C493E808A63816F40B80C02C00BE04B33D20B6629ED62993B9C",
"SourceTag": 489861012,
"TransactionType": "Payment",
"TxnSignature": "3045022074841644716EFDD0981F370B8DB776410C40DE8115A6A24F5160B0C474A41E49022100F208547492F8910790DC0CF6A6B05D5B059C3B871E95BF4F529F4CB98ADFA117",
"date": 474334850,
"hash": "2E60FAD141130C6916EF86EA03D0262B39B83DAC29171401405F3FC3A0557073",
"inLedger": 11066074,
"ledger_index": 11066074,
"meta": {
"AffectedNodes": [
{
"ModifiedNode": {
"FinalFields": {
"Account": "rUQTpMqAF5jhykj4FExVeXakrZpiKF6cQV",
"Balance": "6240559855",
"Flags": 393216,
"OwnerCount": 0,
"Sequence": 84030,
"TransferRate": 4000000000
},
"LedgerEntryType": "AccountRoot",
"LedgerIndex": "3FE9BB4D88659F18C827FA11539BC0F7FFEFB53DA27EAAB80E3E1241C41672BC",
"PreviousFields": {
"Balance": "6540569855",
"Sequence": 84029
},
"PreviousTxnID": "E22CC2535663B3A31965782DCBE8DAAD5EA7C904FD622D764941F856ECE7C824",
"PreviousTxnLgrSeq": 11066070
}
},
{
"ModifiedNode": {
"FinalFields": {
"Account": "r4wKTbb8AX5kEhXDvHDvhunDqsLZnXGfL9",
"Balance": "709773804753",
"Flags": 0,
"OwnerCount": 20,
"Sequence": 343
},
"LedgerEntryType": "AccountRoot",
"LedgerIndex": "53539B9154C83B7D657103C27ABCA0EF1AD3674F6D0B341F20710FC50EC4DC03",
"PreviousFields": {
"Balance": "709473804753"
},
"PreviousTxnID": "02BB62E77DF9D6A92AB4697A43270B021A40411CD3CCBB38DAAA8B25067A12FE",
"PreviousTxnLgrSeq": 11038945
}
}
],
"TransactionIndex": 4,
"TransactionResult": "tesSUCCESS",
"delivered_amount": "300000000"
},
"validated": true
}
}, },
"parsed": { "PaymentWithMemosAndPaths": {
"validated": true, "binary": {
"ledger_index": 10983428, "date": 474672540,
"meta": { "hash": "67550A7B0E398944B5528F678BCCA8A53C1356AF9C4FC8EE863B1CC83965C61A",
"TransactionIndex": 0, "inLedger": 11141022,
"AffectedNodes": [ "ledger_index": 11141022,
"meta": "201C0000000CF8E51100722500A9FEB4556ADF733720CD5958532693012BA6BE1CEBE19FAA5D4BE82C89ADA94B3D512764560A6C4FB9756E743E9E83577880094155303130916E4434F50F4B06125694344AE66294E0B101E96204C200000000000000000000000055534400000000000000000000000000000000000000000000000001E1E722002200003700000000000001673800000000000000006294E0B1EA06561625000000000000000000000000555344000000000000000000000000000000000000000000000000016680000000000000000000000000000000000000005553440000000000DD39C650A96EDA48334E70CC4A85B8B2E8502CD367D51550F7DCA700000000000000000000000000005553440000000000EE5CE9F2320765A26C7C75416174DE47B62221C0E1E1E511006F2500A9FEB4556ADF733720CD5958532693012BA6BE1CEBE19FAA5D4BE82C89ADA94B3D51276456451FC7682EFB786E18D96CBA6D5B54ADD33342DF5D6509B6E00D5A144DE0902AE664D508F48D0A9E6B240000000000000000000000005553440000000000DD39C650A96EDA48334E70CC4A85B8B2E8502CD365D509003CC08A929A00000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D1E1E7220000000024000041AB33000000000000000034000000000000000D5010DE173F6A789434AB78B4D5E99A8F90B04DFA1CC2FDE4E1DC542358D1FEEDF94D64D508F475D48603010000000000000000000000005553440000000000DD39C650A96EDA48334E70CC4A85B8B2E8502CD365D50900256C27E89A00000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D18114EE5CE9F2320765A26C7C75416174DE47B62221C0E1E1E51100612500A9F89255AECC8E23FCEBEADCD8347779FF4BC1214B8ADEED95D940F484305A613C20F1545653539B9154C83B7D657103C27ABCA0EF1AD3674F6D0B341F20710FC50EC4DC03E6240000016262400000B872BDA1B2E1E7220000000024000001632D0000001762400000B872BD72D28114E81DCB25DAA1DDEFF45145D334C56F12EA63C337E1E1E51100722500A80E505525B3D55C1FBEF9DCD9AAA3638D6ED86E534819CF209B5E587FB3B826FC60296C56785D84438CD44D7BD8234721BC77022E2BE590E38F9AB73C6E3FBC190524EF26E66294071AFD498D000000000000000000000000000055534400000000000000000000000000000000000000000000000001E1E7220002000037000000000000027D38000000000000000062940AA87BEE5380000000000000000000000000005553440000000000000000000000000000000000000000000000000166800000000000000000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D167D503E871B540C0000000000000000000000000005553440000000000625E2F1F09A0D769E05C04FAA64F0D2013306C6AE1E1E51100722500A9F66F55D40479ECBF8B8E38338361C701863CA17D855F3B4E003ABD08F1DBE54D7DE5DD56A436A2BCC3D010FAFAB5AE596F4B1DBE2D99407AA106588CEE23D9FB1B6588A5E66295060A24181E400000000000000000000000000055534400000000000000000000000000000000000000000000000001E1E7220002000037000000000000015F3800000000000000006295060A0CE205D7DD000000000000000000000000555344000000000000000000000000000000000000000000000000016680000000000000000000000000000000000000005553440000000000DD39C650A96EDA48334E70CC4A85B8B2E8502CD367D5838D7EA4C680000000000000000000000000005553440000000000E81DCB25DAA1DDEFF45145D334C56F12EA63C337E1E1E51100722500A9FEB4556ADF733720CD5958532693012BA6BE1CEBE19FAA5D4BE82C89ADA94B3D51276456E00BD45161EC37EA2FAE91C9B868E03252ACAE2D6FAF3A8E8EA862FFF54C5E08E662950EA8776D05F0BE00000000000000000000000055534400000000000000000000000000000000000000000000000001E1E7220022000037000000000000028038000000000000000062950EA86018A346BE0000000000000000000000005553440000000000000000000000000000000000000000000000000166800000000000000000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D16780000000000000000000000000000000000000005553440000000000EE5CE9F2320765A26C7C75416174DE47B62221C0E1E1F1031000",
"tx": "12000022800000002400000162201B00A9FFA061D4038D7EA4C680000000000000000000000000005553440000000000625E2F1F09A0D769E05C04FAA64F0D2013306C6A684000000000002EE0732102AC2A11C997C04EC6A4139E6189111F90E89D05F9A9DDC3E2CA459CEA89C539D374473045022100958893DFB5B140D05936D7A206A5DA4907F6B200274E0A1A72F8DF171D9CEA250220018F5AFDCAA04819334692152D928295A50BB3F6C22013CEE02B20868F4B4A048114E81DCB25DAA1DDEFF45145D334C56F12EA63C3378314625E2F1F09A0D769E05C04FAA64F0D2013306C6AF9EA7C10756E666F726D61747465645F6D656D6F7DC1D74C6F72656D20697073756D20646F6C6F722073697420616D65742C20636F6E73656374657475722061646970697363696E6720656C69742E204C6F72656D20697073756DE698AFE68C87E4B880E7AF87E5B8B8E794A8E696BCE68E92E78988E8A8ADE8A888E9A098E59F9FE79A84E68B89E4B881E69687E69687E7ABA0EFBC8CE4B8BBE8A681E79A84E79BAEE79A84E782BAE6B8ACE8A9A6E69687E7ABA0E68896E69687E5AD97E59CA8E4B88DE5908CE5AD97E59E8BE38081E78988E59E8BE4B88BE79C8BE8B5B7E4BE86E79A84E69588E69E9CE380824C6F72656D20697073756D20657320656C20746578746F207175652073652075736120686162697475616C6D656E746520656E2064697365C3B16F206772C3A16669636F20656E2064656D6F7374726163696F6E6573206465207469706F67726166C3AD6173206F20646520626F727261646F7265732064652064697365C3B16F20706172612070726F62617220656C2064697365C3B16F2076697375616C20616E74657320646520696E73657274617220656C20746578746F2066696E616C2EE1F1011201DD39C650A96EDA48334E70CC4A85B8B2E8502CD33000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D1010A20B3C85F482532A9578DBB3950B85CA06594D1FF01DD39C650A96EDA48334E70CC4A85B8B2E8502CD3FF01DD39C650A96EDA48334E70CC4A85B8B2E8502CD301F2E6B2377DFCF6B7792AB1741D76DC162E242314010A20B3C85F482532A9578DBB3950B85CA06594D1FF01DD39C650A96EDA48334E70CC4A85B8B2E8502CD30164B5A7C6BDF6E3B38333F122E7146BF71A53F8D9010A20B3C85F482532A9578DBB3950B85CA06594D100",
"validated": true
},
"parsed": {
"Account": "r4wKTbb8AX5kEhXDvHDvhunDqsLZnXGfL9",
"Amount": {
"currency": "USD",
"issuer": "r9y3sFjvdnTMJff1j8k2dodJkwgtghpf1o",
"value": "0.01"
},
"Destination": "r9y3sFjvdnTMJff1j8k2dodJkwgtghpf1o",
"Fee": "12000",
"Flags": 2147483648,
"LastLedgerSequence": 11141024,
"Memos": [
{ {
"CreatedNode": { "Memo": {
"LedgerEntryType": "Offer", "MemoData": "4C6F72656D20697073756D20646F6C6F722073697420616D65742C20636F6E73656374657475722061646970697363696E6720656C69742E204C6F72656D20697073756DE698AFE68C87E4B880E7AF87E5B8B8E794A8E696BCE68E92E78988E8A8ADE8A888E9A098E59F9FE79A84E68B89E4B881E69687E69687E7ABA0EFBC8CE4B8BBE8A681E79A84E79BAEE79A84E782BAE6B8ACE8A9A6E69687E7ABA0E68896E69687E5AD97E59CA8E4B88DE5908CE5AD97E59E8BE38081E78988E59E8BE4B88BE79C8BE8B5B7E4BE86E79A84E69588E69E9CE380824C6F72656D20697073756D20657320656C20746578746F207175652073652075736120686162697475616C6D656E746520656E2064697365C3B16F206772C3A16669636F20656E2064656D6F7374726163696F6E6573206465207469706F67726166C3AD6173206F20646520626F727261646F7265732064652064697365C3B16F20706172612070726F62617220656C2064697365C3B16F2076697375616C20616E74657320646520696E73657274617220656C20746578746F2066696E616C2E",
"LedgerIndex": "1C0662854F6571DD28392C1AF031757BDF2BC0E62C190ABE0BC22C46A2E443FD", "MemoType": "756E666F726D61747465645F6D656D6F"
"NewFields": {
"Sequence": 156661,
"BookDirectory": "7B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04D40AEE52AE00",
"TakerPays": "13590433200",
"TakerGets": {
"value": "1",
"currency": "BTC",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B"
},
"Account": "rBZgggUbdV7wHF1d7BRu1BLsxQqKHX3SN4"
}
}
},
{
"ModifiedNode": {
"LedgerEntryType": "DirectoryNode",
"LedgerIndex": "42EE066C2D6E683C6FDC95C3C0EF88B3D7C10E31E9D98060F517F18AD98217DF",
"FinalFields": {
"Flags": 0,
"RootIndex": "42EE066C2D6E683C6FDC95C3C0EF88B3D7C10E31E9D98060F517F18AD98217DF",
"Owner": "rBZgggUbdV7wHF1d7BRu1BLsxQqKHX3SN4"
}
}
},
{
"DeletedNode": {
"LedgerEntryType": "DirectoryNode",
"LedgerIndex": "7B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04CE166242F400",
"FinalFields": {
"Flags": 0,
"ExchangeRate": "5F04CE166242F400",
"RootIndex": "7B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04CE166242F400",
"TakerPaysCurrency": "0000000000000000000000000000000000000000",
"TakerPaysIssuer": "0000000000000000000000000000000000000000",
"TakerGetsCurrency": "0000000000000000000000004254430000000000",
"TakerGetsIssuer": "0A20B3C85F482532A9578DBB3950B85CA06594D1"
}
}
},
{
"CreatedNode": {
"LedgerEntryType": "DirectoryNode",
"LedgerIndex": "7B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04D40AEE52AE00",
"NewFields": {
"ExchangeRate": "5F04D40AEE52AE00",
"RootIndex": "7B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04D40AEE52AE00",
"TakerGetsCurrency": "0000000000000000000000004254430000000000",
"TakerGetsIssuer": "0A20B3C85F482532A9578DBB3950B85CA06594D1"
}
}
},
{
"DeletedNode": {
"LedgerEntryType": "Offer",
"LedgerIndex": "CDD61BD2DF2ADF53D0C05C171E2C8D48337BFE63868497BC30C5DCF2D0A03AFF",
"FinalFields": {
"Flags": 0,
"Sequence": 156647,
"PreviousTxnLgrSeq": 10982736,
"BookNode": "0",
"OwnerNode": "0",
"PreviousTxnID": "0F60460F66E991AE6D77C50435E7FF8915453D411B6E43B38AC6410113B06CDC",
"BookDirectory": "7B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04CE166242F400",
"TakerPays": "13524954400",
"TakerGets": {
"value": "1",
"currency": "BTC",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B"
},
"Account": "rBZgggUbdV7wHF1d7BRu1BLsxQqKHX3SN4"
}
}
},
{
"ModifiedNode": {
"LedgerEntryType": "AccountRoot",
"PreviousTxnLgrSeq": 10983246,
"PreviousTxnID": "329262FE69DD4F191AF0CE075489E7B7BDD273EC5528531D8184E1A73E76B7D3",
"LedgerIndex": "E0A052DA53A0D6F6C16422D206D4E38862ED7A13AE90ED0EF5ED09353C2A7A94",
"PreviousFields": {
"Sequence": 156661,
"Balance": "25503141689"
},
"FinalFields": {
"Flags": 0,
"Sequence": 156662,
"OwnerCount": 9,
"Balance": "25503131689",
"Account": "rBZgggUbdV7wHF1d7BRu1BLsxQqKHX3SN4"
}
} }
} }
], ],
"TransactionResult": "tesSUCCESS" "Paths": [
}, [
"tx": { {
"TransactionType": "OfferCreate", "account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q",
"Flags": 2147483648, "type": 1,
"Sequence": 156661, "type_hex": "0000000000000001"
"OfferSequence": 156647, },
"TakerPays": "13590433200", {
"TakerGets": { "currency": "USD",
"value": "1", "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"currency": "BTC", "type": 48,
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B" "type_hex": "0000000000000030"
},
{
"account": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"type": 1,
"type_hex": "0000000000000001"
}
],
[
{
"account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q",
"type": 1,
"type_hex": "0000000000000001"
}
],
[
{
"account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q",
"type": 1,
"type_hex": "0000000000000001"
},
{
"account": "rP9Lt7SZUEErkXAXyggceibTCEYbfSyx6n",
"type": 1,
"type_hex": "0000000000000001"
},
{
"account": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"type": 1,
"type_hex": "0000000000000001"
}
],
[
{
"account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q",
"type": 1,
"type_hex": "0000000000000001"
},
{
"account": "rwBWBFZrbLzHoe3PhwWYv89iHJdxAFrxcB",
"type": 1,
"type_hex": "0000000000000001"
},
{
"account": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"type": 1,
"type_hex": "0000000000000001"
}
]
],
"Sequence": 354,
"SigningPubKey": "02AC2A11C997C04EC6A4139E6189111F90E89D05F9A9DDC3E2CA459CEA89C539D3",
"TransactionType": "Payment",
"TxnSignature": "3045022100958893DFB5B140D05936D7A206A5DA4907F6B200274E0A1A72F8DF171D9CEA250220018F5AFDCAA04819334692152D928295A50BB3F6C22013CEE02B20868F4B4A04",
"date": 474672540,
"hash": "67550A7B0E398944B5528F678BCCA8A53C1356AF9C4FC8EE863B1CC83965C61A",
"inLedger": 11141022,
"ledger_index": 11141022,
"meta": {
"AffectedNodes": [
{
"ModifiedNode": {
"FinalFields": {
"Balance": {
"currency": "USD",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-92.02817941509669"
},
"Flags": 2228224,
"HighLimit": {
"currency": "USD",
"issuer": "r4jM3RYopj6rw6EoGKfmUSMFtqP2uc7XZj",
"value": "600"
},
"HighNode": "0000000000000000",
"LowLimit": {
"currency": "USD",
"issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q",
"value": "0"
},
"LowNode": "0000000000000167"
},
"LedgerEntryType": "RippleState",
"LedgerIndex": "0A6C4FB9756E743E9E83577880094155303130916E4434F50F4B06125694344A",
"PreviousFields": {
"Balance": {
"currency": "USD",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-92.01821023339714"
}
},
"PreviousTxnID": "6ADF733720CD5958532693012BA6BE1CEBE19FAA5D4BE82C89ADA94B3D512764",
"PreviousTxnLgrSeq": 11140788
}
},
{
"ModifiedNode": {
"FinalFields": {
"Account": "r4jM3RYopj6rw6EoGKfmUSMFtqP2uc7XZj",
"BookDirectory": "DE173F6A789434AB78B4D5E99A8F90B04DFA1CC2FDE4E1DC542358D1FEEDF94D",
"BookNode": "0000000000000000",
"Flags": 0,
"OwnerNode": "000000000000000D",
"Sequence": 16811,
"TakerGets": {
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"value": "253.3435518740634"
},
"TakerPays": {
"currency": "USD",
"issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q",
"value": "252.0586727588609"
}
},
"LedgerEntryType": "Offer",
"LedgerIndex": "451FC7682EFB786E18D96CBA6D5B54ADD33342DF5D6509B6E00D5A144DE0902A",
"PreviousFields": {
"TakerGets": {
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"value": "253.3535718740634"
},
"TakerPays": {
"currency": "USD",
"issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q",
"value": "252.0686419405604"
}
},
"PreviousTxnID": "6ADF733720CD5958532693012BA6BE1CEBE19FAA5D4BE82C89ADA94B3D512764",
"PreviousTxnLgrSeq": 11140788
}
},
{
"ModifiedNode": {
"FinalFields": {
"Account": "r4wKTbb8AX5kEhXDvHDvhunDqsLZnXGfL9",
"Balance": "792199000786",
"Flags": 0,
"OwnerCount": 23,
"Sequence": 355
},
"LedgerEntryType": "AccountRoot",
"LedgerIndex": "53539B9154C83B7D657103C27ABCA0EF1AD3674F6D0B341F20710FC50EC4DC03",
"PreviousFields": {
"Balance": "792199012786",
"Sequence": 354
},
"PreviousTxnID": "AECC8E23FCEBEADCD8347779FF4BC1214B8ADEED95D940F484305A613C20F154",
"PreviousTxnLgrSeq": 11139218
}
},
{
"ModifiedNode": {
"FinalFields": {
"Balance": {
"currency": "USD",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-0.03"
},
"Flags": 131072,
"HighLimit": {
"currency": "USD",
"issuer": "r9y3sFjvdnTMJff1j8k2dodJkwgtghpf1o",
"value": "110"
},
"HighNode": "0000000000000000",
"LowLimit": {
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"value": "0"
},
"LowNode": "000000000000027D"
},
"LedgerEntryType": "RippleState",
"LedgerIndex": "785D84438CD44D7BD8234721BC77022E2BE590E38F9AB73C6E3FBC190524EF26",
"PreviousFields": {
"Balance": {
"currency": "USD",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-0.02"
}
},
"PreviousTxnID": "25B3D55C1FBEF9DCD9AAA3638D6ED86E534819CF209B5E587FB3B826FC60296C",
"PreviousTxnLgrSeq": 11013712
}
},
{
"ModifiedNode": {
"FinalFields": {
"Balance": {
"currency": "USD",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-169.9900308183005"
},
"Flags": 131072,
"HighLimit": {
"currency": "USD",
"issuer": "r4wKTbb8AX5kEhXDvHDvhunDqsLZnXGfL9",
"value": "10000"
},
"HighNode": "0000000000000000",
"LowLimit": {
"currency": "USD",
"issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q",
"value": "0"
},
"LowNode": "000000000000015F"
},
"LedgerEntryType": "RippleState",
"LedgerIndex": "A436A2BCC3D010FAFAB5AE596F4B1DBE2D99407AA106588CEE23D9FB1B6588A5",
"PreviousFields": {
"Balance": {
"currency": "USD",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-170"
}
},
"PreviousTxnID": "D40479ECBF8B8E38338361C701863CA17D855F3B4E003ABD08F1DBE54D7DE5DD",
"PreviousTxnLgrSeq": 11138671
}
},
{
"ModifiedNode": {
"FinalFields": {
"Balance": {
"currency": "USD",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-412.578035762963"
},
"Flags": 2228224,
"HighLimit": {
"currency": "USD",
"issuer": "r4jM3RYopj6rw6EoGKfmUSMFtqP2uc7XZj",
"value": "0"
},
"HighNode": "0000000000000000",
"LowLimit": {
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"value": "0"
},
"LowNode": "0000000000000280"
},
"LedgerEntryType": "RippleState",
"LedgerIndex": "E00BD45161EC37EA2FAE91C9B868E03252ACAE2D6FAF3A8E8EA862FFF54C5E08",
"PreviousFields": {
"Balance": {
"currency": "USD",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-412.588055762963"
}
},
"PreviousTxnID": "6ADF733720CD5958532693012BA6BE1CEBE19FAA5D4BE82C89ADA94B3D512764",
"PreviousTxnLgrSeq": 11140788
}
}
],
"TransactionIndex": 12,
"TransactionResult": "tesSUCCESS",
"delivered_amount": {
"currency": "USD",
"issuer": "r9y3sFjvdnTMJff1j8k2dodJkwgtghpf1o",
"value": "0.01"
}
}, },
"Fee": "10000", "validated": true
"SigningPubKey": "03CDF7533BF6B6DE8C1AEFC1F2F776F8EDAE08D88C6E1F9B69535D9CDDF3071029",
"TxnSignature": "30440220153DDCA438981E498EF3AF383845F74B2CC20602FD1E20546A067C68D026DE6502207E4ECB4A23FFBC274CE0C2D08131F26FDDB6240B2A701C8E49410E0F18595053",
"Account": "rBZgggUbdV7wHF1d7BRu1BLsxQqKHX3SN4",
"hash": "3CC8ED34260911194E8E30543D70A6DF04D3DABC746A546DAED32D22496B478C"
} }
},
"PartialPayment": {
"binary": {
"date": 475098160,
"hash": "F1E35F73FC81BE1599FBEE184F39AC4168E4C181C7ED000137E9E3C62E18D8C6",
"inLedger": 11234994,
"ledger_index": 11234994,
"meta": "201C000000126012D4038D7EA4C680010000000000000000000000005553440000000000625E2F1F09A0D769E05C04FAA64F0D2013306C6AF8E51100612500AB6DED55D6405F3E92213763D9AA7270C0CC940864EFEB7CC6A95723E9BC4F33486994A75653539B9154C83B7D657103C27ABCA0EF1AD3674F6D0B341F20710FC50EC4DC03E6240000016962400000C7C1B0629EE1E72200000000240000016A2D0000001662400000C7C1B033BE8114E81DCB25DAA1DDEFF45145D334C56F12EA63C337E1E1E51100722500AB6DED55D6405F3E92213763D9AA7270C0CC940864EFEB7CC6A95723E9BC4F33486994A7565A9CDBCBDB64CD58DCD79A352E749EE48D6ACCE258F580F01FE326B31EB023DEE66294CDB50C7C41DBBA0000000000000000000000004A505900000000000000000000000000000000000000000000000001E1E722000200003700000000000000433800000000000000006294CD472C93E8BFBD0000000000000000000000004A5059000000000000000000000000000000000000000000000000016680000000000000000000000000000000000000004A50590000000000E5C92828261DBAAC933B6309C6F5C72AF020AFD46780000000000000000000000000000000000000004A50590000000000E81DCB25DAA1DDEFF45145D334C56F12EA63C337E1E1E511006F2500AB6DED55D6405F3E92213763D9AA7270C0CC940864EFEB7CC6A95723E9BC4F33486994A7566CD06C01787F1F75688E5C4CE84E83B73ADC1647EC0A2761D553DA776564D1BBE664D5844871834DEC610000000000000000000000004A50590000000000E5C92828261DBAAC933B6309C6F5C72AF020AFD465D4E3860923E65C0000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D1E1E72200020000240000DFA82A1C51809E33000000000000000034000000000000062D50103B95C29205977C2136BBC70F21895F8C8F471C8522BF446E5704488DA40C79F964D5844855628F5EC90000000000000000000000004A50590000000000E5C92828261DBAAC933B6309C6F5C72AF020AFD465D4E3851FD80BB80000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D1811488F647BBEC01AE19BE070B8B91063D14CE77F523E1E1E51100722500AB6DED55D6405F3E92213763D9AA7270C0CC940864EFEB7CC6A95723E9BC4F33486994A756785D84438CD44D7BD8234721BC77022E2BE590E38F9AB73C6E3FBC190524EF26E662940E35FA931A000000000000000000000000000055534400000000000000000000000000000000000000000000000001E1E7220002000037000000000000027D380000000000000000629411C37937E080010000000000000000000000005553440000000000000000000000000000000000000000000000000166800000000000000000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D167D503E871B540C0000000000000000000000000005553440000000000625E2F1F09A0D769E05C04FAA64F0D2013306C6AE1E1E51100722500AB6E1455E6190463C940CFE3D75B031D95768F55F8F5E163EEB460AE6ED003784FDBC06B567A12DF691E1E8039D53278D20D7CDC88D2C585DDBC4A769CD377CD8FF5C7E6A0E6629544C2582DF5BB4000000000000000000000000055534400000000000000000000000000000000000000000000000001E1E72200220000370000000000000288380000000000000000629544C255D8B8AA400000000000000000000000005553440000000000000000000000000000000000000000000000000166800000000000000000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D167D5438D7EA4C68000000000000000000000000000555344000000000088F647BBEC01AE19BE070B8B91063D14CE77F523E1E1E51100722500AB6DED55D6405F3E92213763D9AA7270C0CC940864EFEB7CC6A95723E9BC4F33486994A756ADB3988C0EF801FF788E40AFA5EA28FBF5C6943C65F4651DDA411881E7FBBACFE662D5C3F42A882475860000000000000000000000004A505900000000000000000000000000000000000000000000000001E1E7220011000020123B9ACA0037000000000000000038000000000000004662D5C3F42D583783AE0000000000000000000000004A50590000000000000000000000000000000000000000000000000166D5CAA87BEE5380000000000000000000000000004A5059000000000088F647BBEC01AE19BE070B8B91063D14CE77F5236780000000000000000000000000000000000000004A50590000000000E5C92828261DBAAC933B6309C6F5C72AF020AFD4E1E1F1031000",
"tx": "12000022800200002400000169201B00AB6EB461D4838D7EA4C680000000000000000000000000005553440000000000625E2F1F09A0D769E05C04FAA64F0D2013306C6A684000000000002EE069D4844ABF137B17EA0000000000000000000000004A50590000000000E81DCB25DAA1DDEFF45145D334C56F12EA63C337732102AC2A11C997C04EC6A4139E6189111F90E89D05F9A9DDC3E2CA459CEA89C539D374463044022010E0D6884B36694342958C4872D7BADB825F36E6972757870665DD49580949A30220475F4CEA2904D23148AF51F194973AC73BDB986DA94BD9DEF51A5BBB9D7426108114E81DCB25DAA1DDEFF45145D334C56F12EA63C3378314625E2F1F09A0D769E05C04FAA64F0D2013306C6A011201E5C92828261DBAAC933B6309C6F5C72AF020AFD43000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D1010A20B3C85F482532A9578DBB3950B85CA06594D1FF01E5C92828261DBAAC933B6309C6F5C72AF020AFD41000000000000000000000000000000000000000003000000000000000000000000055534400000000000A20B3C85F482532A9578DBB3950B85CA06594D1010A20B3C85F482532A9578DBB3950B85CA06594D1FF01E5C92828261DBAAC933B6309C6F5C72AF020AFD4100000000000000000000000000000000000000000300000000000000000000000005553440000000000DD39C650A96EDA48334E70CC4A85B8B2E8502CD301DD39C650A96EDA48334E70CC4A85B8B2E8502CD3FF01E5C92828261DBAAC933B6309C6F5C72AF020AFD4300000000000000000000000005553440000000000DD39C650A96EDA48334E70CC4A85B8B2E8502CD301DD39C650A96EDA48334E70CC4A85B8B2E8502CD300",
"validated": true
},
"parsed": {
"Account": "r4wKTbb8AX5kEhXDvHDvhunDqsLZnXGfL9",
"Amount": {
"currency": "USD",
"issuer": "r9y3sFjvdnTMJff1j8k2dodJkwgtghpf1o",
"value": "1"
},
"Destination": "r9y3sFjvdnTMJff1j8k2dodJkwgtghpf1o",
"Fee": "12000",
"Flags": 2147614720,
"LastLedgerSequence": 11234996,
"Paths": [
[
{
"account": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"type": 1,
"type_hex": "0000000000000001"
},
{
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"type": 48,
"type_hex": "0000000000000030"
},
{
"account": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"type": 1,
"type_hex": "0000000000000001"
}
],
[
{
"account": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"type": 1,
"type_hex": "0000000000000001"
},
{
"currency": "XRP",
"type": 16,
"type_hex": "0000000000000010"
},
{
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"type": 48,
"type_hex": "0000000000000030"
},
{
"account": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"type": 1,
"type_hex": "0000000000000001"
}
],
[
{
"account": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"type": 1,
"type_hex": "0000000000000001"
},
{
"currency": "XRP",
"type": 16,
"type_hex": "0000000000000010"
},
{
"currency": "USD",
"issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q",
"type": 48,
"type_hex": "0000000000000030"
},
{
"account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q",
"type": 1,
"type_hex": "0000000000000001"
}
],
[
{
"account": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"type": 1,
"type_hex": "0000000000000001"
},
{
"currency": "USD",
"issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q",
"type": 48,
"type_hex": "0000000000000030"
},
{
"account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q",
"type": 1,
"type_hex": "0000000000000001"
}
]
],
"SendMax": {
"currency": "JPY",
"issuer": "r4wKTbb8AX5kEhXDvHDvhunDqsLZnXGfL9",
"value": "1.208084432885738"
},
"Sequence": 361,
"SigningPubKey": "02AC2A11C997C04EC6A4139E6189111F90E89D05F9A9DDC3E2CA459CEA89C539D3",
"TransactionType": "Payment",
"TxnSignature": "3044022010E0D6884B36694342958C4872D7BADB825F36E6972757870665DD49580949A30220475F4CEA2904D23148AF51F194973AC73BDB986DA94BD9DEF51A5BBB9D742610",
"date": 475098160,
"hash": "F1E35F73FC81BE1599FBEE184F39AC4168E4C181C7ED000137E9E3C62E18D8C6",
"inLedger": 11234994,
"ledger_index": 11234994,
"meta": {
"AffectedNodes": [
{
"ModifiedNode": {
"FinalFields": {
"Account": "r4wKTbb8AX5kEhXDvHDvhunDqsLZnXGfL9",
"Balance": "857948042174",
"Flags": 0,
"OwnerCount": 22,
"Sequence": 362
},
"LedgerEntryType": "AccountRoot",
"LedgerIndex": "53539B9154C83B7D657103C27ABCA0EF1AD3674F6D0B341F20710FC50EC4DC03",
"PreviousFields": {
"Balance": "857948054174",
"Sequence": 361
},
"PreviousTxnID": "D6405F3E92213763D9AA7270C0CC940864EFEB7CC6A95723E9BC4F33486994A7",
"PreviousTxnLgrSeq": 11234797
}
},
{
"ModifiedNode": {
"FinalFields": {
"Balance": {
"currency": "JPY",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-37.37431482875837"
},
"Flags": 131072,
"HighLimit": {
"currency": "JPY",
"issuer": "r4wKTbb8AX5kEhXDvHDvhunDqsLZnXGfL9",
"value": "0"
},
"HighNode": "0000000000000000",
"LowLimit": {
"currency": "JPY",
"issuer": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"value": "0"
},
"LowNode": "0000000000000043"
},
"LedgerEntryType": "RippleState",
"LedgerIndex": "5A9CDBCBDB64CD58DCD79A352E749EE48D6ACCE258F580F01FE326B31EB023DE",
"PreviousFields": {
"Balance": {
"currency": "JPY",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-38.5823992616441"
}
},
"PreviousTxnID": "D6405F3E92213763D9AA7270C0CC940864EFEB7CC6A95723E9BC4F33486994A7",
"PreviousTxnLgrSeq": 11234797
}
},
{
"ModifiedNode": {
"FinalFields": {
"Account": "rDVBvAQScXrGRGnzrxRrcJPeNLeLeUTAqE",
"BookDirectory": "3B95C29205977C2136BBC70F21895F8C8F471C8522BF446E5704488DA40C79F9",
"BookNode": "0000000000000000",
"Expiration": 475103390,
"Flags": 131072,
"OwnerNode": "000000000000062D",
"Sequence": 57256,
"TakerGets": {
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"value": "99.97996"
},
"TakerPays": {
"currency": "JPY",
"issuer": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"value": "12054.31469825737"
}
},
"LedgerEntryType": "Offer",
"LedgerIndex": "6CD06C01787F1F75688E5C4CE84E83B73ADC1647EC0A2761D553DA776564D1BB",
"PreviousFields": {
"TakerGets": {
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"value": "99.98998"
},
"TakerPays": {
"currency": "JPY",
"issuer": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"value": "12055.52278269025"
}
},
"PreviousTxnID": "D6405F3E92213763D9AA7270C0CC940864EFEB7CC6A95723E9BC4F33486994A7",
"PreviousTxnLgrSeq": 11234797
}
},
{
"ModifiedNode": {
"FinalFields": {
"Balance": {
"currency": "USD",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-0.05000000000000001"
},
"Flags": 131072,
"HighLimit": {
"currency": "USD",
"issuer": "r9y3sFjvdnTMJff1j8k2dodJkwgtghpf1o",
"value": "110"
},
"HighNode": "0000000000000000",
"LowLimit": {
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"value": "0"
},
"LowNode": "000000000000027D"
},
"LedgerEntryType": "RippleState",
"LedgerIndex": "785D84438CD44D7BD8234721BC77022E2BE590E38F9AB73C6E3FBC190524EF26",
"PreviousFields": {
"Balance": {
"currency": "USD",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-0.04"
}
},
"PreviousTxnID": "D6405F3E92213763D9AA7270C0CC940864EFEB7CC6A95723E9BC4F33486994A7",
"PreviousTxnLgrSeq": 11234797
}
},
{
"ModifiedNode": {
"FinalFields": {
"Balance": {
"currency": "USD",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-1339.573870832192"
},
"Flags": 2228224,
"HighLimit": {
"currency": "USD",
"issuer": "rDVBvAQScXrGRGnzrxRrcJPeNLeLeUTAqE",
"value": "1000"
},
"HighNode": "0000000000000000",
"LowLimit": {
"currency": "USD",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"value": "0"
},
"LowNode": "0000000000000288"
},
"LedgerEntryType": "RippleState",
"LedgerIndex": "7A12DF691E1E8039D53278D20D7CDC88D2C585DDBC4A769CD377CD8FF5C7E6A0",
"PreviousFields": {
"Balance": {
"currency": "USD",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "-1339.583890832192"
}
},
"PreviousTxnID": "E6190463C940CFE3D75B031D95768F55F8F5E163EEB460AE6ED003784FDBC06B",
"PreviousTxnLgrSeq": 11234836
}
},
{
"ModifiedNode": {
"FinalFields": {
"Balance": {
"currency": "JPY",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "111290.052087083"
},
"Flags": 1114112,
"HighLimit": {
"currency": "JPY",
"issuer": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6",
"value": "0"
},
"HighNode": "0000000000000046",
"LowLimit": {
"currency": "JPY",
"issuer": "rDVBvAQScXrGRGnzrxRrcJPeNLeLeUTAqE",
"value": "300000"
},
"LowNode": "0000000000000000",
"LowQualityIn": 1000000000
},
"LedgerEntryType": "RippleState",
"LedgerIndex": "ADB3988C0EF801FF788E40AFA5EA28FBF5C6943C65F4651DDA411881E7FBBACF",
"PreviousFields": {
"Balance": {
"currency": "JPY",
"issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji",
"value": "111288.8440026502"
}
},
"PreviousTxnID": "D6405F3E92213763D9AA7270C0CC940864EFEB7CC6A95723E9BC4F33486994A7",
"PreviousTxnLgrSeq": 11234797
}
}
],
"DeliveredAmount": {
"currency": "USD",
"issuer": "r9y3sFjvdnTMJff1j8k2dodJkwgtghpf1o",
"value": "0.01000000000000001"
},
"TransactionIndex": 18,
"TransactionResult": "tesSUCCESS",
"delivered_amount": {
"currency": "USD",
"issuer": "r9y3sFjvdnTMJff1j8k2dodJkwgtghpf1o",
"value": "0.01000000000000001"
}
},
"validated": true
}
},
"OfferCreate": {
"binary": {
"date": 473970900,
"hash": "3CC8ED34260911194E8E30543D70A6DF04D3DABC746A546DAED32D22496B478C",
"inLedger": 10983428,
"ledger_index": 10983428,
"meta": "201C00000000F8E311006F561C0662854F6571DD28392C1AF031757BDF2BC0E62C190ABE0BC22C46A2E443FDE824000263F550107B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04D40AEE52AE0064400000032A0D8DB065D4838D7EA4C6800000000000000000000000000042544300000000000A20B3C85F482532A9578DBB3950B85CA06594D1811473DFB1F8FDE93B1E301897694F0DDE56516BDC40E1E1E51100645642EE066C2D6E683C6FDC95C3C0EF88B3D7C10E31E9D98060F517F18AD98217DFE722000000005842EE066C2D6E683C6FDC95C3C0EF88B3D7C10E31E9D98060F517F18AD98217DF821473DFB1F8FDE93B1E301897694F0DDE56516BDC40E1E1E4110064567B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04CE166242F400E72200000000365F04CE166242F400587B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04CE166242F40001110000000000000000000000000000000000000000021100000000000000000000000000000000000000000311000000000000000000000000425443000000000004110A20B3C85F482532A9578DBB3950B85CA06594D1E1E1E3110064567B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04D40AEE52AE00E8365F04D40AEE52AE00587B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04D40AEE52AE000311000000000000000000000000425443000000000004110A20B3C85F482532A9578DBB3950B85CA06594D1E1E1E411006F56CDD61BD2DF2ADF53D0C05C171E2C8D48337BFE63868497BC30C5DCF2D0A03AFFE7220000000024000263E72500A79550330000000000000000340000000000000000550F60460F66E991AE6D77C50435E7FF8915453D411B6E43B38AC6410113B06CDC50107B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04CE166242F400644000000326266D2065D4838D7EA4C6800000000000000000000000000042544300000000000A20B3C85F482532A9578DBB3950B85CA06594D1811473DFB1F8FDE93B1E301897694F0DDE56516BDC40E1E1E51100612500A7974E55329262FE69DD4F191AF0CE075489E7B7BDD273EC5528531D8184E1A73E76B7D356E0A052DA53A0D6F6C16422D206D4E38862ED7A13AE90ED0EF5ED09353C2A7A94E624000263F56240000005F01B0F39E1E7220000000024000263F62D000000096240000005F01AE829811473DFB1F8FDE93B1E301897694F0DDE56516BDC40E1E1F1031000",
"tx": "120007228000000024000263F52019000263E764400000032A0D8DB065D4838D7EA4C6800000000000000000000000000042544300000000000A20B3C85F482532A9578DBB3950B85CA06594D1684000000000002710732103CDF7533BF6B6DE8C1AEFC1F2F776F8EDAE08D88C6E1F9B69535D9CDDF3071029744630440220153DDCA438981E498EF3AF383845F74B2CC20602FD1E20546A067C68D026DE6502207E4ECB4A23FFBC274CE0C2D08131F26FDDB6240B2A701C8E49410E0F18595053811473DFB1F8FDE93B1E301897694F0DDE56516BDC40",
"validated": true
},
"parsed": {
"Account": "rBZgggUbdV7wHF1d7BRu1BLsxQqKHX3SN4",
"Fee": "10000",
"Flags": 2147483648,
"OfferSequence": 156647,
"Sequence": 156661,
"SigningPubKey": "03CDF7533BF6B6DE8C1AEFC1F2F776F8EDAE08D88C6E1F9B69535D9CDDF3071029",
"TakerGets": {
"currency": "BTC",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"value": "1"
},
"TakerPays": "13590433200",
"TransactionType": "OfferCreate",
"TxnSignature": "30440220153DDCA438981E498EF3AF383845F74B2CC20602FD1E20546A067C68D026DE6502207E4ECB4A23FFBC274CE0C2D08131F26FDDB6240B2A701C8E49410E0F18595053",
"date": 473970900,
"hash": "3CC8ED34260911194E8E30543D70A6DF04D3DABC746A546DAED32D22496B478C",
"inLedger": 10983428,
"ledger_index": 10983428,
"meta": {
"AffectedNodes": [
{
"CreatedNode": {
"LedgerEntryType": "Offer",
"LedgerIndex": "1C0662854F6571DD28392C1AF031757BDF2BC0E62C190ABE0BC22C46A2E443FD",
"NewFields": {
"Account": "rBZgggUbdV7wHF1d7BRu1BLsxQqKHX3SN4",
"BookDirectory": "7B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04D40AEE52AE00",
"Sequence": 156661,
"TakerGets": {
"currency": "BTC",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"value": "1"
},
"TakerPays": "13590433200"
}
}
},
{
"ModifiedNode": {
"FinalFields": {
"Flags": 0,
"Owner": "rBZgggUbdV7wHF1d7BRu1BLsxQqKHX3SN4",
"RootIndex": "42EE066C2D6E683C6FDC95C3C0EF88B3D7C10E31E9D98060F517F18AD98217DF"
},
"LedgerEntryType": "DirectoryNode",
"LedgerIndex": "42EE066C2D6E683C6FDC95C3C0EF88B3D7C10E31E9D98060F517F18AD98217DF"
}
},
{
"DeletedNode": {
"FinalFields": {
"ExchangeRate": "5F04CE166242F400",
"Flags": 0,
"RootIndex": "7B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04CE166242F400",
"TakerGetsCurrency": "0000000000000000000000004254430000000000",
"TakerGetsIssuer": "0A20B3C85F482532A9578DBB3950B85CA06594D1",
"TakerPaysCurrency": "0000000000000000000000000000000000000000",
"TakerPaysIssuer": "0000000000000000000000000000000000000000"
},
"LedgerEntryType": "DirectoryNode",
"LedgerIndex": "7B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04CE166242F400"
}
},
{
"CreatedNode": {
"LedgerEntryType": "DirectoryNode",
"LedgerIndex": "7B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04D40AEE52AE00",
"NewFields": {
"ExchangeRate": "5F04D40AEE52AE00",
"RootIndex": "7B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04D40AEE52AE00",
"TakerGetsCurrency": "0000000000000000000000004254430000000000",
"TakerGetsIssuer": "0A20B3C85F482532A9578DBB3950B85CA06594D1"
}
}
},
{
"DeletedNode": {
"FinalFields": {
"Account": "rBZgggUbdV7wHF1d7BRu1BLsxQqKHX3SN4",
"BookDirectory": "7B73A610A009249B0CC0D4311E8BA7927B5A34D86634581C5F04CE166242F400",
"BookNode": "0000000000000000",
"Flags": 0,
"OwnerNode": "0000000000000000",
"PreviousTxnID": "0F60460F66E991AE6D77C50435E7FF8915453D411B6E43B38AC6410113B06CDC",
"PreviousTxnLgrSeq": 10982736,
"Sequence": 156647,
"TakerGets": {
"currency": "BTC",
"issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
"value": "1"
},
"TakerPays": "13524954400"
},
"LedgerEntryType": "Offer",
"LedgerIndex": "CDD61BD2DF2ADF53D0C05C171E2C8D48337BFE63868497BC30C5DCF2D0A03AFF"
}
},
{
"ModifiedNode": {
"FinalFields": {
"Account": "rBZgggUbdV7wHF1d7BRu1BLsxQqKHX3SN4",
"Balance": "25503131689",
"Flags": 0,
"OwnerCount": 9,
"Sequence": 156662
},
"LedgerEntryType": "AccountRoot",
"LedgerIndex": "E0A052DA53A0D6F6C16422D206D4E38862ED7A13AE90ED0EF5ED09353C2A7A94",
"PreviousFields": {
"Balance": "25503141689",
"Sequence": 156661
},
"PreviousTxnID": "329262FE69DD4F191AF0CE075489E7B7BDD273EC5528531D8184E1A73E76B7D3",
"PreviousTxnLgrSeq": 10983246
}
}
],
"TransactionIndex": 0,
"TransactionResult": "tesSUCCESS"
},
"validated": true
}
} }
} }

View File

@@ -7,12 +7,12 @@ var Currency = require('ripple-lib').Currency;
var options, remote, callback, database, tx; var options, remote, callback, database, tx;
var ADDRESS = 'r4qLSAzv4LZ9TLsR7diphGwKnSEAMQTSjS'; var ADDRESS = 'r4qLSAzv4LZ9TLsR7diphGwKnSEAMQTSjS';
var PEER_ADDRESS = 'rfYv1TXnwgDDK4WQNbFALykYuEBnrR4pDX'; var PEER_ADDRESS = 'rfYv1TXnwgDDK4WQNbFALykYuEBnrR4pDX';
var LEDGER_INDEX = 9592219; var LEDGER_INDEX = 9592219;
var LEDGER_HASH = 'B4FD84A73DBD8F0DA9E320D137176EBFED969691DC0AAC7882B76B595A0841AE'; var LEDGER_HASH = 'B4FD84A73DBD8F0DA9E320D137176EBFED969691DC0AAC7882B76B595A0841AE';
var PAGING_MARKER = '29F992CC252056BF690107D1E8F2D9FBAFF29FF107B62B1D1F4E4E11ADF2CC73'; var PAGING_MARKER = '29F992CC252056BF690107D1E8F2D9FBAFF29FF107B62B1D1F4E4E11ADF2CC73';
var TRANSACTION_HASH = '14576FFD5D59FFA73CAA90547BE4DE09926AAB59E981306C32CCE04408CBF8EA';
describe('Remote', function () { describe('Remote', function () {
beforeEach(function () { beforeEach(function () {
@@ -425,6 +425,203 @@ describe('Remote', function () {
assert(request.requested); assert(request.requested);
}); });
it ('requestAccountTransactions', function () {
function callback() {}
var remote = new Remote({
servers: [ { host: 's-west.ripple.com', port: 443, secure: true } ]
});
var request = remote.requestAccountTransactions(
{
account: UInt160.ACCOUNT_ONE,
min_ledger: -1,
max_ledger: -1,
limit: 5,
forward: true,
marker: PAGING_MARKER
},
callback
);
assert.deepEqual(request.message, {
command: 'account_tx',
id: undefined,
account: UInt160.ACCOUNT_ONE,
ledger_index_min: -1,
ledger_index_max: -1,
binary: true,
forward: true,
limit: 5,
marker: PAGING_MARKER
});
assert(request.requested);
});
it ('requestAccountTransactions - binary false', function () {
function callback() {}
var remote = new Remote({
servers: [ { host: 's-west.ripple.com', port: 443, secure: true } ]
});
var request = remote.requestAccountTransactions(
{
binary: false
},
callback
);
assert.deepEqual(request.message, {
command: 'account_tx',
id: undefined,
binary: false
});
assert(request.requested);
});
it ('requestTransaction', function () {
function callback() {}
var remote = new Remote({
servers: [ { host: 's-west.ripple.com', port: 443, secure: true } ]
});
var request = remote.requestTransaction(
{
hash: TRANSACTION_HASH
},
callback
);
assert.deepEqual(request.message, {
command: 'tx',
id: undefined,
binary: true,
transaction: TRANSACTION_HASH
});
assert(request.requested);
});
it ('requestTransaction - hash', function () {
function callback() {}
var remote = new Remote({
servers: [ { host: 's-west.ripple.com', port: 443, secure: true } ]
});
var request = remote.requestTransaction(TRANSACTION_HASH, callback);
assert.deepEqual(request.message, {
command: 'tx',
id: undefined,
binary: true,
transaction: TRANSACTION_HASH
});
assert(request.requested);
});
it ('requestTransaction - binary false', function () {
function callback() {}
var remote = new Remote({
servers: [ { host: 's-west.ripple.com', port: 443, secure: true } ]
});
var request = remote.requestTransaction(
{
hash: TRANSACTION_HASH,
binary: false
},
callback
);
assert.deepEqual(request.message, {
command: 'tx',
id: undefined,
binary: false,
transaction: TRANSACTION_HASH
});
assert(request.requested);
});
it ('requestLedgerData', function () {
function callback() {}
var remote = new Remote({
servers: [ { host: 's-west.ripple.com', port: 443, secure: true } ]
});
var request = remote.requestLedgerData(
{
ledger: LEDGER_HASH,
limit: 5
},
callback
);
assert.deepEqual(request.message, {
command: 'ledger_data',
id: undefined,
binary: true,
ledger_hash: LEDGER_HASH,
limit: 5
});
assert(request.requested);
});
it ('requestLedgerData - ledger index', function () {
function callback() {}
var remote = new Remote({
servers: [ { host: 's-west.ripple.com', port: 443, secure: true } ]
});
var request = remote.requestLedgerData(
{
ledger: LEDGER_INDEX,
limit: 5,
binary: false
},
callback
);
assert.deepEqual(request.message, {
command: 'ledger_data',
id: undefined,
binary: false,
ledger_index: LEDGER_INDEX,
limit: 5,
});
assert(request.requested);
});
it ('requestLedgerData - binary false', function () {
function callback() {}
var remote = new Remote({
servers: [ { host: 's-west.ripple.com', port: 443, secure: true } ]
});
var request = remote.requestLedgerData(
{
ledger: LEDGER_HASH,
limit: 5,
binary: false
},
callback
);
assert.deepEqual(request.message, {
command: 'ledger_data',
id: undefined,
binary: false,
ledger_hash: LEDGER_HASH,
limit: 5,
});
assert(request.requested);
});
it('create remote and get pending transactions', function() { it('create remote and get pending transactions', function() {
before(function() { before(function() {
tx = [{ tx = [{
@@ -512,10 +709,49 @@ describe('Remote', function () {
}) })
}) })
it('Remote.parseBinaryTransaction()', function() { it('Remote.parseBinaryAccountTransaction()', function() {
var binaryAccountTransaction = require('./fixtures/binary-account-transaction.json');
var parsed = Remote.parseBinaryAccountTransaction(binaryAccountTransaction.OfferCreate.binary);
assert.deepEqual(parsed, binaryAccountTransaction.OfferCreate.parsed);
var parsedPartialPayment = Remote.parseBinaryAccountTransaction(binaryAccountTransaction.PartialPayment.binary);
assert.deepEqual(parsedPartialPayment, binaryAccountTransaction.PartialPayment.parsed);
var parsedPayment = Remote.parseBinaryAccountTransaction(binaryAccountTransaction.Payment.binary);
assert.deepEqual(parsedPayment, binaryAccountTransaction.Payment.parsed);
});
it('Remote.parseBinaryTransaction()', function () {
var binaryTransaction = require('./fixtures/binary-transaction.json'); var binaryTransaction = require('./fixtures/binary-transaction.json');
var parsed = Remote.parseBinaryTransaction(binaryTransaction.binary);
assert.deepEqual(parsed, binaryTransaction.parsed); var parsedSourceTag = Remote.parseBinaryTransaction(binaryTransaction.PaymentWithSourceTag.binary);
assert.deepEqual(parsedSourceTag, binaryTransaction.PaymentWithSourceTag.parsed);
var parsedMemosAndPaths = Remote.parseBinaryTransaction(binaryTransaction.PaymentWithMemosAndPaths.binary);
assert.deepEqual(parsedMemosAndPaths, binaryTransaction.PaymentWithMemosAndPaths.parsed);
var parsedPartialPayment = Remote.parseBinaryTransaction(binaryTransaction.PartialPayment.binary);
assert.deepEqual(parsedPartialPayment, binaryTransaction.PartialPayment.parsed);
var parsedOfferCreate = Remote.parseBinaryTransaction(binaryTransaction.OfferCreate.binary);
assert.deepEqual(parsedOfferCreate, binaryTransaction.OfferCreate.parsed);
});
it('Remote.parseBinaryLedgerData()', function () {
var binaryLedgerData = require('./fixtures/binary-ledger-data.json');
var parsedAccountRoot = Remote.parseBinaryLedgerData(binaryLedgerData.AccountRoot.binary);
assert.deepEqual(parsedAccountRoot, binaryLedgerData.AccountRoot.parsed);
var parsedOffer = Remote.parseBinaryLedgerData(binaryLedgerData.Offer.binary);
assert.deepEqual(parsedOffer, binaryLedgerData.Offer.parsed);
var parsedDirectoryNode = Remote.parseBinaryLedgerData(binaryLedgerData.DirectoryNode.binary);
assert.deepEqual(parsedDirectoryNode, binaryLedgerData.DirectoryNode.parsed);
var parsedRippleState = Remote.parseBinaryLedgerData(binaryLedgerData.RippleState.binary);
assert.deepEqual(parsedRippleState, binaryLedgerData.RippleState.parsed);
}); });
describe('request constructors', function () { describe('request constructors', function () {

View File

@@ -29,10 +29,14 @@ describe('Serialized object', function() {
{ {
account: 'r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV', account: 'r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV',
currency: 'USD', currency: 'USD',
issuer: 'r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV' issuer: 'r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV',
type: 49,
type_hex: "0000000000000031"
}, },
{ {
currency: 'XRP' currency: 'XRP',
type: 16,
type_hex: "0000000000000010"
} }
]], ]],
SendMax: { SendMax: {

View File

@@ -673,7 +673,7 @@ describe('Serialized types', function() {
it('Serialize path through XRP', function () { it('Serialize path through XRP', function () {
var hex = '31000000000000000000000000000000000000007B00000000000000000000000055534400000000000000000000000000000000000000000000000315FF1000000000000000000000000000000000000000003100000000000000000000000000000000000003DB0000000000000000000000004555520000000000000000000000000000000000000000000000014100'; var hex = '31000000000000000000000000000000000000007B00000000000000000000000055534400000000000000000000000000000000000000000000000315FF1000000000000000000000000000000000000000003100000000000000000000000000000000000003DB0000000000000000000000004555520000000000000000000000000000000000000000000000014100';
var json = [ var json = [
[ { [{
account: "rrrrrrrrrrrrrrrrrrrrNxV3Xza", account: "rrrrrrrrrrrrrrrrrrrrNxV3Xza",
currency: 'USD', currency: 'USD',
issuer: "rrrrrrrrrrrrrrrrrrrpYnYCNYf" issuer: "rrrrrrrrrrrrrrrrrrrpYnYCNYf"
@@ -687,18 +687,39 @@ describe('Serialized types', function() {
}] }]
]; ];
var result_json = [
[{
account: 'rrrrrrrrrrrrrrrrrrrrNxV3Xza',
currency: 'USD',
issuer: 'rrrrrrrrrrrrrrrrrrrpYnYCNYf',
type: 49,
type_hex: '0000000000000031'
}],
[{
currency: 'XRP',
type: 16,
type_hex: '0000000000000010'
}, {
account: 'rrrrrrrrrrrrrrrrrrrpvQsW3V3',
currency: 'EUR',
issuer: 'rrrrrrrrrrrrrrrrrrrdHRtqg2',
type: 49,
type_hex: '0000000000000031'
}]
];
var so = new SerializedObject(); var so = new SerializedObject();
types.PathSet.serialize(so, json); types.PathSet.serialize(so, json);
assert.strictEqual(so.to_hex(), hex); assert.strictEqual(so.to_hex(), hex);
so = new SerializedObject(hex); so = new SerializedObject(hex);
var parsed_path = SerializedObject.jsonify_structure(types.PathSet.parse(so)); var parsed_path = SerializedObject.jsonify_structure(types.PathSet.parse(so));
assert.deepEqual(parsed_path, json); assert.deepEqual(parsed_path, result_json);
}); });
it('Serialize path through XRP IOUs', function () { it('Serialize path through XRP IOUs', function () {
var hex = '31000000000000000000000000000000000000007B00000000000000000000000055534400000000000000000000000000000000000000000000000315FF1000000000000000000000000058525000000000003100000000000000000000000000000000000003DB0000000000000000000000004555520000000000000000000000000000000000000000000000014100'; var hex = '31000000000000000000000000000000000000007B00000000000000000000000055534400000000000000000000000000000000000000000000000315FF1000000000000000000000000058525000000000003100000000000000000000000000000000000003DB0000000000000000000000004555520000000000000000000000000000000000000000000000014100';
var json = [ var json = [
[ { [{
account: "rrrrrrrrrrrrrrrrrrrrNxV3Xza", account: "rrrrrrrrrrrrrrrrrrrrNxV3Xza",
currency: 'USD', currency: 'USD',
issuer: "rrrrrrrrrrrrrrrrrrrpYnYCNYf" issuer: "rrrrrrrrrrrrrrrrrrrpYnYCNYf"
@@ -713,13 +734,35 @@ describe('Serialized types', function() {
}] }]
]; ];
var result_json = [
[{
account: 'rrrrrrrrrrrrrrrrrrrrNxV3Xza',
currency: 'USD',
issuer: 'rrrrrrrrrrrrrrrrrrrpYnYCNYf',
type: 49,
type_hex: '0000000000000031'
}],
[{
currency: 'XRP',
non_native: true,
type: 16,
type_hex: '0000000000000010'
}, {
account: 'rrrrrrrrrrrrrrrrrrrpvQsW3V3',
currency: 'EUR',
issuer: 'rrrrrrrrrrrrrrrrrrrdHRtqg2',
type: 49,
type_hex: '0000000000000031'
}]
];
var so = new SerializedObject(); var so = new SerializedObject();
types.PathSet.serialize(so, json); types.PathSet.serialize(so, json);
assert.strictEqual(so.to_hex(), hex); assert.strictEqual(so.to_hex(), hex);
so = new SerializedObject(hex); so = new SerializedObject(hex);
var parsed_path = SerializedObject.jsonify_structure(types.PathSet.parse(so)); var parsed_path = SerializedObject.jsonify_structure(types.PathSet.parse(so));
assert.deepEqual(parsed_path, json); assert.deepEqual(parsed_path, result_json);
}); });
it('Serialize path through XRP IOUs (realistic example)', function () { it('Serialize path through XRP IOUs (realistic example)', function () {
// Appears in the history // Appears in the history
@@ -778,13 +821,87 @@ describe('Serialized types', function() {
}] }]
]; ];
var result_json = [
[{
account: 'r9hEDb4xBGRfBCcX3E4FirDWQBAYtpxC8K',
currency: 'BTC',
issuer: 'r9hEDb4xBGRfBCcX3E4FirDWQBAYtpxC8K',
type: 49,
type_hex: '0000000000000031'
}, {
account: 'rM1oqKtfh1zgjdAgbFmaRm3btfGBX25xVo',
currency: 'BTC',
issuer: 'rM1oqKtfh1zgjdAgbFmaRm3btfGBX25xVo',
type: 49,
type_hex: '0000000000000031'
}, {
account: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B',
currency: 'BTC',
issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B',
type: 49,
type_hex: '0000000000000031'
}, {
currency: 'USD',
issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B',
type: 48,
type_hex: '0000000000000030'
}],
[{
account: 'r9hEDb4xBGRfBCcX3E4FirDWQBAYtpxC8K',
currency: 'BTC',
issuer: 'r9hEDb4xBGRfBCcX3E4FirDWQBAYtpxC8K',
type: 49,
type_hex: '0000000000000031'
}, {
account: 'rM1oqKtfh1zgjdAgbFmaRm3btfGBX25xVo',
currency: 'BTC',
issuer: 'rM1oqKtfh1zgjdAgbFmaRm3btfGBX25xVo',
type: 49,
type_hex: '0000000000000031'
}, {
account: 'rpvfJ4mR6QQAeogpXEKnuyGBx8mYCSnYZi',
currency: 'BTC',
issuer: 'rpvfJ4mR6QQAeogpXEKnuyGBx8mYCSnYZi',
type: 49,
type_hex: '0000000000000031'
}, {
currency: 'USD',
issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B',
type: 48,
type_hex: '0000000000000030'
}],
[{
account: 'r9hEDb4xBGRfBCcX3E4FirDWQBAYtpxC8K',
currency: 'BTC',
issuer: 'r9hEDb4xBGRfBCcX3E4FirDWQBAYtpxC8K',
type: 49,
type_hex: '0000000000000031'
}, {
account: 'r3AWbdp2jQLXLywJypdoNwVSvr81xs3uhn',
currency: 'BTC',
issuer: 'r3AWbdp2jQLXLywJypdoNwVSvr81xs3uhn',
type: 49,
type_hex: '0000000000000031'
}, {
currency: 'XRP',
non_native: true,
type: 16,
type_hex: '0000000000000010'
}, {
currency: 'USD',
issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B',
type: 48,
type_hex: '0000000000000030'
}]
];
var so = new SerializedObject(); var so = new SerializedObject();
types.PathSet.serialize(so, json); types.PathSet.serialize(so, json);
assert.strictEqual(so.to_hex(), hex); assert.strictEqual(so.to_hex(), hex);
so = new SerializedObject(hex); so = new SerializedObject(hex);
var parsed_path = SerializedObject.jsonify_structure(types.PathSet.parse(so)); var parsed_path = SerializedObject.jsonify_structure(types.PathSet.parse(so));
assert.deepEqual(parsed_path, json); assert.deepEqual(parsed_path, result_json);
}); });
it('Parse single empty path [[]]', function () { it('Parse single empty path [[]]', function () {
var so = new SerializedObject('00'); var so = new SerializedObject('00');
@@ -797,13 +914,20 @@ describe('Serialized types', function() {
var parsed_path = types.PathSet.parse(so); var parsed_path = types.PathSet.parse(so);
var comp = [ [ { account: 'rrrrrrrrrrrrrrrrrrrrNxV3Xza', var comp = [ [ { account: 'rrrrrrrrrrrrrrrrrrrrNxV3Xza',
currency: 'USD', currency: 'USD',
issuer: 'rrrrrrrrrrrrrrrrrrrpYnYCNYf' } ], issuer: 'rrrrrrrrrrrrrrrrrrrpYnYCNYf',
type: 49,
type_hex: '0000000000000031' } ],
[ { account: 'rrrrrrrrrrrrrrrrrrrrNxV3Xza', [ { account: 'rrrrrrrrrrrrrrrrrrrrNxV3Xza',
currency: 'BTC', currency: 'BTC',
issuer: 'rrrrrrrrrrrrrrrrrrrpYnYCNYf' }, issuer: 'rrrrrrrrrrrrrrrrrrrpYnYCNYf',
type: 49,
type_hex: '0000000000000031' },
{ account: 'rrrrrrrrrrrrrrrrrrrpvQsW3V3', { account: 'rrrrrrrrrrrrrrrrrrrpvQsW3V3',
currency: 'EUR', currency: 'EUR',
issuer: 'rrrrrrrrrrrrrrrrrrrdHRtqg2' } ] ]; issuer: 'rrrrrrrrrrrrrrrrrrrdHRtqg2',
type: 49,
type_hex: '0000000000000031' } ] ];
assert.deepEqual(SerializedObject.jsonify_structure(parsed_path, ""), comp); assert.deepEqual(SerializedObject.jsonify_structure(parsed_path, ""), comp);
}); });
}); });