use of co.rsk.peg.utils.BridgeEventLoggerImpl in project rskj by rsksmart.
the class BridgeSupportReleaseBtcTest method handmade_release_after_rskip_146_185_rejected_contractCaller.
@Test
public void handmade_release_after_rskip_146_185_rejected_contractCaller() throws IOException {
when(activationMock.isActive(ConsensusRule.RSKIP146)).thenReturn(true);
when(activationMock.isActive(ConsensusRule.RSKIP185)).thenReturn(true);
List<LogInfo> logInfo = new ArrayList<>();
BridgeEventLoggerImpl eventLogger = spy(new BridgeEventLoggerImpl(bridgeConstants, activationMock, logInfo));
bridgeSupport = initBridgeSupport(eventLogger, activationMock);
releaseTx = buildReleaseRskTx_fromContract(Coin.COIN);
bridgeSupport.releaseBtc(releaseTx);
// Create Contract transaction
Transaction rskTx = buildUpdateTx();
rskTx.sign(SENDER.getPrivKeyBytes());
bridgeSupport.updateCollections(rskTx);
verify(repository, never()).transfer(any(), any(), any());
assertEquals(0, provider.getReleaseTransactionSet().getEntries().size());
assertEquals(0, provider.getReleaseRequestQueue().getEntries().size());
verify(eventLogger, never()).logReleaseBtcRequestReceived(any(), any(), any());
assertEquals(2, logInfo.size());
verify(eventLogger, times(1)).logReleaseBtcRequestRejected(any(), any(), any());
verify(eventLogger, times(1)).logUpdateCollections(any());
}
use of co.rsk.peg.utils.BridgeEventLoggerImpl in project rskj by rsksmart.
the class BridgeSupportReleaseBtcTest method release_before_rskip_219_minimum_exclusive.
@Test
public void release_before_rskip_219_minimum_exclusive() throws IOException {
when(activationMock.isActive(ConsensusRule.RSKIP146)).thenReturn(true);
when(activationMock.isActive(ConsensusRule.RSKIP185)).thenReturn(true);
when(activationMock.isActive(ConsensusRule.RSKIP219)).thenReturn(false);
List<LogInfo> logInfo = new ArrayList<>();
BridgeEventLoggerImpl eventLogger = spy(new BridgeEventLoggerImpl(bridgeConstants, activationMock, logInfo));
bridgeSupport = initBridgeSupport(eventLogger, activationMock);
// Get a value exactly to legacy minimum
Coin value = bridgeConstants.getLegacyMinimumPegoutTxValueInSatoshis();
bridgeSupport.releaseBtc(buildReleaseRskTx(value));
Transaction rskTx = buildUpdateTx();
rskTx.sign(SENDER.getPrivKeyBytes());
assertEquals(0, provider.getReleaseRequestQueue().getEntries().size());
assertEquals(1, logInfo.size());
verify(eventLogger, never()).logReleaseBtcRequestReceived(any(), any(), any());
verify(eventLogger, times(1)).logReleaseBtcRequestRejected(any(), any(), any());
}
use of co.rsk.peg.utils.BridgeEventLoggerImpl in project rskj by rsksmart.
the class BridgeSupportFactory method newInstance.
public BridgeSupport newInstance(Repository repository, Block executionBlock, RskAddress contractAddress, List<LogInfo> logs) {
ActivationConfig.ForBlock activations = activationConfig.forBlock(executionBlock.getNumber());
Context btcContext = new Context(bridgeConstants.getBtcParams());
BridgeStorageProvider provider = new BridgeStorageProvider(repository, contractAddress, bridgeConstants, activations);
FederationSupport federationSupport = new FederationSupport(bridgeConstants, provider, executionBlock);
BridgeEventLogger eventLogger;
if (logs == null) {
eventLogger = null;
} else {
eventLogger = new BridgeEventLoggerImpl(bridgeConstants, activations, logs);
}
BtcLockSenderProvider btcLockSenderProvider = new BtcLockSenderProvider();
PeginInstructionsProvider peginInstructionsProvider = new PeginInstructionsProvider();
return new BridgeSupport(bridgeConstants, provider, eventLogger, btcLockSenderProvider, peginInstructionsProvider, repository, executionBlock, btcContext, federationSupport, btcBlockStoreFactory, activations);
}
Aggregations