Skip to content

Commit

Permalink
refactor: Revert AssetUtil package move to avoid breaking change (#468)
Browse files Browse the repository at this point in the history
  • Loading branch information
satran004 authored Nov 22, 2024
1 parent adebe93 commit 2d0ef44
Show file tree
Hide file tree
Showing 20 changed files with 31 additions and 41 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import com.bloxbean.cardano.client.api.common.OrderEnum;
import com.bloxbean.cardano.client.api.exception.ApiException;
import com.bloxbean.cardano.client.api.model.Result;
import com.bloxbean.cardano.client.transaction.util.AssetUtil;
import com.bloxbean.cardano.client.api.util.AssetUtil;
import com.bloxbean.cardano.client.backend.api.AssetService;
import com.bloxbean.cardano.client.backend.model.Asset;
import com.bloxbean.cardano.client.backend.model.AssetAddress;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.bloxbean.cardano.client.api.model;

import com.bloxbean.cardano.client.transaction.util.AssetUtil;
import com.bloxbean.cardano.client.api.util.AssetUtil;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.bloxbean.cardano.client.api.model;

import com.bloxbean.cardano.client.transaction.util.AssetUtil;
import com.bloxbean.cardano.client.api.util.AssetUtil;
import com.bloxbean.cardano.client.transaction.spec.Asset;
import com.bloxbean.cardano.client.transaction.spec.MultiAsset;
import com.bloxbean.cardano.client.transaction.spec.Value;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.bloxbean.cardano.client.transaction.util;
package com.bloxbean.cardano.client.api.util;

import com.bloxbean.cardano.client.transaction.spec.Asset;
import com.bloxbean.cardano.client.transaction.spec.MultiAsset;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.bloxbean.cardano.client.transaction.util;
package com.bloxbean.cardano.client.api.util;

/*
* Copyright 2018 Coinomi Ltd
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.bloxbean.cardano.client.transaction.spec.Asset;
import com.bloxbean.cardano.client.transaction.spec.MultiAsset;
import com.bloxbean.cardano.client.transaction.spec.TransactionOutput;
import com.bloxbean.cardano.client.transaction.util.AssetUtil;
import com.bloxbean.cardano.client.util.HexUtil;
import com.bloxbean.cardano.client.util.Tuple;
import lombok.NonNull;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import com.bloxbean.cardano.client.transaction.spec.Asset;
import com.bloxbean.cardano.client.transaction.spec.MultiAsset;
import com.bloxbean.cardano.client.transaction.util.AssetUtil;
import com.bloxbean.cardano.client.util.HexUtil;
import org.junit.jupiter.api.Test;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.bloxbean.cardano.client.api.model.Amount;
import com.bloxbean.cardano.client.api.model.ProtocolParams;
import com.bloxbean.cardano.client.api.model.Utxo;
import com.bloxbean.cardano.client.transaction.util.AssetUtil;
import com.bloxbean.cardano.client.api.util.AssetUtil;
import com.bloxbean.cardano.client.coinselection.UtxoSelectionStrategy;
import com.bloxbean.cardano.client.common.CardanoConstants;
import com.bloxbean.cardano.client.common.MinAdaCalculator;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

@Deprecated(forRemoval = true)
/**
* @deprecated Use {@link com.bloxbean.cardano.client.transaction.util.AssetUtil} instead
* @deprecated Use {@link com.bloxbean.cardano.client.api.util.AssetUtil} instead
*/
public class AssetUtil {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import com.bloxbean.cardano.client.api.exception.ApiException;
import com.bloxbean.cardano.client.api.exception.ApiRuntimeException;
import com.bloxbean.cardano.client.api.model.Utxo;
import com.bloxbean.cardano.client.transaction.util.AssetUtil;
import com.bloxbean.cardano.client.api.util.AssetUtil;
import com.bloxbean.cardano.client.api.util.UtxoUtil;
import com.bloxbean.cardano.client.config.Configuration;
import com.bloxbean.cardano.client.exception.CborRuntimeException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import com.bloxbean.cardano.client.api.ScriptSupplier;
import com.bloxbean.cardano.client.api.model.Utxo;
import com.bloxbean.cardano.client.transaction.util.AssetUtil;
import com.bloxbean.cardano.client.api.util.AssetUtil;
import com.bloxbean.cardano.client.function.BaseTest;
import com.bloxbean.cardano.client.account.Account;
import com.bloxbean.cardano.client.api.exception.ApiException;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.bloxbean.cardano.client.function.helper;

import co.nstant.in.cbor.CborException;
import com.bloxbean.cardano.client.transaction.util.AssetUtil;
import com.bloxbean.cardano.client.api.util.AssetUtil;
import com.bloxbean.cardano.client.api.util.PolicyUtil;
import com.bloxbean.cardano.client.function.BaseTest;
import com.bloxbean.cardano.client.api.UtxoSupplier;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.bloxbean.cardano.client.function.helper;

import com.bloxbean.cardano.client.account.Account;
import com.bloxbean.cardano.client.transaction.util.AssetUtil;
import com.bloxbean.cardano.client.api.util.AssetUtil;
import com.bloxbean.cardano.client.common.model.Networks;
import com.bloxbean.cardano.client.crypto.KeyGenUtil;
import com.bloxbean.cardano.client.crypto.SecretKey;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import com.bloxbean.cardano.client.api.helper.TransactionHelperService;
import com.bloxbean.cardano.client.api.helper.model.TransactionResult;
import com.bloxbean.cardano.client.api.model.Result;
import com.bloxbean.cardano.client.transaction.util.AssetUtil;
import com.bloxbean.cardano.client.api.util.AssetUtil;
import com.bloxbean.cardano.client.backend.api.*;
import com.bloxbean.cardano.client.backend.model.Block;
import com.bloxbean.cardano.client.backend.model.TransactionContent;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import com.bloxbean.cardano.client.api.model.Amount;
import com.bloxbean.cardano.client.api.model.Result;
import com.bloxbean.cardano.client.api.model.Utxo;
import com.bloxbean.cardano.client.transaction.util.AssetUtil;
import com.bloxbean.cardano.client.api.util.AssetUtil;
import com.bloxbean.cardano.client.backend.api.*;
import com.bloxbean.cardano.client.backend.model.Block;
import com.bloxbean.cardano.client.backend.model.TransactionContent;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import com.bloxbean.cardano.client.api.model.Amount;
import com.bloxbean.cardano.client.api.model.Utxo;
import com.bloxbean.cardano.client.transaction.util.AssetUtil;
import com.bloxbean.cardano.client.api.util.AssetUtil;
import com.bloxbean.cardano.client.exception.CborRuntimeException;
import com.bloxbean.cardano.client.exception.CborSerializationException;
import com.bloxbean.cardano.client.function.TxBuilder;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import com.bloxbean.cardano.client.address.Credential;
import com.bloxbean.cardano.client.api.model.Amount;
import com.bloxbean.cardano.client.api.model.Utxo;
import com.bloxbean.cardano.client.transaction.util.AssetUtil;
import com.bloxbean.cardano.client.api.util.AssetUtil;
import com.bloxbean.cardano.client.function.TxBuilder;
import com.bloxbean.cardano.client.function.exception.TxBuildException;
import com.bloxbean.cardano.client.transaction.spec.Asset;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.bloxbean.cardano.client.quicktx.blueprint.extender;

import com.bloxbean.cardano.client.api.model.Amount;
import com.bloxbean.cardano.client.transaction.util.AssetUtil;
import com.bloxbean.cardano.client.api.util.AssetUtil;
import com.bloxbean.cardano.client.exception.CborRuntimeException;
import com.bloxbean.cardano.client.exception.CborSerializationException;
import com.bloxbean.cardano.client.plutus.blueprint.model.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.bloxbean.cardano.client.quicktx.verifiers;

import com.bloxbean.cardano.client.api.model.Amount;
import com.bloxbean.cardano.client.transaction.util.AssetUtil;
import com.bloxbean.cardano.client.api.util.AssetUtil;
import com.bloxbean.cardano.client.quicktx.Verifier;
import com.bloxbean.cardano.client.quicktx.VerifierException;
import com.bloxbean.cardano.client.transaction.spec.Transaction;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import co.nstant.in.cbor.model.*;
import com.bloxbean.cardano.client.common.cbor.CborSerializationUtil;
import com.bloxbean.cardano.client.common.cbor.custom.SortedMap;
import com.bloxbean.cardano.client.transaction.util.AssetUtil;
import com.bloxbean.cardano.client.util.Tuple;
import lombok.AllArgsConstructor;
import lombok.Builder;
Expand All @@ -19,8 +18,6 @@
import java.util.stream.Collectors;
import java.util.stream.Stream;

import static com.bloxbean.cardano.client.common.CardanoConstants.LOVELACE;

@Data
@AllArgsConstructor
@NoArgsConstructor
Expand Down Expand Up @@ -171,26 +168,18 @@ public Value plus(Value that) {
return this.add(that);
}

public Value addLovelace(BigInteger amount) {
return this.add(fromLovelace(amount));
}

public Value add(String policyId, String assetName, BigInteger amount) {
return this.add(from(policyId, assetName, amount));
}

public Value add(String unit, BigInteger amount) {
if (unit == null || LOVELACE.equals(unit)) {
return add(fromLovelace(amount));
} else {
Tuple<String, String> policyAndAssetName = AssetUtil.getPolicyIdAndAssetName(unit);
return this.add(from(policyAndAssetName._1, policyAndAssetName._2, amount));
}
Tuple<String, String> policyAndAssetName = getPolicyAndAssetName(unit);
return this.add(from(policyAndAssetName._1, policyAndAssetName._2, amount));
}


public static Value from(String policyId, String assetName, BigInteger amount) {
if (policyId == null || policyId.isBlank()) {
if ((policyId != null && policyId.equals("lovelace")) || (assetName != null && assetName.equals("lovelace"))) {
return fromLovelace(amount);
} else {
return Value.builder()
Expand Down Expand Up @@ -257,12 +246,8 @@ public Value subtract(String policyId, String assetName, BigInteger amount) {
}

public Value subtract(String unit, BigInteger amount) {
if (unit == null || LOVELACE.equals(unit)) {
return subtract(fromLovelace(amount));
} else {
Tuple<String, String> policyAndAssetName = AssetUtil.getPolicyIdAndAssetName(unit);
return subtract(from(policyAndAssetName._1, policyAndAssetName._2, amount));
}
Tuple<String, String> policyAndAssetName = getPolicyAndAssetName(unit);
return this.subtract(from(policyAndAssetName._1, policyAndAssetName._2, amount));
}


Expand All @@ -279,10 +264,17 @@ public BigInteger amountOf(String policyId, String assetName) {
}

public BigInteger amountOf(String unit) {
Tuple<String, String> policyAndAssetName = AssetUtil.getPolicyIdAndAssetName(unit);
Tuple<String, String> policyAndAssetName = getPolicyAndAssetName(unit);
return amountOf(policyAndAssetName._1, policyAndAssetName._2);
}

private Tuple<String, String> getPolicyAndAssetName(String unit) {
String sanitisedUnit = unit.replace(".", "");
String policyId = sanitisedUnit.substring(0, 56);
String assetName = "0x" + sanitisedUnit.substring(56);
return new Tuple<>(policyId, assetName);
}

public boolean isZero() {
return (multiAssets == null || multiAssets.isEmpty()) && BigInteger.ZERO.equals(coin);
}
Expand All @@ -295,7 +287,7 @@ public boolean isZero() {
public boolean isPositive() {
boolean isCoinPositive = coin.signum() >= 0;
boolean allAssetsPositive = multiAssets == null || multiAssets.isEmpty() ||
multiAssets.stream().allMatch(multiAsset -> multiAsset.getAssets().stream().allMatch(asset -> asset.getValue().signum() >= 0));
multiAssets.stream().allMatch(multiAsset -> multiAsset.getAssets().stream().allMatch(asset -> asset.getValue().longValue() >= 0));
return isCoinPositive && allAssetsPositive;
}

Expand Down

0 comments on commit 2d0ef44

Please sign in to comment.