Skip to content

Commit d7624f7

Browse files
nathanieliovmarcos-iov
authored andcommitted
Add use of PegUtilsLegacy methods
1 parent 959e100 commit d7624f7

File tree

3 files changed

+37
-22
lines changed

3 files changed

+37
-22
lines changed

src/main/java/co/rsk/federate/BtcToRskClient.java

Lines changed: 28 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,55 @@
11
package co.rsk.federate;
22

3+
import static com.google.common.base.Preconditions.checkNotNull;
4+
35
import co.rsk.bitcoinj.core.BtcTransaction;
46
import co.rsk.config.BridgeConstants;
57
import co.rsk.federate.adapter.ThinConverter;
68
import co.rsk.federate.bitcoin.BitcoinWrapper;
79
import co.rsk.federate.bitcoin.BlockListener;
810
import co.rsk.federate.bitcoin.TransactionListener;
9-
import co.rsk.federate.io.*;
11+
import co.rsk.federate.io.BtcToRskClientFileData;
12+
import co.rsk.federate.io.BtcToRskClientFileReadResult;
13+
import co.rsk.federate.io.BtcToRskClientFileStorage;
1014
import co.rsk.federate.timing.TurnScheduler;
1115
import co.rsk.net.NodeBlockProcessor;
1216
import co.rsk.panic.PanicProcessor;
1317
import co.rsk.peg.BridgeUtils;
1418
import co.rsk.peg.Federation;
15-
import co.rsk.peg.FederationMember;
19+
import co.rsk.peg.PegUtilsLegacy;
1620
import co.rsk.peg.PeginInformation;
1721
import co.rsk.peg.btcLockSender.BtcLockSender.TxSenderAddressType;
22+
import co.rsk.peg.btcLockSender.BtcLockSenderProvider;
1823
import co.rsk.peg.pegininstructions.PeginInstructionsException;
1924
import co.rsk.peg.pegininstructions.PeginInstructionsProvider;
2025
import com.google.common.annotations.VisibleForTesting;
21-
import co.rsk.peg.btcLockSender.BtcLockSenderProvider;
2226
import com.google.common.collect.Lists;
23-
import org.bitcoinj.core.*;
24-
import org.bitcoinj.store.BlockStoreException;
25-
import org.ethereum.config.blockchain.upgrades.ActivationConfig;
26-
import org.ethereum.config.blockchain.upgrades.ConsensusRule;
27-
import org.slf4j.Logger;
28-
import org.slf4j.LoggerFactory;
29-
30-
import javax.annotation.PreDestroy;
3127
import java.io.IOException;
3228
import java.time.Clock;
33-
import java.util.*;
29+
import java.util.ArrayList;
30+
import java.util.Collections;
31+
import java.util.LinkedList;
32+
import java.util.List;
33+
import java.util.Map;
34+
import java.util.Optional;
35+
import java.util.Set;
3436
import java.util.concurrent.Executors;
3537
import java.util.concurrent.ScheduledExecutorService;
3638
import java.util.concurrent.TimeUnit;
3739
import java.util.stream.IntStream;
38-
39-
import static com.google.common.base.Preconditions.checkNotNull;
40+
import javax.annotation.PreDestroy;
41+
import org.bitcoinj.core.Block;
42+
import org.bitcoinj.core.NetworkParameters;
43+
import org.bitcoinj.core.PartialMerkleTree;
44+
import org.bitcoinj.core.Sha256Hash;
45+
import org.bitcoinj.core.StoredBlock;
46+
import org.bitcoinj.core.Transaction;
47+
import org.bitcoinj.core.Utils;
48+
import org.bitcoinj.store.BlockStoreException;
49+
import org.ethereum.config.blockchain.upgrades.ActivationConfig;
50+
import org.ethereum.config.blockchain.upgrades.ConsensusRule;
51+
import org.slf4j.Logger;
52+
import org.slf4j.LoggerFactory;
4053

