diff --git a/lib/utils.js b/lib/utils.js index f2460e24..634f9003 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -1,5 +1,6 @@ var fs = require('fs-extra'); var utils = require('peglib').utils; +const bitcoin = require('peglib').bitcoin; const merkleLib = require('merkle-lib'); const pmtBuilder = require('@rsksmart/pmt-builder'); const bitcoinJs = require('bitcoinjs-lib'); @@ -11,6 +12,10 @@ var sequentialPromise = function(n, promiseReturn) { return promiseReturn(n).then(() => sequentialPromise(n - 1, promiseReturn)); }; +const publicKeyToCompressed = function(publicKey) { + return bitcoin.keys.publicKeyToCompressed(publicKey); +} + var mapPromiseAll = function(map) { var promises = Object.keys(map).map(key => map[key].then(result => ({ key, result }))); return Promise.all(promises).then(arr => { @@ -215,6 +220,7 @@ module.exports = { getRandomInt: getRandomInt, isPromise: utils.isPromise, interval: utils.interval, + publicKeyToCompressed, ensure0x: ensure0x, removeDir: removeDir, executeWithRetries: executeWithRetries, diff --git a/tests/03_02_01-last_fork_active_powpeg_redeem_script.js b/tests/03_02_01-last_fork_active_powpeg_redeem_script.js index 738a8198..3212afe3 100644 --- a/tests/03_02_01-last_fork_active_powpeg_redeem_script.js +++ b/tests/03_02_01-last_fork_active_powpeg_redeem_script.js @@ -5,19 +5,16 @@ const redeemScriptParser = require('@rsksmart/powpeg-redeemscript-parser'); const {getRskTransactionHelpers} = require('../lib/rsk-tx-helper-provider'); const {getBridge, getLatestActiveForkName} = require('../lib/precompiled-abi-forks-util'); const CustomError = require('../lib/CustomError'); -const {disableWhitelisting} = require('../lib/2wp-utils'); const removePrefix0x = require('../lib/utils').removePrefix0x; -const {getBtcClient} = require('../lib/btc-client-provider'); const rskUtils = require('../lib/rsk-utils'); const { GENESIS_FEDERATION_ADDRESS, GENESIS_FEDERATION_REDEEM_SCRIPT, } = require('../lib/constants'); -const fulfillRequirementsToRunAsSingleTestFile = async (rskTxHelper, btcTxHelper) => { +const fulfillRequirementsToRunAsSingleTestFile = async () => { const latestForkName = rskUtils.getLatestForkName(); await rskUtils.activateFork(latestForkName); - await disableWhitelisting(rskTxHelper, btcTxHelper); }; describe('Calling getActivePowpegRedeemScript method after last fork before fedchange', function() { @@ -26,12 +23,10 @@ describe('Calling getActivePowpegRedeemScript method after last fork before fedc let bridge; before(async () => { - const btcTxHelper = getBtcClient(); - rskTxHelpers = getRskTransactionHelpers(); rskTxHelper = rskTxHelpers[0]; if (process.env.RUNNING_SINGLE_TEST_FILE) { - await fulfillRequirementsToRunAsSingleTestFile(rskTxHelper, btcTxHelper); + await fulfillRequirementsToRunAsSingleTestFile(); } bridge = getBridge(rskTxHelper.getClient(), await getLatestActiveForkName()); }); diff --git a/tests/05_02_01-last_fork_active_powpeg_redeem_script.js b/tests/05_02_01-last_fork_active_powpeg_redeem_script.js index 304bb480..e3269473 100644 --- a/tests/05_02_01-last_fork_active_powpeg_redeem_script.js +++ b/tests/05_02_01-last_fork_active_powpeg_redeem_script.js @@ -1,13 +1,12 @@ const chai = require('chai'); chai.use(require('chai-as-promised')); const expect = chai.expect; -const peglib = require('peglib'); -const bitcoin = peglib.bitcoin; const {compareFederateKeys} = require('../lib/federation-utils'); const {getRskTransactionHelpers} = require('../lib/rsk-tx-helper-provider'); const redeemScriptParser = require('@rsksmart/powpeg-redeemscript-parser'); const CustomError = require('../lib/CustomError'); const removePrefix0x = require('../lib/utils').removePrefix0x; +const publicKeyToCompressed = require('../lib/utils').publicKeyToCompressed; const {getBridge, getLatestActiveForkName} = require('../lib/precompiled-abi-forks-util'); // in order to run this as a single test file, it requires a federation change so follow the following command @@ -46,15 +45,15 @@ describe('Calling getActivePowpegRedeemScript method after last fork after fed c const newFederationPublicKeys = Runners.hosts.federates .filter((federate, index) => index >= INITIAL_FEDERATION_SIZE) .map((federate) => ({ - [KEY_TYPE_BTC]: bitcoin.keys.publicKeyToCompressed( - federate.publicKeys[KEY_TYPE_BTC], - ), - [KEY_TYPE_RSK]: bitcoin.keys.publicKeyToCompressed( - federate.publicKeys[KEY_TYPE_RSK], - ), - [KEY_TYPE_MST]: bitcoin.keys.publicKeyToCompressed( - federate.publicKeys[KEY_TYPE_MST], - ), + [KEY_TYPE_BTC]: publicKeyToCompressed( + federate.publicKeys[KEY_TYPE_BTC], + ), + [KEY_TYPE_RSK]: publicKeyToCompressed( + federate.publicKeys[KEY_TYPE_RSK], + ), + [KEY_TYPE_MST]: publicKeyToCompressed( + federate.publicKeys[KEY_TYPE_MST], + ), })) .sort(compareFederateKeys); const newFederationBtcPublicKeys = newFederationPublicKeys.map( @@ -74,8 +73,11 @@ describe('Calling getActivePowpegRedeemScript method after last fork after fed c expect(activePowpegRedeemScript) .to.eq('0x' + p2shErpFedRedeemScript.toString('hex'), ); + + expect(addressFromRedeemScript) - .to.eq(expectedNewFederationAddress) + .to.eq(expectedNewFederationAddress); + expect(addressFromRedeemScript) .to.eq(activeFederationAddressFromBridge); } catch (err) { throw new CustomError(