shows event that leads to "Offer total cannot be negative" error

This commit is contained in:
Ivan Tivonenko
2015-09-03 21:15:28 +03:00
parent fb1669b2b3
commit 580bf9a755
2 changed files with 764 additions and 0 deletions

46
test/amount-test-error.js Normal file
View File

@@ -0,0 +1,46 @@
'use strict';
const assert = require('assert');
const Amount = require('ripple-lib').Amount;
const Remote = require('ripple-lib').Remote;
const data = require('./fixtures/negative-error');
describe.skip('Amount ', function() {
it('Show "Offer total cannot be negative" error', function() {
const a1 = {
currency: 'JPY',
issuer: 'r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN',
value: '66436.33517689175'
};
const a2 = {
currency: 'JPY',
issuer: 'r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN',
value: '66435.49665972557'
};
const a1a = Amount.from_json(a1);
const res = a1a.add(a2).subtract(a2).subtract(a1);
console.log(res.to_human());
assert(!res.is_negative(), 'Offer total cannot be negative');
});
it('Show Details of "Offer total cannot be negative" error', function() {
const book = new Remote().createOrderBook({
currency_gets: 'JPY',
issuer_gets: 'r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN',
currency_pays: 'XRP'
});
book._subscribed = true;
book._synced = true;
book._offers = data._offers;
book._offerCounts = data._offerCounts;
book._ownerFundsUnadjusted = data._ownerFundsUnadjusted;
book._ownerFunds = data._ownerFunds;
book._ownerOffersTotal = data._ownerOffersTotal;
book._issuerTransferRate = 1000000000;
book._remote._handleTransaction(data.message1);
book._remote._handleTransaction(data.lastMessage);
});
});

718
test/fixtures/negative-error.json vendored Normal file
View File

