diff --git a/test/amount-test-error.js b/test/amount-test-error.js new file mode 100644 index 00000000..234e0036 --- /dev/null +++ b/test/amount-test-error.js @@ -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); + }); + +}); diff --git a/test/fixtures/negative-error.json b/test/fixtures/negative-error.json new file mode 100644 index 00000000..3c027ee0 --- /dev/null +++ b/test/fixtures/negative-error.json @@ -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" + ] + } + } + +}