Coverage Summary for Class: OneOffWhiteListEntry (co.rsk.peg.whitelist)

Class Class, % Method, % Line, %
OneOffWhiteListEntry 0% (0/1) 0% (0/6) 0% (0/9)


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.peg.whitelist; 19  20 import co.rsk.bitcoinj.core.Address; 21 import co.rsk.bitcoinj.core.Coin; 22  23 public class OneOffWhiteListEntry implements LockWhitelistEntry { 24  private final Address address; 25  private final Coin maxTransferValueField; 26  27  private boolean consumed = false; 28  29  public OneOffWhiteListEntry(Address address, Coin maxTransferValue) { 30  this.address = address; 31  this.maxTransferValueField = maxTransferValue; 32  } 33  34  public Address address() { 35  return this.address; 36  } 37  38  public Coin maxTransferValue() { 39  return this.maxTransferValueField; 40  } 41  42  public void consume() { 43  this.consumed = true; 44  } 45  46  public boolean isConsumed() { 47  return this.consumed; 48  } 49  50  public boolean canLock(Coin value) { 51  return !this.consumed && (this.maxTransferValueField.compareTo(value) >= 0); 52  } 53 }