From 286a68496341d1fce764995977a077ff9d5c3a2f Mon Sep 17 00:00:00 2001 From: Chris Clark Date: Mon, 13 Jul 2015 16:46:57 -0700 Subject: [PATCH] Add support for regularKey in prepareSettings --- src/api/transaction/settings.js | 8 +++++++- test/api-test.js | 7 +++++++ test/fixtures/regular-key-response.json | 9 +++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 test/fixtures/regular-key-response.json diff --git a/src/api/transaction/settings.js b/src/api/transaction/settings.js index d8cd4a80..9f387c50 100644 --- a/src/api/transaction/settings.js +++ b/src/api/transaction/settings.js @@ -92,8 +92,14 @@ function createSettingsTransaction(account, settings) { validate.settings(settings); const transaction = new ripple.Transaction(); - transaction.accountSet(account); + if (settings.regularKey) { + return transaction.setRegularKey({ + account: account, + regular_key: settings.regularKey + }); + } + transaction.accountSet(account); setTransactionFlags(transaction, settings); setTransactionFields(transaction, settings); diff --git a/test/api-test.js b/test/api-test.js index 4c3f2178..cca51b37 100644 --- a/test/api-test.js +++ b/test/api-test.js @@ -16,6 +16,7 @@ const orderCancellationResponse = require('./fixtures/ordercancellation-response'); const settingsSpecification = require('./fixtures/settings-specification'); const settingsResponse = require('./fixtures/settings-response'); +const regularKeyResponse = require('./fixtures/regular-key-response'); const signInput = require('./fixtures/sign-input'); const signOutput = require('./fixtures/sign-output'); const MockPRNG = require('./mock-prng'); @@ -91,6 +92,12 @@ describe('RippleAPI', function() { instructions, _.partial(checkResult, settingsResponse, done)); }); + it('prepareSettings - regularKey', function(done) { + const regularKey = {regularKey: 'rAR8rR8sUkBoCZFawhkWzY4Y5YoyuznwD'}; + this.api.prepareSettings(address, regularKey, + instructions, _.partial(checkResult, regularKeyResponse, done)); + }); + it('sign', function() { const secret = 'shsWGZcmZz6YsWWmcnpfr6fLTdtFV'; withDeterministicPRNG(() => { diff --git a/test/fixtures/regular-key-response.json b/test/fixtures/regular-key-response.json new file mode 100644 index 00000000..6a1b4ce6 --- /dev/null +++ b/test/fixtures/regular-key-response.json @@ -0,0 +1,9 @@ +{ + "Flags": 0, + "TransactionType": "SetRegularKey", + "Account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", + "RegularKey": "rAR8rR8sUkBoCZFawhkWzY4Y5YoyuznwD", + "LastLedgerSequence": 8820051, + "Fee": "12", + "Sequence": 23 +}