com.alphawallet.token.entity.MagicLinkData Maven / Gradle / Ivy
package com.alphawallet.token.entity;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
public class MagicLinkData
{
public long expiry;
public byte[] prefix;
public BigInteger nonce;
public double price;
public BigInteger priceWei;
public List tokenIds;
public int[] indices;
public BigInteger amount;
public int ticketStart;
public int ticketCount;
public String contractAddress;
public byte[] signature = new byte[65];
public byte[] message;
public String ownerAddress;
public String contractName;
public byte contractType;
public int chainId;
public List balanceInfo = null;
public boolean isValidOrder()
{
//check this order is not corrupt
//first check the owner address - we should already have called getOwnerKey
boolean isValid = true;
if (this.ownerAddress == null || this.ownerAddress.length() < 20) isValid = false;
if (this.contractAddress == null || this.contractAddress.length() < 20) isValid = false;
if (this.message == null) isValid = false;
return isValid;
}
public boolean balanceChange(List balance)
{
//compare two balances
//quick return, if sizes are different there's a change
if (balanceInfo == null)
{
balanceInfo = new ArrayList<>(); //initialise the balance list
return true;
}
if (balance.size() != balanceInfo.size()) return true;
List oldBalance = new ArrayList<>(balanceInfo);
List newBalance = new ArrayList<>(balance);
oldBalance.removeAll(balanceInfo);
newBalance.removeAll(balance);
return (oldBalance.size() != 0 || newBalance.size() != 0);
}
}