Skip to content

Commit 56b3b30

Browse files
authored
Merge pull request #256 from rsksmart/remove-pre-lovell700-tests
Removes pre lovell tests. Deletes unnecesary tests. Renames some test…
2 parents 3cff7b1 + 69a9496 commit 56b3b30

37 files changed

+91
-347
lines changed

lib/assertions/2wp.js

-24
Original file line numberDiff line numberDiff line change
@@ -118,34 +118,10 @@ const assertCallToPegoutBatchingBridgeMethods = (rskClient) => async (expectedCo
118118
expect(Number(nextPegoutCreationBlockNumber)).to.equal(expectedNextPegoutCreationBlockNumber);
119119
}
120120

121-
const assertRejectedPeginEvent = async (rejectedPeginTx, expectedRejectionReason, expectedPeginBtcHash, expectedRefundAmountInSatoshis) => {
122-
123-
const rejectedPeginEvent = rejectedPeginTx.events[0];
124-
expect(rejectedPeginEvent).to.not.be.undefined;
125-
expect(rejectedPeginEvent.arguments.btcTxHash).to.equal(expectedPeginBtcHash);
126-
expect(rejectedPeginEvent.arguments.reason).to.equal(expectedRejectionReason);
127-
128-
const releaseRequestedEvent = rejectedPeginTx.events[1];
129-
expect(releaseRequestedEvent).to.not.be.undefined;
130-
131-
// TODO: uncomment when RSKIP419 is active
132-
// const isLovell700AlreadyActive = await Runners.common.forks.lovell700.isAlreadyActive();
133-
// if(!isLovell700AlreadyActive) {
134-
// return;
135-
// }
136-
// const pegoutTransactionCreatedEvent = rejectedPeginTx.events[2];
137-
// expect(pegoutTransactionCreatedEvent).to.not.be.undefined;
138-
// const encodedUtxoOutpointValues = Buffer.from(removePrefix0x(pegoutTransactionCreatedEvent.arguments.utxoOutpointValues), 'hex');
139-
// const outpointValues = decodeOutpointValues(encodedUtxoOutpointValues);
140-
// expect(outpointValues.every(value => value in federationUtxoValues)).to.be.true;
141-
142-
}
143-
144121
module.exports = {
145122
with: (btcClient, rskClient, pegClient) => ({
146123
assertBitcoinBalance: assertBitcoinBalance(btcClient, rskClient, pegClient),
147124
assertLock: assertLock(btcClient, rskClient, pegClient),
148125
}),
149126
assertCallToPegoutBatchingBridgeMethods,
150-
assertRejectedPeginEvent,
151127
};

lib/bridge-provider.js

+2-14
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
const precompiledAbisArrowhead = require("@rsksmart/rsk-precompiled-abis");
21
const precompiledAbisLovell = require("@rsksmart/rsk-precompiled-abis-lovell");
32
const Web3 = require("web3");
43

@@ -8,26 +7,15 @@ const Web3 = require("web3");
87
* @returns {Bridge}
98
*/
109
const getBridge = async (rskClient) => {
11-
12-
const isLovellActive = await Runners.common.forks.lovell700.isAlreadyActive();
13-
14-
if(isLovellActive) {
15-
return new rskClient.eth.Contract(precompiledAbisLovell.bridge.abi, precompiledAbisLovell.bridge.address);
16-
}
17-
18-
return new rskClient.eth.Contract(precompiledAbisArrowhead.bridge.abi, precompiledAbisArrowhead.bridge.address);
10+
return new rskClient.eth.Contract(precompiledAbisLovell.bridge.abi, precompiledAbisLovell.bridge.address);
1911
};
2012

2113
/**
2214
* Returns the abi of the bridge for the latest fork.
2315
* @returns {json} The bridge abi in json format
2416
*/
2517
const getBridgeAbi = async () => {
26-
const isLovellActive = await Runners.common.forks.lovell700.isAlreadyActive();
27-
if(isLovellActive) {
28-
return precompiledAbisLovell.bridge.abi;
29-
}
30-
return precompiledAbisArrowhead.bridge.abi;
18+
return precompiledAbisLovell.bridge.abi;
3119
};
3220

