ProxyRedeemerConverter.java
package io.uverify.backend.model.converter;
import com.bloxbean.cardano.client.common.cbor.CborSerializationUtil;
import com.bloxbean.cardano.client.exception.CborRuntimeException;
import com.bloxbean.cardano.client.plutus.annotation.BasePlutusDataConverter;
import com.bloxbean.cardano.client.plutus.spec.ConstrPlutusData;
import com.bloxbean.cardano.client.plutus.spec.ListPlutusData;
import com.bloxbean.cardano.client.util.HexUtil;
import io.uverify.backend.model.ProxyRedeemer;
import java.lang.Exception;
import java.lang.IllegalArgumentException;
import java.lang.String;
import java.util.Objects;
/**
* Auto generated code. DO NOT MODIFY
*/
public class ProxyRedeemerConverter extends BasePlutusDataConverter {
public ConstrPlutusData toPlutusData(ProxyRedeemer proxyRedeemer) {
if(proxyRedeemer == ProxyRedeemer.ADMIN_ACTION) {
return ConstrPlutusData.builder().alternative(0).data(ListPlutusData.of()).build();
}
if(proxyRedeemer == ProxyRedeemer.USER_ACTION) {
return ConstrPlutusData.builder().alternative(1).data(ListPlutusData.of()).build();
}
throw new IllegalArgumentException("Invalid enum value : " + proxyRedeemer);
}
public ProxyRedeemer fromPlutusData(ConstrPlutusData constr) {
var data = constr.getData();
if(constr.getAlternative() == 0) {
return ProxyRedeemer.ADMIN_ACTION;
}
if(constr.getAlternative() == 1) {
return ProxyRedeemer.USER_ACTION;
}
throw new IllegalArgumentException("Invalid alternative : " + constr.getAlternative());
}
public byte[] serialize(ProxyRedeemer obj) {
Objects.requireNonNull(obj);;
try {
var constr = toPlutusData(obj);
return CborSerializationUtil.serialize(constr.serialize());
} catch (Exception e) {
throw new CborRuntimeException(e);
}
}
public String serializeToHex(ProxyRedeemer obj) {
Objects.requireNonNull(obj);;
var constr = toPlutusData(obj);
return constr.serializeToHex();
}
public ProxyRedeemer deserialize(byte[] bytes) {
Objects.requireNonNull(bytes);;
try {
var di = CborSerializationUtil.deserialize(bytes);
var constr = ConstrPlutusData.deserialize(di);
return fromPlutusData(constr);
} catch (Exception e) {
throw new CborRuntimeException(e);
}
}
public ProxyRedeemer deserialize(String hex) {
Objects.requireNonNull(hex);;
var bytes = HexUtil.decodeHexString(hex);
return deserialize(bytes);
}
}