diff --git a/test/api-test.js b/test/api-test.js index 903b770f..ad70f35a 100644 --- a/test/api-test.js +++ b/test/api-test.js @@ -206,6 +206,30 @@ describe('RippleAPI', function() { 'getTransaction', done)); }); + it('getTransaction - tracking on', function(done) { + const hash = + '8925FC8844A1E930E2CC76AD0A15E7665AFCC5425376D548BB1413F484C31B8C'; + this.api.getTransaction(hash, {}, + _.partial(checkResult, responses.getTransaction.trackingOn, + 'getTransaction', done)); + }); + + it('getTransaction - tracking off', function(done) { + const hash = + 'C8C5E20DFB1BF533D0D81A2ED23F0A3CBD1EF2EE8A902A1D760500473CC9C582'; + this.api.getTransaction(hash, {}, + _.partial(checkResult, responses.getTransaction.trackingOff, + 'getTransaction', done)); + }); + + it('getTransaction - set regular key', function(done) { + const hash = + '278E6687C1C60C6873996210A6523564B63F2844FB1019576C157353B1813E60'; + this.api.getTransaction(hash, {}, + _.partial(checkResult, responses.getTransaction.setRegularKey, + 'getTransaction', done)); + }); + it('getTransaction - not found in range', function(done) { const hash = '809335DD3B0B333865096217AA2F55A4DF168E0198080B3A090D12D88880FF0E'; diff --git a/test/fixtures/api/responses/get-transaction-settings-set-regular-key.json b/test/fixtures/api/responses/get-transaction-settings-set-regular-key.json new file mode 100644 index 00000000..007a88ed --- /dev/null +++ b/test/fixtures/api/responses/get-transaction-settings-set-regular-key.json @@ -0,0 +1,25 @@ +{ + "type": "settings", + "address": "r9UHu5CWni1qRY7Q4CfFZLGvXo2pGQy96b", + "sequence": 468, + "id": "278E6687C1C60C6873996210A6523564B63F2844FB1019576C157353B1813E60", + "specification": { + "regularKey": "rsvEdWvfwzqkgvmaSEh9kgbcWiUc6s69ZC" + }, + "outcome": { + "result": "tesSUCCESS", + "timestamp": "2015-07-27T15:30:50.000Z", + "fee": "0.012", + "balanceChanges": { + "r9UHu5CWni1qRY7Q4CfFZLGvXo2pGQy96b": [ + { + "currency": "XRP", + "value": "-0.012" + } + ] + }, + "orderbookChanges": {}, + "ledgerVersion": 14892648, + "indexInLedger": 0 + } +} diff --git a/test/fixtures/api/responses/get-transaction-settings-tracking-off.json b/test/fixtures/api/responses/get-transaction-settings-tracking-off.json new file mode 100644 index 00000000..227746c5 --- /dev/null +++ b/test/fixtures/api/responses/get-transaction-settings-tracking-off.json @@ -0,0 +1,25 @@ +{ + "type": "settings", + "address": "r9UHu5CWni1qRY7Q4CfFZLGvXo2pGQy96b", + "sequence": 476, + "id": "C8C5E20DFB1BF533D0D81A2ED23F0A3CBD1EF2EE8A902A1D760500473CC9C582", + "specification": { + "enableTransactionIDTracking": false + }, + "outcome": { + "result": "tesSUCCESS", + "timestamp": "2015-07-28T18:45:00.000Z", + "fee": "0.012", + "balanceChanges": { + "r9UHu5CWni1qRY7Q4CfFZLGvXo2pGQy96b": [ + { + "currency": "XRP", + "value": "-0.012" + } + ] + }, + "orderbookChanges": {}, + "ledgerVersion": 14915293, + "indexInLedger": 2 + } +} diff --git a/test/fixtures/api/responses/get-transaction-settings-tracking-on.json b/test/fixtures/api/responses/get-transaction-settings-tracking-on.json new file mode 100644 index 00000000..6a664774 --- /dev/null +++ b/test/fixtures/api/responses/get-transaction-settings-tracking-on.json @@ -0,0 +1,25 @@ +{ + "type": "settings", + "address": "r9UHu5CWni1qRY7Q4CfFZLGvXo2pGQy96b", + "sequence": 475, + "id": "8925FC8844A1E930E2CC76AD0A15E7665AFCC5425376D548BB1413F484C31B8C", + "specification": { + "enableTransactionIDTracking": true + }, + "outcome": { + "result": "tesSUCCESS", + "timestamp": "2015-07-28T18:16:50.000Z", + "fee": "0.012", + "balanceChanges": { + "r9UHu5CWni1qRY7Q4CfFZLGvXo2pGQy96b": [ + { + "currency": "XRP", + "value": "-0.012" + } + ] + }, + "orderbookChanges": {}, + "ledgerVersion": 14914896, + "indexInLedger": 1 + } +} diff --git a/test/fixtures/api/responses/index.js b/test/fixtures/api/responses/index.js index f51e5fb9..507d10a2 100644 --- a/test/fixtures/api/responses/index.js +++ b/test/fixtures/api/responses/index.js @@ -18,7 +18,10 @@ module.exports = { order: require('./get-transaction-order.json'), payment: require('./get-transaction-payment.json'), settings: require('./get-transaction-settings.json'), - trustline: require('./get-transaction-trustline-set.json') + trustline: require('./get-transaction-trustline-set.json'), + trackingOn: require('./get-transaction-settings-tracking-on.json'), + trackingOff: require('./get-transaction-settings-tracking-off.json'), + setRegularKey: require('./get-transaction-settings-set-regular-key.json') }, getTransactions: require('./get-transactions.json'), getTrustlines: require('./get-trustlines.json'), diff --git a/test/fixtures/api/rippled/index.js b/test/fixtures/api/rippled/index.js index 8eb0b483..ded71e45 100644 --- a/test/fixtures/api/rippled/index.js +++ b/test/fixtures/api/rippled/index.js @@ -24,6 +24,9 @@ module.exports = { tx: { Payment: require('./tx/payment.json'), AccountSet: require('./tx/account-set.json'), + AccountSetTrackingOn: require('./tx/account-set-tracking-on.json'), + AccountSetTrackingOff: require('./tx/account-set-tracking-off.json'), + RegularKey: require('./tx/set-regular-key.json'), OfferCreate: require('./tx/offer-create.json'), OfferCancel: require('./tx/offer-cancel.json'), TrustSet: require('./tx/trust-set.json'), diff --git a/test/fixtures/api/rippled/tx/account-set-tracking-off.json b/test/fixtures/api/rippled/tx/account-set-tracking-off.json new file mode 100644 index 00000000..4303aeca --- /dev/null +++ b/test/fixtures/api/rippled/tx/account-set-tracking-off.json @@ -0,0 +1,49 @@ +{ + "id": 0, + "result": { + "Account": "r9UHu5CWni1qRY7Q4CfFZLGvXo2pGQy96b", + "ClearFlag": 5, + "Fee": "12000", + "Flags": 0, + "LastLedgerSequence": 14915391, + "Sequence": 476, + "SigningPubKey": "036A749E3B7187E43E8936E3D83A7030989325249E03803F12B7F64BAACABA6025", + "TransactionType": "AccountSet", + "TxnSignature": "3044022046633801E0C99A3DBFE6C836491650DAFD6FDF2A6C5AB9360F9E1E552DE24182022005AF9240ADBB6CAB55B69D772BA37E240B66E6B928A2A86FB7025494FE3916D8", + "date": 491424300, + "hash": "C8C5E20DFB1BF533D0D81A2ED23F0A3CBD1EF2EE8A902A1D760500473CC9C582", + "inLedger": 14915293, + "ledger_index": 14915293, + "meta": { + "AffectedNodes": [ + { + "ModifiedNode": { + "FinalFields": { + "Account": "r9UHu5CWni1qRY7Q4CfFZLGvXo2pGQy96b", + "Balance": "71695088", + "Domain": "726970706C652E636F6D", + "Flags": 65536, + "OwnerCount": 3, + "RegularKey": "rsvEdWvfwzqkgvmaSEh9kgbcWiUc6s69ZC", + "Sequence": 477 + }, + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "4AD70690C6FF8A069F8AE00B09F70E9B732360026E8085050D314432091A59C9", + "PreviousFields": { + "AccountTxnID": "0000000000000000000000000000000000000000000000000000000000000000", + "Balance": "71707088", + "Sequence": 476 + }, + "PreviousTxnID": "8925FC8844A1E930E2CC76AD0A15E7665AFCC5425376D548BB1413F484C31B8C", + "PreviousTxnLgrSeq": 14914896 + } + } + ], + "TransactionIndex": 2, + "TransactionResult": "tesSUCCESS" + }, + "validated": true + }, + "status": "success", + "type": "response" +} diff --git a/test/fixtures/api/rippled/tx/account-set-tracking-on.json b/test/fixtures/api/rippled/tx/account-set-tracking-on.json new file mode 100644 index 00000000..39b2e44a --- /dev/null +++ b/test/fixtures/api/rippled/tx/account-set-tracking-on.json @@ -0,0 +1,49 @@ +{ + "id": 0, + "result": { + "Account": "r9UHu5CWni1qRY7Q4CfFZLGvXo2pGQy96b", + "Fee": "12000", + "Flags": 0, + "LastLedgerSequence": 14914994, + "Sequence": 475, + "SetFlag": 5, + "SigningPubKey": "036A749E3B7187E43E8936E3D83A7030989325249E03803F12B7F64BAACABA6025", + "TransactionType": "AccountSet", + "TxnSignature": "304402200E5A3174AE8A77DB4DD7F960BC30E2A7177437BD76F3FAB0377B27A75E06FA7F022061337D0B10F921D66045523A29D0102863AB673DFABCBECD9A0F8DE4127CD690", + "date": 491422610, + "hash": "8925FC8844A1E930E2CC76AD0A15E7665AFCC5425376D548BB1413F484C31B8C", + "inLedger": 14914896, + "ledger_index": 14914896, + "meta": { + "AffectedNodes": [ + { + "ModifiedNode": { + "FinalFields": { + "Account": "r9UHu5CWni1qRY7Q4CfFZLGvXo2pGQy96b", + "AccountTxnID": "0000000000000000000000000000000000000000000000000000000000000000", + "Balance": "71707088", + "Domain": "726970706C652E636F6D", + "Flags": 65536, + "OwnerCount": 3, + "RegularKey": "rsvEdWvfwzqkgvmaSEh9kgbcWiUc6s69ZC", + "Sequence": 476 + }, + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "4AD70690C6FF8A069F8AE00B09F70E9B732360026E8085050D314432091A59C9", + "PreviousFields": { + "Balance": "71719088", + "Sequence": 475 + }, + "PreviousTxnID": "172BD9EB414FDC4D30CB7E020DD4387468782D85A0A2342BFD3DC94D40468B14", + "PreviousTxnLgrSeq": 14899844 + } + } + ], + "TransactionIndex": 1, + "TransactionResult": "tesSUCCESS" + }, + "validated": true + }, + "status": "success", + "type": "response" +} diff --git a/test/fixtures/api/rippled/tx/set-regular-key.json b/test/fixtures/api/rippled/tx/set-regular-key.json new file mode 100644 index 00000000..e615e07d --- /dev/null +++ b/test/fixtures/api/rippled/tx/set-regular-key.json @@ -0,0 +1,49 @@ +{ + "id": 0, + "result": { + "Account": "r9UHu5CWni1qRY7Q4CfFZLGvXo2pGQy96b", + "Fee": "12000", + "Flags": 0, + "LastLedgerSequence": 14892747, + "RegularKey": "rsvEdWvfwzqkgvmaSEh9kgbcWiUc6s69ZC", + "Sequence": 468, + "SigningPubKey": "036A749E3B7187E43E8936E3D83A7030989325249E03803F12B7F64BAACABA6025", + "TransactionType": "SetRegularKey", + "TxnSignature": "3045022100B123D47C46E20654B4FCC1A94E3337BB8C5A9E840F8E0D4049AD5FD63A3C3B9502200EEA73F85248217E349901B6B64D9A43F660F90743F42860FF5D23243C9C5174", + "date": 491326250, + "hash": "278E6687C1C60C6873996210A6523564B63F2844FB1019576C157353B1813E60", + "inLedger": 14892648, + "ledger_index": 14892648, + "meta": { + "AffectedNodes": [ + { + "ModifiedNode": { + "FinalFields": { + "Account": "r9UHu5CWni1qRY7Q4CfFZLGvXo2pGQy96b", + "Balance": "71791094", + "Domain": "726970706C652E636F6D", + "Flags": 65536, + "OwnerCount": 3, + "RegularKey": "rsvEdWvfwzqkgvmaSEh9kgbcWiUc6s69ZC", + "Sequence": 469 + }, + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "4AD70690C6FF8A069F8AE00B09F70E9B732360026E8085050D314432091A59C9", + "PreviousFields": { + "Balance": "71803094", + "Flags": 0, + "Sequence": 468 + }, + "PreviousTxnID": "D0F627D9A2CB4B45F2AC38C7741CE70D947BE64CB8CA1E2D34FBB372730A7970", + "PreviousTxnLgrSeq": 14682436 + } + } + ], + "TransactionIndex": 0, + "TransactionResult": "tesSUCCESS" + }, + "validated": true + }, + "status": "success", + "type": "response" +} diff --git a/test/mock-rippled.js b/test/mock-rippled.js index a1a35cb2..fa41253a 100644 --- a/test/mock-rippled.js +++ b/test/mock-rippled.js @@ -131,6 +131,15 @@ module.exports = function(port) { } else if (request.transaction === '4FB3ADF22F3C605E23FAEFAA185F3BD763C4692CAC490D9819D117CD33BFAA1B') { conn.send(createResponse(request, fixtures.tx.AccountSet)); + } else if (request.transaction === + '8925FC8844A1E930E2CC76AD0A15E7665AFCC5425376D548BB1413F484C31B8C') { + conn.send(createResponse(request, fixtures.tx.AccountSetTrackingOn)); + } else if (request.transaction === + 'C8C5E20DFB1BF533D0D81A2ED23F0A3CBD1EF2EE8A902A1D760500473CC9C582') { + conn.send(createResponse(request, fixtures.tx.AccountSetTrackingOff)); + } else if (request.transaction === + '278E6687C1C60C6873996210A6523564B63F2844FB1019576C157353B1813E60') { + conn.send(createResponse(request, fixtures.tx.RegularKey)); } else if (request.transaction === '10A6FB4A66EE80BED46AAE4815D7DC43B97E944984CCD5B93BCF3F8538CABC51') { conn.send(createResponse(request, fixtures.tx.OfferCreate));