3321
module.exports = {

lib/tests/2wp.js

+19-37
Original file line numberDiff line numberDiff line change
@@ -463,14 +463,8 @@ const execute = (description, getRskHost) => {
463463

464464
// To ensure no refund is made, let's try to push any possible refund pegout.
465465
await triggerRelease(rskTxHelpers, btcTxHelper);
466-
467-
const isLovellActive = await Runners.common.forks.lovell700.isAlreadyActive();
468466

469-
if(isLovellActive) {
470-
await assertBtcPeginTxHashProcessed(btcPeginTxHash);
471-
} else {
472-
await assertPeginTxHashNotProcessed(btcPeginTxHash);
473-
}
467+
await assertBtcPeginTxHashProcessed(btcPeginTxHash);
474468

475469
// Two events are emitted in this scenario: rejected_pegin and unrefundable_pegin.
476470
await assertExpectedRejectedPeginEventIsEmitted(btcPeginTxHash, blockNumberBeforePegin, PEGIN_REJECTION_REASONS.LEGACY_PEGIN_UNDETERMINED_SENDER);
@@ -769,8 +763,7 @@ const execute = (description, getRskHost) => {
769763

770764
// Assert
771765

772-
const isLovellActive = await Runners.common.forks.lovell700.isAlreadyActive();
773-
const expectedPegoutValue = isLovellActive ? satoshisToWeis(pegoutValueInSatoshis) : pegoutValueInSatoshis;
766+
const expectedPegoutValue = satoshisToWeis(pegoutValueInSatoshis);
774767
await assertExpectedReleaseRequestRejectedEventIsEmitted(senderRecipientInfo.rskRecipientRskAddressInfo.address, expectedPegoutValue, PEGOUT_REJECTION_REASONS.LOW_AMOUNT);
775768

776769
await assert2wpBalanceIsUnchanged(initial2wpBalances);
@@ -813,8 +806,7 @@ const execute = (description, getRskHost) => {
813806

814807
// Assert
815808

816-
const isLovellActive = await Runners.common.forks.lovell700.isAlreadyActive();
817-
const expectedPegoutValue = isLovellActive ? satoshisToWeis(pegoutValueInSatoshis) : pegoutValueInSatoshis;
809+
const expectedPegoutValue = satoshisToWeis(pegoutValueInSatoshis);
818810
await assertExpectedReleaseRequestRejectedEventIsEmitted(senderRecipientInfo.rskRecipientRskAddressInfo.address, expectedPegoutValue, PEGOUT_REJECTION_REASONS.FEE_ABOVE_VALUE);
819811

820812
await assert2wpBalanceIsUnchanged(initial2wpBalances);
@@ -853,8 +845,7 @@ const execute = (description, getRskHost) => {
853845

854846
// Assert
855847

856-
const isLovellActive = await Runners.common.forks.lovell700.isAlreadyActive();
857-
const expectedPegoutValue = isLovellActive ? satoshisToWeis(pegoutValueInSatoshis) : pegoutValueInSatoshis;
848+
const expectedPegoutValue = satoshisToWeis(pegoutValueInSatoshis);
858849

859850
const contractAddressChecksummed = rskTxHelper.getClient().utils.toChecksumAddress(ensure0x(callReleaseBtcContract.options.address));
860851
const expectedEvent = createExpectedReleaseRequestRejectedEvent(contractAddressChecksummed, expectedPegoutValue, PEGOUT_REJECTION_REASONS.CALLER_CONTRACT);
@@ -994,24 +985,22 @@ const execute = (description, getRskHost) => {
994985
const blockNumberAfterPegoutRelease = await rskTxHelper.getBlockNumber();
995986
const pegoutsEvents = await getPegoutEventsInBlockRange(rskTxHelper, pegoutTransaction1.blockNumber, blockNumberAfterPegoutRelease);
996987

997-
const isLovellActive = await Runners.common.forks.lovell700.isAlreadyActive();
998-
999988
// The release_request_received event of the first pegout request
1000989
const rskSender1Address = rskTxHelper.getClient().utils.toChecksumAddress(ensure0x(senderRecipientInfo1.rskRecipientRskAddressInfo.address));
1001990
const releaseRequestReceivedEvent1 = pegoutsEvents.find(event => event.arguments.sender === rskSender1Address);
1002-
const expectedPegoutValue1 = isLovellActive ? satoshisToWeis(pegout1ValueInSatoshis) : pegout1ValueInSatoshis;
991+
const expectedPegoutValue1 = satoshisToWeis(pegout1ValueInSatoshis);
1003992
assertReleaseRequestReceivedEvent(releaseRequestReceivedEvent1, rskSender1Address, senderRecipientInfo1.btcSenderAddressInfo.address, expectedPegoutValue1);
1004993

1005994
// The release_request_received event of the second pegout request
1006995
const rskSender2Address = rskTxHelper.getClient().utils.toChecksumAddress(ensure0x(senderRecipientInfo2.rskRecipientRskAddressInfo.address));
1007996
const releaseRequestReceivedEvent2 = pegoutsEvents.find(event => event.arguments.sender === rskSender2Address);
1008-
const expectedPegoutValue2 = isLovellActive ? satoshisToWeis(pegout2ValueInSatoshis) : pegout2ValueInSatoshis;
997+
const expectedPegoutValue2 = satoshisToWeis(pegout2ValueInSatoshis);
1009998
assertReleaseRequestReceivedEvent(releaseRequestReceivedEvent2, rskSender2Address, senderRecipientInfo2.btcSenderAddressInfo.address, expectedPegoutValue2);
1010999

10111000
// The release_request_received event of the third pegout request
10121001
const rskSender3Address = rskTxHelper.getClient().utils.toChecksumAddress(ensure0x(senderRecipientInfo3.rskRecipientRskAddressInfo.address));
10131002
const releaseRequestReceivedEvent3 = pegoutsEvents.find(event => event.arguments.sender === rskSender3Address);
1014-
const expectedPegoutValue3 = isLovellActive ? satoshisToWeis(pegout3ValueInSatoshis) : pegout3ValueInSatoshis;
1003+
const expectedPegoutValue3 = satoshisToWeis(pegout3ValueInSatoshis);
10151004
assertReleaseRequestReceivedEvent(releaseRequestReceivedEvent3, rskSender3Address, senderRecipientInfo3.btcSenderAddressInfo.address, expectedPegoutValue3);
10161005

10171006
const pegoutWaitingForConfirmationWhenPegoutWasCreated = bridgeStateAfterPegoutCreation.pegoutsWaitingForConfirmations[0];
@@ -1022,22 +1011,19 @@ const execute = (description, getRskHost) => {
10221011
const releaseRequestedEvent = pegoutsEvents[3];
10231012
assertReleaseRequestedEvent(releaseRequestedEvent, pegoutCreationRskTransactionHash, btcTransaction.getId(), totalPegoutValueInSatoshis);
10241013

1025-
if(isLovellActive) {
1026-
// pegout_transaction_created event
1027-
const pegoutTransactionCreatedEvent = pegoutsEvents[4];
1028-
assertPegoutTransactionCreatedEvent(pegoutTransactionCreatedEvent, btcTransaction, bridgeStateBeforePegoutCreation);
1029-
}
1030-
1014+
const pegoutTransactionCreatedEvent = pegoutsEvents[4];
1015+
assertPegoutTransactionCreatedEvent(pegoutTransactionCreatedEvent, btcTransaction, bridgeStateBeforePegoutCreation);
1016+
10311017
// batch_pegout_created event
1032-
const batchPegoutCreatedEvent = pegoutsEvents[isLovellActive ? 5 : 4];
1018+
const batchPegoutCreatedEvent = pegoutsEvents[5];
10331019
assertBatchPegoutCreatedEvent(batchPegoutCreatedEvent, btcTransaction.getId(), [pegoutTransaction1.transactionHash, pegoutTransaction2.transactionHash, pegoutTransaction3.transactionHash]);
10341020

10351021
// pegout_confirmed event
1036-
const pegoutConfirmedEvent = pegoutsEvents[isLovellActive ? 6 : 5];
1022+
const pegoutConfirmedEvent = pegoutsEvents[6];
10371023
assertPegoutConfirmedEvent(pegoutConfirmedEvent, btcTransaction.getId(), pegoutWaitingForConfirmationWhenPegoutWasCreated.pegoutCreationBlockNumber);
10381024

10391025
// add_signature events
1040-
const addSignatureEvents = pegoutsEvents.slice(isLovellActive ? 7 : 6, pegoutsEvents.length - 1);
1026+
const addSignatureEvents = pegoutsEvents.slice(7, pegoutsEvents.length - 1);
10411027
assertAddSignatureEvents(addSignatureEvents, releaseRequestedEvent);
10421028

10431029
// release_btc event
@@ -1218,30 +1204,26 @@ const assertSuccessfulPegoutEventsAreEmitted = async (pegoutsEvents, pegoutReque
12181204
// release_request_received event
12191205
const releaseRequestReceivedEvent = pegoutsEvents[0];
12201206

1221-
const isLovellActive = await Runners.common.forks.lovell700.isAlreadyActive();
1222-
const expectedPegoutValue = isLovellActive ? (pegoutValueInWeis || satoshisToWeis(pegoutValueInSatoshis)) : pegoutValueInSatoshis;
1207+
const expectedPegoutValue = pegoutValueInWeis || satoshisToWeis(pegoutValueInSatoshis);
12231208
assertReleaseRequestReceivedEvent(releaseRequestReceivedEvent, rskSenderAddress, senderRecipientInfo.btcSenderAddressInfo.address, expectedPegoutValue);
12241209

12251210
// release_requested event
12261211
const pegoutCreationRskTransactionHash = ensure0x(pegoutWaitingForConfirmationWhenPegoutWasCreated.rskTxHash.padStart(64, '0'));
12271212
const releaseRequestedEvent = pegoutsEvents[1];
12281213
assertReleaseRequestedEvent(releaseRequestedEvent, pegoutCreationRskTransactionHash, btcTransaction.getId(), pegoutValueInSatoshis);
12291214

1230-
if(isLovellActive) {
1231-
// pegout_transaction_created event
1232-
const pegoutTransactionCreatedEvent = pegoutsEvents[2];
1233-
assertPegoutTransactionCreatedEvent(pegoutTransactionCreatedEvent, btcTransaction, bridgeStateBeforePegoutCreation);
1234-
}
1215+
const pegoutTransactionCreatedEvent = pegoutsEvents[2];
1216+
assertPegoutTransactionCreatedEvent(pegoutTransactionCreatedEvent, btcTransaction, bridgeStateBeforePegoutCreation);
12351217

12361218
// batch_pegout_created event
1237-
const batchPegoutCreatedEvent = pegoutsEvents[isLovellActive ? 3 : 2];
1219+
const batchPegoutCreatedEvent = pegoutsEvents[3];
12381220
assertBatchPegoutCreatedEvent(batchPegoutCreatedEvent, btcTransaction.getId(), [pegoutRequestReceivedTransactionHash]);
12391221

12401222
// pegout_confirmed event
1241-
const pegoutConfirmedEvent = pegoutsEvents[isLovellActive ? 4 : 3];
1223+
const pegoutConfirmedEvent = pegoutsEvents[4];
12421224
assertPegoutConfirmedEvent(pegoutConfirmedEvent, btcTransaction.getId(), pegoutWaitingForConfirmationWhenPegoutWasCreated.pegoutCreationBlockNumber);
12431225

1244-
const addSignatureEvents = pegoutsEvents.slice(isLovellActive ? 5 : 4, pegoutsEvents.length - 1);
1226+
const addSignatureEvents = pegoutsEvents.slice(5, pegoutsEvents.length - 1);
12451227
assertAddSignatureEvents(addSignatureEvents, releaseRequestedEvent);
12461228

12471229
// Final event, release_btc

lib/tests/activate-fork renamed to lib/tests/activate-fork.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ const { getRskTransactionHelpers } = require('../rsk-tx-helper-provider');
55

66
const execute = (fork) => {
77

8-
describe(`Activate ${fork.name} fork`, () => {
8+
// Unskip when there is a new fork to be tested pre and post.
9+
describe.skip(`Activate ${fork.name} fork`, () => {
910

1011
it(`should mine blocks until reach ${fork.activationHeight}th block in order to activate the fork`, async () => {
1112
try {

lib/tests/change-federation.js

+1-26
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@ const execute = (description, newFederationConfig) => {
9191
let newFederationPublicKeys;
9292
let btcTxHelper;
9393
let minimumPeginValueInSatoshis;
94-
let isLovellActive;
9594
let expectedFlyoverAddress;
9695
let svpSpendBtcTransaction;
9796
let proposedFederationInfo;
@@ -153,8 +152,6 @@ const execute = (description, newFederationConfig) => {
153152
await ensurePeginIsRegistered(rskTxHelper, btcPeginTxHash);
154153
}
155154

156-
isLovellActive = await Runners.common.forks.lovell700.isAlreadyActive();
157-
158155
});
159156

160157
it('should create a pending federation', async () => {
@@ -260,10 +257,6 @@ const execute = (description, newFederationConfig) => {
260257

261258
it('should create the proposed federation', async function () {
262259

263-
if(!isLovellActive) {
264-
return this.skip();
265-
}
266-
267260
proposedFederationInfo = await getProposedFederationInfo(bridge);
268261

269262
expect(proposedFederationInfo.size).to.be.equal(newFederationPublicKeys.length, 'The proposed federation size should be the expected one.');
@@ -276,10 +269,6 @@ const execute = (description, newFederationConfig) => {
276269
});
277270

278271
it('should not have created svp fund transaction and there should not be any SVP values in storage yet', async function () {
279-
280-
if(!isLovellActive) {
281-
return this.skip();
282-
}
283272

284273
const bridgeState = await getBridgeState(rskTxHelper.getClient());
285274

@@ -292,10 +281,6 @@ const execute = (description, newFederationConfig) => {
292281

293282
it('should create the SVP Fund transaction on the next updateCollections call', async function () {
294283

295-
if(!isLovellActive) {
296-
return this.skip();
297-
}
298-
299284
// Act
300285

301286
const initialBridgeState = await getBridgeState(rskTxHelper.getClient());
@@ -367,10 +352,6 @@ const execute = (description, newFederationConfig) => {
367352

368353
it('should release and register the svp fund transaction and create the svp spend transaction', async function () {
369354

370-
if(!isLovellActive) {
371-
return this.skip();
372-
}
373-
374355
// Mining to have enough confirmations for the SVP fund transaction and updating the bridge.
375356
await rskUtils.mineAndSync(rskTxHelpers, 3);
376357
await rskUtils.waitAndUpdateBridge(rskTxHelper);
@@ -400,10 +381,6 @@ const execute = (description, newFederationConfig) => {
400381

401382
it('should register the SVP Spend transaction and finish the SVP process', async function () {
402383

403-
if(!isLovellActive) {
404-
return this.skip();
405-
}
406-
407384
const blockNumberBeforeUpdateCollections = await rskTxHelper.getBlockNumber();
408385
const expectedCountOfSignatures = Math.floor(newFederationPublicKeys.length / 2) + 1;
409386

@@ -467,9 +444,7 @@ const execute = (description, newFederationConfig) => {
467444
expect(activeFederationAddressInfo.creationBlockNumber).to.be.equal(commitFederationCreationBlockNumber, 'The new active federation creation block number should be the expected one.');
468445
expect(activeFederationAddressInfo.size).to.be.equal(newFederationPublicKeys.length, 'The new active federation size should be the expected one.');
469446

470-
if(isLovellActive) {
471-
expect(activeFederationAddressInfo.creationTime).to.be.equal(proposedFederationInfo.creationTime, 'The new active federation creation time should be the same as the proposed federation creation time.');
472-
}
447+
expect(activeFederationAddressInfo.creationTime).to.be.equal(proposedFederationInfo.creationTime, 'The new active federation creation time should be the same as the proposed federation creation time.');
473448

474449
const retiringFederationSize = Number(await bridge.methods.getRetiringFederationSize().call());
475450
expect(retiringFederationSize).to.be.equal(initialFederationPublicKeys.length, 'The retiring federation size should be the same as the initial federation size.');

test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ global.Runners = {
9494
fingerroot500: createForkObject('fingerroot500', 1),
9595
arrowhead600: createForkObject('arrowhead600', 1),
9696
arrowhead631: createForkObject('arrowhead631', 1),
97-
lovell700: createForkObject('lovell700', 1750),
97+
lovell700: createForkObject('lovell700', 1),
9898
},
9999
additionalFederationAddresses: []
100100
}

tests/03_00_01-powpeg_redeem_script.js renamed to tests/00_00_05-powpeg_redeem_script.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@ const {
1111
GENESIS_FEDERATION_REDEEM_SCRIPT,
1212
} = require('../lib/constants/federation-constants');
1313

14-
// No need for this test now since it is checking the genesis regtest fed address but we changed the federation at the start of the test.
15-
describe.skip('Calling getActivePowpegRedeemScript method after last fork before fedchange', function() {
14+
describe('Calling getActivePowpegRedeemScript method before federation change', function() {
1615
let rskTxHelpers;
1716
let rskTxHelper;
1817
let bridge;

tests/04_00_01-key_control_initial_federation.js renamed to tests/00_00_06-key_control_initial_federation.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
const fedAssertions = require('../lib/assertions/fed');
22

3-
var fedAssert;
3+
let fedAssert;
44

5-
const INITIAL_FEDERATION_SIZE = 5;
5+
const INITIAL_FEDERATION_SIZE = 3;
66

7+
// TODO: refactor this test to stop using lib/assertions/fed library since it uses the peglib library
78
describe('Federate nodes key control - initial federation', function() {
89
before(() => {
910
fedAssert = fedAssertions.with(Runners.hosts.federates);

tests/04_00_03-key_control_second_federation.js renamed to tests/00_00_08-key_control_second_federation.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
const rsk = require('peglib').rsk;
22
const fedAssertions = require('../lib/assertions/fed');
33

4-
var fedAssert;
4+
let fedAssert;
55

6-
const INITIAL_FEDERATION_SIZE = 5;
6+
const INITIAL_FEDERATION_SIZE = 3;
77
const INITIAL_FEDERATOR_BALANCE_IN_BTC = 1;
88

9+
// TODO: refactor this test to get rid of the peglib library
910
describe('Federate nodes key control - second federation', function() {
1011
before(() => {
12+
console.log('Runners.hosts.federates.length', Runners.hosts.federates.length);
1113
fedAssert = fedAssertions.with(Runners.hosts.federates);
1214
});
1315

tests/01_01_52-post_orchid_lock_whitelist_fork.js renamed to tests/01_01_52-lock_whitelist_fork.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ let rskTxHelper;
1717
let rskTxHelpers;
1818
let bridge;
1919

20-
describe('RFS-170 test after fork', () => {
20+
describe('Whitelist methods tests', () => {
2121
before(async () => {
2222
btcTxHelper = getBtcClient();
2323
rskTxHelpers = getRskTransactionHelpers();

tests/01_02_51-post_wasabi_fed_pubkeys_fork.js renamed to tests/01_02_51-fed_pubkeys_fork.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ let rskTxHelper;
1212
let fedChangeAddress;
1313
let bridge;
1414

15-
describe('Multiple federation member keys test after fork', () => {
15+
describe('Bridge federator methods tests', () => {
1616

1717
before(async () => {
1818
rskTxHelper = getRskTransactionHelper();

0 commit comments

Comments
 (0)