diff --git a/src/node-pool/helpers.js b/src/node-pool/helpers.js deleted file mode 100644 index 68f5850ce7..0000000000 --- a/src/node-pool/helpers.js +++ /dev/null @@ -1,17 +0,0 @@ -export const DEFAULT_NETWORK_ID = 'ae_mainnet' - -export const getterForCurrentNode = (currentNode) => { - if (!currentNode || !currentNode.instance) throw new Error('You can\'t use Node API. Node is not connected or not defined!') - - return currentNode.instance.api -} - -export const prepareNodeObject = (name, node) => ({ - name, - instance: node, - url: node.url, - internalUrl: node.internalUrl, - networkId: node.nodeNetworkId, - version: node.version, - consensusProtocolVersion: node.consensusProtocolVersion -}) diff --git a/src/node-pool/index.js b/src/node-pool/index.js index dda38eac82..c222efe37a 100644 --- a/src/node-pool/index.js +++ b/src/node-pool/index.js @@ -6,7 +6,6 @@ */ import stampit from '@stamp/it' import Joi from 'joi-browser' -import { getterForCurrentNode, prepareNodeObject } from './helpers' import { getNetworkId } from '../node' /** @@ -19,7 +18,7 @@ import { getNetworkId } from '../node' * @param {Array} [options.nodes] - Array with Node instances * @return {Object} NodePool instance */ -export const NodePool = stampit({ +export default stampit({ init ({ nodes = [] } = {}) { this.pool = new Map() this.validateNodes(nodes) @@ -35,7 +34,10 @@ export const NodePool = stampit({ enumerable: true, configurable: false, get () { - return getterForCurrentNode(this.selectedNode) + if (!this.selectedNode || !this.selectedNode.instance) { + throw new Error('You can\'t use Node API. Node is not connected or not defined!') + } + return this.selectedNode.instance.api } } }, @@ -44,20 +46,28 @@ export const NodePool = stampit({ * Add Node * @function * @alias module:@aeternity/aepp-sdk/es/node-pool - * @rtype (name: String, nodeInstance: Object, select: Boolean) => Void + * @rtype (name: String, nodeInstance: Object, select: Boolean) => void * @param {String} name - Node name - * @param {Object} nodeInstance - Node instance + * @param {Object} node - Node instance * @param {Boolean} select - Select this node as current - * @return {Void} + * @return {void} * @example * nodePool.addNode('testNode', awaitNode({ url, internalUrl }), true) // add and select new node with name 'testNode' */ - addNode (name, nodeInstance, select = false) { + addNode (name, node, select = false) { if (this.pool.has(name)) throw new Error(`Node with name ${name} already exist`) - this.validateNodes([{ name, instance: nodeInstance }]) + this.validateNodes([{ name, instance: node }]) - this.pool.set(name, prepareNodeObject(name, nodeInstance)) + this.pool.set(name, { + name, + instance: node, + url: node.url, + internalUrl: node.internalUrl, + networkId: node.nodeNetworkId, + version: node.version, + consensusProtocolVersion: node.consensusProtocolVersion + }) if (select || !this.selectedNode) { this.selectNode(name) } @@ -66,9 +76,9 @@ export const NodePool = stampit({ * Select Node * @function * @alias module:@aeternity/aepp-sdk/es/node-pool - * @rtype (name: String) => Void + * @rtype (name: String) => void * @param {String} name - Node name - * @return {Void} + * @return {void} * @example * nodePool.selectNode('testNode') */ @@ -148,5 +158,3 @@ export const NodePool = stampit({ selectedNode: {} } }) - -export default NodePool diff --git a/src/tx/validator.js b/src/tx/validator.js index 7c47664c17..e522a64d49 100644 --- a/src/tx/validator.js +++ b/src/tx/validator.js @@ -18,7 +18,7 @@ import { TX_TYPE } from './builder/schema' import { buildTxHash, calculateFee, unpackTx } from './builder' -import { NodePool } from '../node-pool' +import NodePool from '../node-pool' /** * Transaction validator diff --git a/test/integration/node.js b/test/integration/node.js index d2bc7f2075..76dff04232 100644 --- a/test/integration/node.js +++ b/test/integration/node.js @@ -21,7 +21,7 @@ import { url, internalUrl, ignoreVersion } from './' import { describe, it, before } from 'mocha' import { expect } from 'chai' import * as R from 'ramda' -import { NodePool } from '../../src/node-pool' +import NodePool from '../../src/node-pool' describe('Node client', function () { let client