4154
/**
4255
* Manages the process of informing the RSK bridge news about the bitcoin blockchain
@@ -770,7 +783,7 @@ private boolean isTxProcessable(BtcTransaction btcTx, TxSenderAddressType txSend
770783

771784
// If the tx is a peg-out it means we are receiving change (or migrating funds)
772785
// so it should be processable
773-
return BridgeUtils.isPegOutTx(btcTx, Collections.singletonList(federation), activationConfig.forBlock(bestBlockNumber))
786+
return PegUtilsLegacy.isPegOutTx(btcTx, Collections.singletonList(federation), activationConfig.forBlock(bestBlockNumber))
774787
|| activationConfig.isActive(ConsensusRule.RSKIP170, bestBlockNumber)
775788
|| BridgeUtils.txIsProcessableInLegacyVersion(txSenderAddressType, activationConfig.forBlock(bestBlockNumber));
776789
}

src/main/java/co/rsk/federate/bitcoin/BitcoinWrapperImpl.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package co.rsk.federate.bitcoin;
22

33
import co.rsk.bitcoinj.core.BtcTransaction;
4+
import co.rsk.bitcoinj.wallet.Wallet;
45
import co.rsk.config.BridgeConstants;
56
import co.rsk.federate.FederatorSupport;
67
import co.rsk.federate.adapter.ThinConverter;
7-
import co.rsk.peg.BridgeUtils;
8+
import co.rsk.peg.BridgeBtcWallet;
89
import co.rsk.peg.Federation;
10+
import co.rsk.peg.PegUtilsLegacy;
911
import co.rsk.peg.PeginInformation;
1012
import co.rsk.peg.btcLockSender.BtcLockSenderProvider;
1113
import co.rsk.peg.pegininstructions.PeginInstructionsException;
@@ -323,7 +325,8 @@ protected void coinsReceivedOrSent(Transaction tx) {
323325
for (FederationListener watched : watchedFederations) {
324326
Federation watchedFederation = watched.getFederation();
325327
TransactionListener listener = watched.getListener();
326-
if (BridgeUtils.isValidPegInTx(btcTx, watchedFederation, btcContextThin, bridgeConstants, federatorSupport.getConfigForBestBlock())) {
328+
Wallet watchedFederationWallet = new BridgeBtcWallet(btcContextThin, Collections.singletonList(watchedFederation));
329+
if (PegUtilsLegacy.isValidPegInTx(btcTx, watchedFederation, watchedFederationWallet, bridgeConstants, federatorSupport.getConfigForBestBlock())) {
327330

328331
PeginInformation peginInformation = new PeginInformation(
329332
btcLockSenderProvider,
@@ -345,7 +348,7 @@ protected void coinsReceivedOrSent(Transaction tx) {
345348
LOGGER.debug("[coinsReceivedOrSent] [btctx:{}] is a lock", tx.getWTxId());
346349
listener.onTransaction(tx);
347350
}
348-
if (BridgeUtils.isPegOutTx(btcTx, Collections.singletonList(watchedFederation), federatorSupport.getConfigForBestBlock())) {
351+
if (PegUtilsLegacy.isPegOutTx(btcTx, Collections.singletonList(watchedFederation), federatorSupport.getConfigForBestBlock())) {
349352
LOGGER.debug("[coinsReceivedOrSent] [btctx:{}] is a release", tx.getWTxId());
350353
listener.onTransaction(tx);
351354
}

src/test/java/co/rsk/federate/BtcToRskClientTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package co.rsk.federate;
22

3+
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
34
import static org.junit.jupiter.api.Assertions.assertEquals;
45
import static org.junit.jupiter.api.Assertions.assertFalse;
56
import static org.junit.jupiter.api.Assertions.assertNotNull;
67
import static org.junit.jupiter.api.Assertions.assertNull;
78
import static org.junit.jupiter.api.Assertions.assertSame;
89
import static org.junit.jupiter.api.Assertions.assertThrows;
9-
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
1010
import static org.junit.jupiter.api.Assertions.assertTrue;
1111
import static org.mockito.Mockito.any;
1212
import static org.mockito.Mockito.anyInt;
@@ -38,9 +38,8 @@
3838
import co.rsk.federate.mock.SimpleBtcTransaction;
3939
import co.rsk.federate.mock.SimpleFederatorSupport;
4040
import co.rsk.net.NodeBlockProcessor;
41-
import co.rsk.peg.BridgeUtils;
4241
import co.rsk.peg.Federation;
43-
import co.rsk.peg.FederationMember;
42+
import co.rsk.peg.PegUtilsLegacy;
4443
import co.rsk.peg.btcLockSender.BtcLockSender;
4544
import co.rsk.peg.btcLockSender.BtcLockSender.TxSenderAddressType;
4645
import co.rsk.peg.btcLockSender.BtcLockSenderProvider;
@@ -1734,7 +1733,7 @@ void updateTransaction_with_release_before_rskip143() throws Exception {
17341733
releaseInput1.setScriptSig(inputScript);
17351734

17361735
// Verify it was properly signed
1737-
assertTrue(BridgeUtils.isPegOutTx(releaseTx1, Collections.singletonList(genesisFederation), activations));
1736+
assertTrue(PegUtilsLegacy.isPegOutTx(releaseTx1, Collections.singletonList(genesisFederation), activations));
17381737

17391738
Transaction releaseTx = ThinConverter.toOriginalInstance(bridgeRegTestConstants.getBtcParamsString(), releaseTx1);
17401739

0 commit comments

Comments
 (0)