Apply automatic formatting

This commit is contained in:
Elliot Lee
2018-02-23 16:50:40 -08:00
parent 5b51ff6071
commit ca74cf1028
4 changed files with 183 additions and 95 deletions

View File

@@ -4,8 +4,17 @@
"link": "transaction-types", "link": "transaction-types",
"description": "The type of the transaction.", "description": "The type of the transaction.",
"type": "string", "type": "string",
"enum": ["payment", "order", "orderCancellation", "trustline", "settings", "enum": [
"escrowCreation", "escrowCancellation", "payment",
"escrowExecution", "paymentChannelCreate", "order",
"paymentChannelFund", "paymentChannelClaim"] "orderCancellation",
"trustline",
"settings",
"escrowCreation",
"escrowCancellation",
"escrowExecution",
"paymentChannelCreate",
"paymentChannelFund",
"paymentChannelClaim"
]
} }

View File

@@ -3,7 +3,9 @@
"title": "getTransaction", "title": "getTransaction",
"link": "gettransaction", "link": "gettransaction",
"properties": { "properties": {
"type": {"$ref": "transactionType"}, "type": {
"$ref": "transactionType"
},
"specification": { "specification": {
"description": "A specification that would produce the same outcome as this transaction. The structure of the specification depends on the value of the `type` field (see [Transaction Types](#transaction-types) for details). *Note:* This is **not** necessarily the same as the original specification." "description": "A specification that would produce the same outcome as this transaction. The structure of the specification depends on the value of the `type` field (see [Transaction Types](#transaction-types) for details). *Note:* This is **not** necessarily the same as the original specification."
}, },
@@ -24,73 +26,146 @@
"description": "The account sequence number of the transaction for the account that initiated it." "description": "The account sequence number of the transaction for the account that initiated it."
} }
}, },
"required": ["id", "address", "sequence", "type", "specification", "outcome"], "required": [
"id",
"address",
"sequence",
"type",
"specification",
"outcome"
],
"additionalProperties": false, "additionalProperties": false,
"oneOf": [ "oneOf": [
{ {
"properties": { "properties": {
"type": {"enum": ["payment"]}, "type": {
"specification": {"$ref": "payment"} "enum": [
"payment"
]
},
"specification": {
"$ref": "payment"
}
} }
}, },
{ {
"properties": { "properties": {
"type": {"enum": ["order"]}, "type": {
"specification": {"$ref": "order"} "enum": [
"order"
]
},
"specification": {
"$ref": "order"
}
} }
}, },
{ {
"properties": { "properties": {
"type": {"enum": ["orderCancellation"]}, "type": {
"specification": {"$ref": "orderCancellation"} "enum": [
"orderCancellation"
]
},
"specification": {
"$ref": "orderCancellation"
}
} }
}, },
{ {
"properties": { "properties": {
"type": {"enum": ["trustline"]}, "type": {
"specification": {"$ref": "trustline"} "enum": [
"trustline"
]
},
"specification": {
"$ref": "trustline"
}
} }
}, },
{ {
"properties": { "properties": {
"type": {"enum": ["settings"]}, "type": {
"specification": {"$ref": "getSettings"} "enum": [
"settings"
]
},
"specification": {
"$ref": "getSettings"
}
} }
}, },
{ {
"properties": { "properties": {
"type": {"enum": ["escrowCreation"]}, "type": {
"specification": {"$ref": "escrowCreation"} "enum": [
"escrowCreation"
]
},
"specification": {
"$ref": "escrowCreation"
}
} }
}, },
{ {
"properties": { "properties": {
"type": {"enum": ["escrowCancellation"]}, "type": {
"specification": {"$ref": "escrowCancellation"} "enum": [
"escrowCancellation"
]
},
"specification": {
"$ref": "escrowCancellation"
}
} }
}, },
{ {
"properties": { "properties": {
"type": {"enum": ["escrowExecution"]}, "type": {
"specification": {"$ref": "escrowExecution"} "enum": [
"escrowExecution"
]
},
"specification": {
"$ref": "escrowExecution"
}
} }
}, },
{ {
"properties": { "properties": {
"type": {"enum": ["paymentChannelCreate"]}, "type": {
"specification": {"$ref": "paymentChannelCreate"} "enum": [
"paymentChannelCreate"
]
},
"specification": {
"$ref": "paymentChannelCreate"
}
} }
}, },
{ {
"properties": { "properties": {
"type": {"enum": ["paymentChannelFund"]}, "type": {
"specification": {"$ref": "paymentChannelFund"} "enum": [
"paymentChannelFund"
]
},
"specification": {
"$ref": "paymentChannelFund"
}
} }
}, },
{ {
"properties": { "properties": {
"type": {"enum": ["paymentChannelClaim"]}, "type": {
"specification": {"$ref": "paymentChannelClaim"} "enum": [
"paymentChannelClaim"
]
},
"specification": {
"$ref": "paymentChannelClaim"
}
} }
} }
] ]

