Coverage Summary for Class: RemascFederationProvider (co.rsk.remasc)

Class Class, % Method, % Line, %
RemascFederationProvider 0% (0/1) 0% (0/3) 0% (0/7)


1 /* 2  * This file is part of RskJ 3  * Copyright (C) 2018 RSK Labs Ltd. 4  * 5  * This program is free software: you can redistribute it and/or modify 6  * it under the terms of the GNU Lesser General Public License as published by 7  * the Free Software Foundation, either version 3 of the License, or 8  * (at your option) any later version. 9  * 10  * This program is distributed in the hope that it will be useful, 11  * but WITHOUT ANY WARRANTY; without even the implied warranty of 12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13  * GNU Lesser General Public License for more details. 14  * 15  * You should have received a copy of the GNU Lesser General Public License 16  * along with this program. If not, see <http://www.gnu.org/licenses/>. 17  */ 18 package co.rsk.remasc; 19  20 import co.rsk.config.BridgeConstants; 21 import co.rsk.core.RskAddress; 22 import co.rsk.peg.BridgeStorageProvider; 23 import co.rsk.peg.FederationSupport; 24 import org.ethereum.config.blockchain.upgrades.ActivationConfig; 25 import org.ethereum.core.Block; 26 import org.ethereum.core.Repository; 27 import org.ethereum.crypto.ECKey; 28 import org.ethereum.vm.PrecompiledContracts; 29  30 /** 31  * Created by ajlopez on 14/11/2017. 32  */ 33 public class RemascFederationProvider { 34  private final FederationSupport federationSupport; 35  36  public RemascFederationProvider( 37  ActivationConfig activationConfig, 38  BridgeConstants bridgeConstants, 39  Repository repository, 40  Block processingBlock) { 41  BridgeStorageProvider bridgeStorageProvider = new BridgeStorageProvider( 42  repository, 43  PrecompiledContracts.BRIDGE_ADDR, 44  bridgeConstants, 45  activationConfig.forBlock(processingBlock.getNumber()) 46  ); 47  this.federationSupport = new FederationSupport(bridgeConstants, bridgeStorageProvider, processingBlock); 48  } 49  50  public int getFederationSize() { 51  return this.federationSupport.getFederationSize(); 52  } 53  54  public RskAddress getFederatorAddress(int n) { 55  byte[] publicKey = this.federationSupport.getFederatorBtcPublicKey(n); 56  return new RskAddress(ECKey.fromPublicOnly(publicKey).getAddress()); 57  } 58 }