From 9e9a0a7d9b676ee6bf548ab01c9dd3219b76f442 Mon Sep 17 00:00:00 2001 From: Mo Morsi Date: Sat, 28 Jul 2018 11:39:01 -0400 Subject: [PATCH] Expose validation methods in public api Updated to fix tests --- src/api.ts | 5 +++-- src/common/schema-validator.ts | 7 +++++-- src/common/utils.ts | 6 ++++-- test/api-test.js | 2 +- test/broadcast-api-test.js | 2 +- 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/api.ts b/src/api.ts index c2b0245c..4c39cc22 100644 --- a/src/api.ts +++ b/src/api.ts @@ -109,8 +109,7 @@ class RippleAPI extends EventEmitter { static _PRIVATE = { validate, RangeSet, - ledgerUtils, - schemaValidator + ledgerUtils } constructor(options: APIOptions = {}) { @@ -329,6 +328,8 @@ class RippleAPI extends EventEmitter { dropsToXrp = dropsToXrp iso8601ToRippleTime = iso8601ToRippleTime txFlags = txFlags + + static schemaValidator = schemaValidator } export { diff --git a/src/common/schema-validator.ts b/src/common/schema-validator.ts index a0b10feb..393aa2d4 100644 --- a/src/common/schema-validator.ts +++ b/src/common/schema-validator.ts @@ -3,7 +3,7 @@ import * as assert from 'assert' const {Validator} = require('jsonschema') import {ValidationError} from './errors' import {isValidAddress} from 'ripple-address-codec' -import {isValidSecret} from './utils' +import {isValidSecret,deriveKeypair,deriveAddress} from './utils' function loadSchemas() { // listed explicitly for webpack (instead of scanning schemas directory) @@ -158,5 +158,8 @@ function schemaValidate(schemaName: string, object: any): void { export { schemaValidate, - isValidSecret + isValidAddress, + isValidSecret, + deriveKeypair, + deriveAddress } diff --git a/src/common/utils.ts b/src/common/utils.ts index 3781ec86..0716ad18 100644 --- a/src/common/utils.ts +++ b/src/common/utils.ts @@ -1,6 +1,6 @@ import * as _ from 'lodash' import BigNumber from 'bignumber.js' -import {deriveKeypair} from 'ripple-keypairs' +import {deriveKeypair,deriveAddress} from 'ripple-keypairs' import {Amount, RippledAmount} from './types/objects' import {ValidationError} from './errors' @@ -155,6 +155,8 @@ export { removeUndefined, rippleTimeToISO8601, iso8601ToRippleTime, - isValidSecret + isValidSecret, + deriveKeypair, + deriveAddress } diff --git a/test/api-test.js b/test/api-test.js index 6bd8ed0d..47aa63be 100644 --- a/test/api-test.js +++ b/test/api-test.js @@ -13,7 +13,7 @@ const hashes = require('./fixtures/hashes'); const address = addresses.ACCOUNT; const utils = RippleAPI._PRIVATE.ledgerUtils; const ledgerClosed = require('./fixtures/rippled/ledger-close-newer'); -const schemaValidator = RippleAPI._PRIVATE.schemaValidator; +const schemaValidator = RippleAPI.schemaValidator; const binary = require('ripple-binary-codec'); const BigNumber = require('bignumber.js') assert.options.strict = true; diff --git a/test/broadcast-api-test.js b/test/broadcast-api-test.js index 1aff8908..9e8c2d20 100644 --- a/test/broadcast-api-test.js +++ b/test/broadcast-api-test.js @@ -6,7 +6,7 @@ const setupAPI = require('./setup-api'); const responses = require('./fixtures').responses; const ledgerClosed = require('./fixtures/rippled/ledger-close'); const RippleAPI = require('ripple-api').RippleAPI; -const schemaValidator = RippleAPI._PRIVATE.schemaValidator; +const schemaValidator = RippleAPI.schemaValidator; const TIMEOUT = process.browser ? 25000 : 10000;