@@ -0,0 +1,718 @@
{
"_offers":
[
{
"Account": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"BookDirectory": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FBB5C48403",
"BookNode": "0000000000000000",
"Flags": 0,
"OwnerNode": "000000000000000F",
"PreviousTxnID": "8FB8D385FF07349C022524BBD2AC693B38751880CE123505E558ED18FA1043C1",
"PreviousTxnLgrSeq": 15658981,
"Sequence": 3511992,
"TakerGets": {
"currency": "JPY",
"issuer": "r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN",
"value": "66435.49665972557"
},
"TakerPays": "71365305157",
"Flags": 0,
"BookNode": "0000000000000000",
"LedgerEntryType": "Offer",
"index": "64DDB33BF3AF700BF8DBD66DDBD7F43495C20B41E55420F5F865538A956999B2",
"quality": "1074203.813756165",
"owner_funds": "770539.7390873457",
"is_fully_funded": true,
"taker_gets_funded": "66436.33517689175",
"taker_pays_funded": "71366164619"
}
],
"_offerCounts":
{
"rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5": 1
},
"_ownerFundsUnadjusted":
{
"rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5": "770539.7390873457"
},
"_ownerFunds":
{
"rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5": "770539.7390873457"
},
"_ownerOffersTotal":
{
"rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5": {
"_value": "66436.33517689173",
"_is_native": false,
"_currency": {
"_value": {
"limbs": [
0,
3145728,
12336,
0,
0,
0,
0
]
},
"_native": false,
"_type": 0,
"_interest_start": null,
"_interest_period": null,
"_iso_code": "000"
},
"_issuer": {
"_value": {
"limbs": [
0,
0,
0,
0,
0,
0,
0
]
},
"_version_byte": 0
}
}
},
"message1": {
"engine_result": "tesSUCCESS",
"engine_result_code": 0,
"engine_result_message": "The transaction was applied. Only final in a validated ledger.",
"ledger_hash": "12E6264EB6D9287171C904DDEF494C4EE0A7D6B4200C1AC9683C45B349B82622",
"ledger_index": 15658982,
"meta": {
"AffectedNodes": [
{
"CreatedNode": {
"LedgerEntryType": "Offer",
"LedgerIndex": "1E5B1F64A949775AC3236139AD28452AF0D32F28D43DBEB0BFEF85D942E69E5A",
"NewFields": {
"Account": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"BookDirectory": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FB90BC3D05",
"OwnerNode": "000000000000000F",
"Sequence": 3512003,
"TakerGets": {
"currency": "JPY",
"issuer": "r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN",
"value": "66436.33517689175"
},
"TakerPays": "71366164619"
}
}
},
{
"DeletedNode": {
"FinalFields": {
"Account": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"BookDirectory": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FBB5C48403",
"BookNode": "0000000000000000",
"Flags": 0,
"OwnerNode": "000000000000000F",
"PreviousTxnID": "8FB8D385FF07349C022524BBD2AC693B38751880CE123505E558ED18FA1043C1",
"PreviousTxnLgrSeq": 15658981,
"Sequence": 3511992,
"TakerGets": {
"currency": "JPY",
"issuer": "r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN",
"value": "66435.49665972557"
},
"TakerPays": "71365305157"
},
"LedgerEntryType": "Offer",
"LedgerIndex": "64DDB33BF3AF700BF8DBD66DDBD7F43495C20B41E55420F5F865538A956999B2"
}
},
{
"ModifiedNode": {
"FinalFields": {
"Flags": 0,
"IndexPrevious": "0000000000000001",
"Owner": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"RootIndex": "77FF082487FAF8E65296292EBD5779AC4283909E2E171DFB1BE69F09B765D882"
},
"LedgerEntryType": "DirectoryNode",
"LedgerIndex": "669421A08DBE33B9F510ED2AA0C32A71445AA95613BB0DC87DB2A4E6DBF45ED1"
}
},
{
"ModifiedNode": {
"FinalFields": {
"Account": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"Balance": "1045829766700",
"Flags": 0,
"OwnerCount": 33,
"Sequence": 3512004
},
"LedgerEntryType": "AccountRoot",
"LedgerIndex": "6FA3F5B750FF159267BA377112BA021DD4941543FEDFB73CDE2EEC1E4E5B17FE",
"PreviousFields": {
"Balance": "1045829776700",
"Sequence": 3512003
},
"PreviousTxnID": "71CB0DAC1149EB3301A45F96D3CB124B2EF911CFBD5F62A209DC9350EE251560",
"PreviousTxnLgrSeq": 15658982
}
},
{
"CreatedNode": {
"LedgerEntryType": "DirectoryNode",
"LedgerIndex": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FB90BC3D05",
"NewFields": {
"ExchangeRate": "5B03D0FB90BC3D05",
"RootIndex": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FB90BC3D05",
"TakerGetsCurrency": "0000000000000000000000004A50590000000000",
"TakerGetsIssuer": "5BBC0F22F61D9224A110650CFE21CC0C4BE13098"
}
}
},
{
"DeletedNode": {
"FinalFields": {
"ExchangeRate": "5B03D0FBB5C48403",
"Flags": 0,
"RootIndex": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FBB5C48403",
"TakerGetsCurrency": "0000000000000000000000004A50590000000000",
"TakerGetsIssuer": "5BBC0F22F61D9224A110650CFE21CC0C4BE13098",
"TakerPaysCurrency": "0000000000000000000000000000000000000000",
"TakerPaysIssuer": "0000000000000000000000000000000000000000"
},
"LedgerEntryType": "DirectoryNode",
"LedgerIndex": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FBB5C48403"
}
}
],
"TransactionIndex": 16,
"TransactionResult": "tesSUCCESS"
},
"status": "closed",
"transaction": {
"Account": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"Fee": "10000",
"Flags": 2147483648,
"LastLedgerSequence": 15658983,
"Memos": [
{
"Memo": {
"MemoType": "3031"
}
}
],
"OfferSequence": 3511992,
"Sequence": 3512003,
"SigningPubKey": "023104AE68E6E6FA6987345A37B8A651E867356947E101E7BFB278541836277D48",
"TakerGets": {
"currency": "JPY",
"issuer": "r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN",
"value": "66436.33517689175"
},
"TakerPays": "71366164619",
"TransactionType": "OfferCreate",
"TxnSignature": "304402204B6A793273487D1811D9479B8408A3A0752EAAF0A6F2BC385F275AD2167BCE0402201F6BBD07407499D839F9834662087F508AC06B67C5E049D72A3FF3A55E89829C",
"date": 494604970,
"hash": "F8F042903D4A2AE18F407D2B277EB75FC1C7ED115401ACA54D9A26D96D7F9A98",
"owner_funds": "770539.7390873457"
},
"type": "transaction",
"validated": true,
"mmeta": {
"nodes": [
{
"nodeType": "CreatedNode",
"diffType": "CreatedNode",
"entryType": "Offer",
"ledgerIndex": "1E5B1F64A949775AC3236139AD28452AF0D32F28D43DBEB0BFEF85D942E69E5A",
"fields": {
"Account": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"BookDirectory": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FB90BC3D05",
"OwnerNode": "000000000000000F",
"Sequence": 3512003,
"TakerGets": {
"currency": "JPY",
"issuer": "r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN",
"value": "66436.33517689175"
},
"TakerPays": "71366164619"
},
"fieldsPrev": {},
"fieldsNew": {
"Account": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"BookDirectory": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FB90BC3D05",
"OwnerNode": "000000000000000F",
"Sequence": 3512003,
"TakerGets": {
"currency": "JPY",
"issuer": "r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN",
"value": "66436.33517689175"
},
"TakerPays": "71366164619"
},
"fieldsFinal": {},
"bookKey": "JPY/r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN:XRP"
},
{
"nodeType": "DeletedNode",
"diffType": "DeletedNode",
"entryType": "Offer",
"ledgerIndex": "64DDB33BF3AF700BF8DBD66DDBD7F43495C20B41E55420F5F865538A956999B2",
"fields": {
"Account": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"BookDirectory": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FBB5C48403",
"BookNode": "0000000000000000",
"Flags": 0,
"OwnerNode": "000000000000000F",
"PreviousTxnID": "8FB8D385FF07349C022524BBD2AC693B38751880CE123505E558ED18FA1043C1",
"PreviousTxnLgrSeq": 15658981,
"Sequence": 3511992,
"TakerGets": {
"currency": "JPY",
"issuer": "r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN",
"value": "66435.49665972557"
},
"TakerPays": "71365305157"
},
"fieldsPrev": {},
"fieldsNew": {},
"fieldsFinal": {
"Account": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"BookDirectory": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FBB5C48403",
"BookNode": "0000000000000000",
"Flags": 0,
"OwnerNode": "000000000000000F",
"PreviousTxnID": "8FB8D385FF07349C022524BBD2AC693B38751880CE123505E558ED18FA1043C1",
"PreviousTxnLgrSeq": 15658981,
"Sequence": 3511992,
"TakerGets": {
"currency": "JPY",
"issuer": "r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN",
"value": "66435.49665972557"
},
"TakerPays": "71365305157"
},
"bookKey": "JPY/r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN:XRP"
},
{
"nodeType": "ModifiedNode",
"diffType": "ModifiedNode",
"entryType": "DirectoryNode",
"ledgerIndex": "669421A08DBE33B9F510ED2AA0C32A71445AA95613BB0DC87DB2A4E6DBF45ED1",
"fields": {
"Flags": 0,
"IndexPrevious": "0000000000000001",
"Owner": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"RootIndex": "77FF082487FAF8E65296292EBD5779AC4283909E2E171DFB1BE69F09B765D882"
},
"fieldsPrev": {},
"fieldsNew": {},
"fieldsFinal": {
"Flags": 0,
"IndexPrevious": "0000000000000001",
"Owner": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"RootIndex": "77FF082487FAF8E65296292EBD5779AC4283909E2E171DFB1BE69F09B765D882"
}
},
{
"nodeType": "ModifiedNode",
"diffType": "ModifiedNode",
"entryType": "AccountRoot",
"ledgerIndex": "6FA3F5B750FF159267BA377112BA021DD4941543FEDFB73CDE2EEC1E4E5B17FE",
"fields": {
"Balance": "1045829766700",
"Sequence": 3512004,
"Account": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"Flags": 0,
"OwnerCount": 33
},
"fieldsPrev": {
"Balance": "1045829776700",
"Sequence": 3512003
},
"fieldsNew": {},
"fieldsFinal": {
"Account": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"Balance": "1045829766700",
"Flags": 0,
"OwnerCount": 33,
"Sequence": 3512004
}
},
{
"nodeType": "CreatedNode",
"diffType": "CreatedNode",
"entryType": "DirectoryNode",
"ledgerIndex": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FB90BC3D05",
"fields": {
"ExchangeRate": "5B03D0FB90BC3D05",
"RootIndex": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FB90BC3D05",
"TakerGetsCurrency": "0000000000000000000000004A50590000000000",
"TakerGetsIssuer": "5BBC0F22F61D9224A110650CFE21CC0C4BE13098"
},
"fieldsPrev": {},
"fieldsNew": {
"ExchangeRate": "5B03D0FB90BC3D05",
"RootIndex": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FB90BC3D05",
"TakerGetsCurrency": "0000000000000000000000004A50590000000000",
"TakerGetsIssuer": "5BBC0F22F61D9224A110650CFE21CC0C4BE13098"
},
"fieldsFinal": {}
},
{
"nodeType": "DeletedNode",
"diffType": "DeletedNode",
"entryType": "DirectoryNode",
"ledgerIndex": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FBB5C48403",
"fields": {
"ExchangeRate": "5B03D0FBB5C48403",
"Flags": 0,
"RootIndex": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FBB5C48403",
"TakerGetsCurrency": "0000000000000000000000004A50590000000000",
"TakerGetsIssuer": "5BBC0F22F61D9224A110650CFE21CC0C4BE13098",
"TakerPaysCurrency": "0000000000000000000000000000000000000000",
"TakerPaysIssuer": "0000000000000000000000000000000000000000"
},
"fieldsPrev": {},
"fieldsNew": {},
"fieldsFinal": {
"ExchangeRate": "5B03D0FBB5C48403",
"Flags": 0,
"RootIndex": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FBB5C48403",
"TakerGetsCurrency": "0000000000000000000000004A50590000000000",
"TakerGetsIssuer": "5BBC0F22F61D9224A110650CFE21CC0C4BE13098",
"TakerPaysCurrency": "0000000000000000000000000000000000000000",
"TakerPaysIssuer": "0000000000000000000000000000000000000000"
}
}
],
"_affectedAccounts": [
"rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN"
],
"_affectedBooks": [
"JPY/r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN:XRP"
]
}
},
"lastMessage": {
"engine_result": "tesSUCCESS",
"engine_result_code": 0,
"engine_result_message": "The transaction was applied. Only final in a validated ledger.",
"ledger_hash": "91A484E043A0AD506BF84D3FC733B3F1886831F65E23866B15B356392B714261",
"ledger_index": 15658984,
"meta": {
"AffectedNodes": [
{
"DeletedNode": {
"FinalFields": {
"Account": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"BookDirectory": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FB90BC3D05",
"BookNode": "0000000000000000",
"Flags": 0,
"OwnerNode": "000000000000000F",
"PreviousTxnID": "F8F042903D4A2AE18F407D2B277EB75FC1C7ED115401ACA54D9A26D96D7F9A98",
"PreviousTxnLgrSeq": 15658982,
"Sequence": 3512003,
"TakerGets": {
"currency": "JPY",
"issuer": "r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN",
"value": "66436.33517689175"
},
"TakerPays": "71366164619"
},
"LedgerEntryType": "Offer",
"LedgerIndex": "1E5B1F64A949775AC3236139AD28452AF0D32F28D43DBEB0BFEF85D942E69E5A"
}
},
{
"ModifiedNode": {
"FinalFields": {
"Flags": 0,
"IndexPrevious": "0000000000000001",
"Owner": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"RootIndex": "77FF082487FAF8E65296292EBD5779AC4283909E2E171DFB1BE69F09B765D882"
},
"LedgerEntryType": "DirectoryNode",
"LedgerIndex": "669421A08DBE33B9F510ED2AA0C32A71445AA95613BB0DC87DB2A4E6DBF45ED1"
}
},
{
"ModifiedNode": {
"FinalFields": {
"Account": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"Balance": "1045829696700",
"Flags": 0,
"OwnerCount": 33,
"Sequence": 3512011
},
"LedgerEntryType": "AccountRoot",
"LedgerIndex": "6FA3F5B750FF159267BA377112BA021DD4941543FEDFB73CDE2EEC1E4E5B17FE",
"PreviousFields": {
"Balance": "1045829706700",
"Sequence": 3512010
},
"PreviousTxnID": "D8518B78A0C6643A79283247BF09DB85F428D80FCF0268242A899482E23F11CE",
"PreviousTxnLgrSeq": 15658984
}
},
{
"CreatedNode": {
"LedgerEntryType": "Offer",
"LedgerIndex": "709FAE8F56B15C9C3326D8D5D0DF461C17BD5E97C909D46CE366DEE2BC227F0F",
"NewFields": {
"Account": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"BookDirectory": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D025BE99FECC",
"OwnerNode": "000000000000000F",
"Sequence": 3512010,
"TakerGets": {
"currency": "JPY",
"issuer": "r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN",
"value": "66493.18081187701"
},
"TakerPays": "71366164172"
}
}
},
{
"CreatedNode": {
"LedgerEntryType": "DirectoryNode",
"LedgerIndex": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D025BE99FECC",
"NewFields": {
"ExchangeRate": "5B03D025BE99FECC",
"RootIndex": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D025BE99FECC",
"TakerGetsCurrency": "0000000000000000000000004A50590000000000",
"TakerGetsIssuer": "5BBC0F22F61D9224A110650CFE21CC0C4BE13098"
}
}
},
{
"DeletedNode": {
"FinalFields": {
"ExchangeRate": "5B03D0FB90BC3D05",
"Flags": 0,
"RootIndex": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FB90BC3D05",
"TakerGetsCurrency": "0000000000000000000000004A50590000000000",
"TakerGetsIssuer": "5BBC0F22F61D9224A110650CFE21CC0C4BE13098",
"TakerPaysCurrency": "0000000000000000000000000000000000000000",
"TakerPaysIssuer": "0000000000000000000000000000000000000000"
},
"LedgerEntryType": "DirectoryNode",
"LedgerIndex": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FB90BC3D05"
}
}
],
"TransactionIndex": 9,
"TransactionResult": "tesSUCCESS"
},
"status": "closed",
"transaction": {
"Account": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"Fee": "10000",
"Flags": 2147483648,
"LastLedgerSequence": 15658985,
"Memos": [
{
"Memo": {
"MemoType": "3031"
}
}
],
"OfferSequence": 3512003,
"Sequence": 3512010,
"SigningPubKey": "023104AE68E6E6FA6987345A37B8A651E867356947E101E7BFB278541836277D48",
"TakerGets": {
"currency": "JPY",
"issuer": "r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN",
"value": "66493.18081187701"
},
"TakerPays": "71366164172",
"TransactionType": "OfferCreate",
"TxnSignature": "304402201DE5CFA82F4CCBF1A987EDCB63EC95EFCC4FC7F167B942FC78CA68C459252D6B02205690058F976A49EF7034FD6958CA02889288782C81A8FEE83A791BA1A974336E",
"date": 494604980,
"hash": "68C33D8465B2F7942D118679CC73976988725CC057F6D0E22413B4E5A0A64087",
"owner_funds": "770539.7390873457"
},
"type": "transaction",
"validated": true,
"mmeta": {
"nodes": [
{
"nodeType": "DeletedNode",
"diffType": "DeletedNode",
"entryType": "Offer",
"ledgerIndex": "1E5B1F64A949775AC3236139AD28452AF0D32F28D43DBEB0BFEF85D942E69E5A",
"fields": {
"Account": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"BookDirectory": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FB90BC3D05",
"BookNode": "0000000000000000",
"Flags": 0,
"OwnerNode": "000000000000000F",
"PreviousTxnID": "F8F042903D4A2AE18F407D2B277EB75FC1C7ED115401ACA54D9A26D96D7F9A98",
"PreviousTxnLgrSeq": 15658982,
"Sequence": 3512003,
"TakerGets": {
"currency": "JPY",
"issuer": "r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN",
"value": "66436.33517689175"
},
"TakerPays": "71366164619"
},
"fieldsPrev": {},
"fieldsNew": {},
"fieldsFinal": {
"Account": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"BookDirectory": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FB90BC3D05",
"BookNode": "0000000000000000",
"Flags": 0,
"OwnerNode": "000000000000000F",
"PreviousTxnID": "F8F042903D4A2AE18F407D2B277EB75FC1C7ED115401ACA54D9A26D96D7F9A98",
"PreviousTxnLgrSeq": 15658982,
"Sequence": 3512003,
"TakerGets": {
"currency": "JPY",
"issuer": "r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN",
"value": "66436.33517689175"
},
"TakerPays": "71366164619"
},
"bookKey": "JPY/r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN:XRP"
},
{
"nodeType": "ModifiedNode",
"diffType": "ModifiedNode",
"entryType": "DirectoryNode",
"ledgerIndex": "669421A08DBE33B9F510ED2AA0C32A71445AA95613BB0DC87DB2A4E6DBF45ED1",
"fields": {
"Flags": 0,
"IndexPrevious": "0000000000000001",
"Owner": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"RootIndex": "77FF082487FAF8E65296292EBD5779AC4283909E2E171DFB1BE69F09B765D882"
},
"fieldsPrev": {},
"fieldsNew": {},
"fieldsFinal": {
"Flags": 0,
"IndexPrevious": "0000000000000001",
"Owner": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"RootIndex": "77FF082487FAF8E65296292EBD5779AC4283909E2E171DFB1BE69F09B765D882"
}
},
{
"nodeType": "ModifiedNode",
"diffType": "ModifiedNode",
"entryType": "AccountRoot",
"ledgerIndex": "6FA3F5B750FF159267BA377112BA021DD4941543FEDFB73CDE2EEC1E4E5B17FE",
"fields": {
"Balance": "1045829696700",
"Sequence": 3512011,
"Account": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"Flags": 0,
"OwnerCount": 33
},
"fieldsPrev": {
"Balance": "1045829706700",
"Sequence": 3512010
},
"fieldsNew": {},
"fieldsFinal": {
"Account": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"Balance": "1045829696700",
"Flags": 0,
"OwnerCount": 33,
"Sequence": 3512011
}
},
{
"nodeType": "CreatedNode",
"diffType": "CreatedNode",
"entryType": "Offer",
"ledgerIndex": "709FAE8F56B15C9C3326D8D5D0DF461C17BD5E97C909D46CE366DEE2BC227F0F",
"fields": {
"Account": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"BookDirectory": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D025BE99FECC",
"OwnerNode": "000000000000000F",
"Sequence": 3512010,
"TakerGets": {
"currency": "JPY",
"issuer": "r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN",
"value": "66493.18081187701"
},
"TakerPays": "71366164172"
},
"fieldsPrev": {},
"fieldsNew": {
"Account": "rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"BookDirectory": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D025BE99FECC",
"OwnerNode": "000000000000000F",
"Sequence": 3512010,
"TakerGets": {
"currency": "JPY",
"issuer": "r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN",
"value": "66493.18081187701"
},
"TakerPays": "71366164172"
},
"fieldsFinal": {},
"bookKey": "JPY/r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN:XRP"
},
{
"nodeType": "CreatedNode",
"diffType": "CreatedNode",
"entryType": "DirectoryNode",
"ledgerIndex": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D025BE99FECC",
"fields": {
"ExchangeRate": "5B03D025BE99FECC",
"RootIndex": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D025BE99FECC",
"TakerGetsCurrency": "0000000000000000000000004A50590000000000",
"TakerGetsIssuer": "5BBC0F22F61D9224A110650CFE21CC0C4BE13098"
},
"fieldsPrev": {},
"fieldsNew": {
"ExchangeRate": "5B03D025BE99FECC",
"RootIndex": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D025BE99FECC",
"TakerGetsCurrency": "0000000000000000000000004A50590000000000",
"TakerGetsIssuer": "5BBC0F22F61D9224A110650CFE21CC0C4BE13098"
},
"fieldsFinal": {}
},
{
"nodeType": "DeletedNode",
"diffType": "DeletedNode",
"entryType": "DirectoryNode",
"ledgerIndex": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FB90BC3D05",
"fields": {
"ExchangeRate": "5B03D0FB90BC3D05",
"Flags": 0,
"RootIndex": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FB90BC3D05",
"TakerGetsCurrency": "0000000000000000000000004A50590000000000",
"TakerGetsIssuer": "5BBC0F22F61D9224A110650CFE21CC0C4BE13098",
"TakerPaysCurrency": "0000000000000000000000000000000000000000",
"TakerPaysIssuer": "0000000000000000000000000000000000000000"
},
"fieldsPrev": {},
"fieldsNew": {},
"fieldsFinal": {
"ExchangeRate": "5B03D0FB90BC3D05",
"Flags": 0,
"RootIndex": "9F72CA02AB7CBA0FD97EA5F245C03EDC555C3FE97749CD425B03D0FB90BC3D05",
"TakerGetsCurrency": "0000000000000000000000004A50590000000000",
"TakerGetsIssuer": "5BBC0F22F61D9224A110650CFE21CC0C4BE13098",
"TakerPaysCurrency": "0000000000000000000000000000000000000000",
"TakerPaysIssuer": "0000000000000000000000000000000000000000"
}
}
],
"_affectedAccounts": [
"rBztfz5wmDXXgB3KQd5LgtbHZz28KGpYP5",
"r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN"
],
"_affectedBooks": [
"JPY/r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN:XRP"
]
}
}
}