View File

@@ -2,5 +2,7 @@
"$schema": "http://json-schema.org/draft-04/schema#", "$schema": "http://json-schema.org/draft-04/schema#",
"title": "getTransactions", "title": "getTransactions",
"type": "array", "type": "array",
"items": {"$ref": "getTransaction"} "items": {
"$ref": "getTransaction"
}
} }

View File

@@ -9,7 +9,7 @@ const hashes = require('./fixtures/hashes');
const transactionsResponse = require('./fixtures/rippled/account-tx'); const transactionsResponse = require('./fixtures/rippled/account-tx');
const accountLinesResponse = require('./fixtures/rippled/account-lines'); const accountLinesResponse = require('./fixtures/rippled/account-lines');
const fullLedger = require('./fixtures/rippled/ledger-full-38129.json'); const fullLedger = require('./fixtures/rippled/ledger-full-38129.json');
const {getFreePort} = require('./utils/net-utils'); const { getFreePort } = require('./utils/net-utils');
function isUSD(json) { function isUSD(json) {
return json === 'USD' || json === '0000000000000000000000005553440000000000'; return json === 'USD' || json === '0000000000000000000000005553440000000000';
@@ -22,7 +22,7 @@ function isBTC(json) {
function createResponse(request, response, overrides = {}) { function createResponse(request, response, overrides = {}) {
const result = _.assign({}, response.result, overrides); const result = _.assign({}, response.result, overrides);
const change = response.result && !_.isEmpty(overrides) ? const change = response.result && !_.isEmpty(overrides) ?
{id: request.id, result: result} : {id: request.id}; { id: request.id, result: result } : { id: request.id };
return JSON.stringify(_.assign({}, response, change)); return JSON.stringify(_.assign({}, response, change));
} }
@@ -48,13 +48,13 @@ function createLedgerResponse(request, response) {
} }
module.exports = function createMockRippled(port) { module.exports = function createMockRippled(port) {
const mock = new WebSocketServer({port: port}); const mock = new WebSocketServer({ port: port });
_.assign(mock, EventEmitter2.prototype); _.assign(mock, EventEmitter2.prototype);
const close = mock.close; const close = mock.close;
mock.close = function() { mock.close = function () {
if (mock.expectedRequests !== undefined) { if (mock.expectedRequests !== undefined) {
const allRequestsMade = _.every(mock.expectedRequests, function(counter) { const allRequestsMade = _.every(mock.expectedRequests, function (counter) {
return counter === 0; return counter === 0;
}); });
if (!allRequestsMade) { if (!allRequestsMade) {
@@ -67,11 +67,11 @@ module.exports = function createMockRippled(port) {
close.call(mock); close.call(mock);
}; };
mock.expect = function(expectedRequests) { mock.expect = function (expectedRequests) {
mock.expectedRequests = expectedRequests; mock.expectedRequests = expectedRequests;
}; };
mock.on('connection', function(conn) { mock.on('connection', function (conn) {
if (mock.config.breakNextConnection) { if (mock.config.breakNextConnection) {
mock.config.breakNextConnection = false; mock.config.breakNextConnection = false;
conn.terminate(); conn.terminate();
@@ -79,7 +79,7 @@ module.exports = function createMockRippled(port) {
} }
this.socket = conn; this.socket = conn;
conn.config = {}; conn.config = {};
conn.on('message', function(requestJSON) { conn.on('message', function (requestJSON) {
const request = JSON.parse(requestJSON); const request = JSON.parse(requestJSON);
mock.emit('request_' + request.command, request, conn); mock.emit('request_' + request.command, request, conn);
}); });
@@ -87,7 +87,7 @@ module.exports = function createMockRippled(port) {
mock.config = {}; mock.config = {};
mock.onAny(function() { mock.onAny(function () {
if (this.event.indexOf('request_') !== 0) { if (this.event.indexOf('request_') !== 0) {
return; return;
} }
@@ -104,20 +104,22 @@ module.exports = function createMockRippled(port) {
mock.expectedRequests[this.event] -= 1; mock.expectedRequests[this.event] -= 1;
}); });
mock.on('request_config', function(request, conn) { mock.on('request_config', function (request, conn) {
assert.strictEqual(request.command, 'config'); assert.strictEqual(request.command, 'config');
conn.config = _.assign(conn.config, request.data); conn.config = _.assign(conn.config, request.data);
}); });
mock.on('request_test_command', function(request, conn) { mock.on('request_test_command', function (request, conn) {
assert.strictEqual(request.command, 'test_command'); assert.strictEqual(request.command, 'test_command');
if (request.data.disconnectIn) { if (request.data.disconnectIn) {
setTimeout(conn.terminate.bind(conn), request.data.disconnectIn); setTimeout(conn.terminate.bind(conn), request.data.disconnectIn);
} else if (request.data.openOnOtherPort) { } else if (request.data.openOnOtherPort) {
getFreePort().then(newPort => { getFreePort().then(newPort => {
createMockRippled(newPort); createMockRippled(newPort);
conn.send(createResponse(request, {status: 'success', type: 'response', conn.send(createResponse(request, {
result: {port: newPort}} status: 'success', type: 'response',
result: { port: newPort }
}
)); ));
}); });
} else if (request.data.closeServerAndReopen) { } else if (request.data.closeServerAndReopen) {
@@ -132,17 +134,17 @@ module.exports = function createMockRippled(port) {
} }
}); });
mock.on('request_global_config', function(request, conn) { mock.on('request_global_config', function (request, conn) {
assert.strictEqual(request.command, 'global_config'); assert.strictEqual(request.command, 'global_config');
mock.config = _.assign(conn.config, request.data); mock.config = _.assign(conn.config, request.data);
}); });
mock.on('request_echo', function(request, conn) { mock.on('request_echo', function (request, conn) {
assert.strictEqual(request.command, 'echo'); assert.strictEqual(request.command, 'echo');
conn.send(JSON.stringify(request.data)); conn.send(JSON.stringify(request.data));
}); });
mock.on('request_server_info', function(request, conn) { mock.on('request_server_info', function (request, conn) {
assert.strictEqual(request.command, 'server_info'); assert.strictEqual(request.command, 'server_info');
if (conn.config.returnErrorOnServerInfo) { if (conn.config.returnErrorOnServerInfo) {
conn.send(createResponse(request, fixtures.server_info.error)); conn.send(createResponse(request, fixtures.server_info.error));
@@ -158,7 +160,7 @@ module.exports = function createMockRippled(port) {
} }
}); });
mock.on('request_subscribe', function(request, conn) { mock.on('request_subscribe', function (request, conn) {
assert.strictEqual(request.command, 'subscribe'); assert.strictEqual(request.command, 'subscribe');
if (mock.config.returnEmptySubscribeRequest) { if (mock.config.returnEmptySubscribeRequest) {
mock.config.returnEmptySubscribeRequest--; mock.config.returnEmptySubscribeRequest--;
@@ -169,7 +171,7 @@ module.exports = function createMockRippled(port) {
conn.send(createResponse(request, fixtures.subscribe)); conn.send(createResponse(request, fixtures.subscribe));
}); });
mock.on('request_unsubscribe', function(request, conn) { mock.on('request_unsubscribe', function (request, conn) {
assert.strictEqual(request.command, 'unsubscribe'); assert.strictEqual(request.command, 'unsubscribe');
if (request.accounts) { if (request.accounts) {
assert(_.indexOf(_.values(addresses), request.accounts[0]) !== -1); assert(_.indexOf(_.values(addresses), request.accounts[0]) !== -1);
@@ -179,7 +181,7 @@ module.exports = function createMockRippled(port) {
conn.send(createResponse(request, fixtures.unsubscribe)); conn.send(createResponse(request, fixtures.unsubscribe));
}); });
mock.on('request_account_info', function(request, conn) { mock.on('request_account_info', function (request, conn) {
assert.strictEqual(request.command, 'account_info'); assert.strictEqual(request.command, 'account_info');
if (request.account === addresses.ACCOUNT) { if (request.account === addresses.ACCOUNT) {
conn.send(createResponse(request, fixtures.account_info.normal)); conn.send(createResponse(request, fixtures.account_info.normal));
@@ -194,7 +196,7 @@ module.exports = function createMockRippled(port) {
} }
}); });
mock.on('request_ledger', function(request, conn) { mock.on('request_ledger', function (request, conn) {
assert.strictEqual(request.command, 'ledger'); assert.strictEqual(request.command, 'ledger');
if (request.ledger_index === 34) { if (request.ledger_index === 34) {
conn.send(createLedgerResponse(request, fixtures.ledger.notFound)); conn.send(createLedgerResponse(request, fixtures.ledger.notFound));
@@ -213,14 +215,14 @@ module.exports = function createMockRippled(port) {
createLedgerResponse(request, fixtures.ledger.pre2014withPartial)); createLedgerResponse(request, fixtures.ledger.pre2014withPartial));
} else if (request.ledger_index === 38129) { } else if (request.ledger_index === 38129) {
const response = _.assign({}, fixtures.ledger.normal, const response = _.assign({}, fixtures.ledger.normal,
{result: {ledger: fullLedger}}); { result: { ledger: fullLedger } });
conn.send(createLedgerResponse(request, response)); conn.send(createLedgerResponse(request, response));
} else { } else {
conn.send(createLedgerResponse(request, fixtures.ledger.normal)); conn.send(createLedgerResponse(request, fixtures.ledger.normal));
} }
}); });
mock.on('request_ledger_entry', function(request, conn) { mock.on('request_ledger_entry', function (request, conn) {
assert.strictEqual(request.command, 'ledger_entry'); assert.strictEqual(request.command, 'ledger_entry');
if (request.index === if (request.index ===
'E30E709CF009A1F26E0E5C48F7AA1BFB79393764F15FB108BDC6E06D3CBD8415') { 'E30E709CF009A1F26E0E5C48F7AA1BFB79393764F15FB108BDC6E06D3CBD8415') {
@@ -236,7 +238,7 @@ module.exports = function createMockRippled(port) {
} }
}); });
mock.on('request_tx', function(request, conn) { mock.on('request_tx', function (request, conn) {
assert.strictEqual(request.command, 'tx'); assert.strictEqual(request.command, 'tx');
if (request.transaction === hashes.VALID_TRANSACTION_HASH) { if (request.transaction === hashes.VALID_TRANSACTION_HASH) {
conn.send(createResponse(request, fixtures.tx.Payment)); conn.send(createResponse(request, fixtures.tx.Payment));
@@ -329,7 +331,7 @@ module.exports = function createMockRippled(port) {
} }
}); });
mock.on('request_submit', function(request, conn) { mock.on('request_submit', function (request, conn) {
assert.strictEqual(request.command, 'submit'); assert.strictEqual(request.command, 'submit');
if (request.tx_blob === 'BAD') { if (request.tx_blob === 'BAD') {
conn.send(createResponse(request, fixtures.submit.failure)); conn.send(createResponse(request, fixtures.submit.failure));
@@ -338,12 +340,12 @@ module.exports = function createMockRippled(port) {
} }
}); });
mock.on('request_submit_multisigned', function(request, conn) { mock.on('request_submit_multisigned', function (request, conn) {
assert.strictEqual(request.command, 'submit_multisigned'); assert.strictEqual(request.command, 'submit_multisigned');
conn.send(createResponse(request, fixtures.submit.success)); conn.send(createResponse(request, fixtures.submit.success));
}); });
mock.on('request_account_lines', function(request, conn) { mock.on('request_account_lines', function (request, conn) {
if (request.account === addresses.ACCOUNT) { if (request.account === addresses.ACCOUNT) {
conn.send(accountLinesResponse.normal(request)); conn.send(accountLinesResponse.normal(request));
} else if (request.account === addresses.OTHER_ACCOUNT) { } else if (request.account === addresses.OTHER_ACCOUNT) {
@@ -357,7 +359,7 @@ module.exports = function createMockRippled(port) {
} }
}); });
mock.on('request_account_tx', function(request, conn) { mock.on('request_account_tx', function (request, conn) {
if (request.account === addresses.ACCOUNT) { if (request.account === addresses.ACCOUNT) {
conn.send(transactionsResponse(request)); conn.send(transactionsResponse(request));
} else if (request.account === addresses.OTHER_ACCOUNT) { } else if (request.account === addresses.OTHER_ACCOUNT) {
@@ -367,7 +369,7 @@ module.exports = function createMockRippled(port) {
} }
}); });
mock.on('request_account_offers', function(request, conn) { mock.on('request_account_offers', function (request, conn) {
if (request.account === addresses.ACCOUNT) { if (request.account === addresses.ACCOUNT) {
conn.send(fixtures.account_offers(request)); conn.send(fixtures.account_offers(request));
} else { } else {
@@ -375,7 +377,7 @@ module.exports = function createMockRippled(port) {
} }
}); });
mock.on('request_book_offers', function(request, conn) { mock.on('request_book_offers', function (request, conn) {
if (request.taker_pays.issuer === 'rp8rJYTpodf8qbSCHVTNacf8nSW8mRakFw') { if (request.taker_pays.issuer === 'rp8rJYTpodf8qbSCHVTNacf8nSW8mRakFw') {
conn.send(createResponse(request, fixtures.book_offers.xrp_usd)); conn.send(createResponse(request, fixtures.book_offers.xrp_usd));
} else if (request.taker_gets.issuer } else if (request.taker_gets.issuer
@@ -394,7 +396,7 @@ module.exports = function createMockRippled(port) {
} }
}); });
mock.on('request_ripple_path_find', function(request, conn) { mock.on('request_ripple_path_find', function (request, conn) {
let response = null; let response = null;
if (request.subcommand === 'close') { // for path_find command if (request.subcommand === 'close') { // for path_find command
return; return;
@@ -426,7 +428,7 @@ module.exports = function createMockRippled(port) {
conn.send(response); conn.send(response);
}); });
mock.on('request_gateway_balances', function(request, conn) { mock.on('request_gateway_balances', function (request, conn) {
if (request.ledger_index === 123456) { if (request.ledger_index === 123456) {
conn.send(createResponse(request, fixtures.unsubscribe)); conn.send(createResponse(request, fixtures.unsubscribe));
} else { } else {