fix strings in request

This commit is contained in:
Phillip Lang Martinez 2023-08-23 14:41:50 -05:00
parent 24ff3ab581
commit b051f9be89
2 changed files with 42 additions and 13 deletions

View File

@ -9,6 +9,7 @@ import io.swagger.v3.oas.annotations.parameters.RequestBody;
import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import java.io.IOException;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -39,10 +40,13 @@ import org.qortal.transform.TransformationException;
import org.qortal.transform.transaction.DeployAtTransactionTransformer; import org.qortal.transform.transaction.DeployAtTransactionTransformer;
import org.qortal.utils.Base58; import org.qortal.utils.Base58;
import java.util.Base64; import java.util.Base64;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.fasterxml.jackson.databind.ObjectMapper;
@Path("/at") @Path("/at")
@Tag(name = "Automated Transactions") @Tag(name = "Automated Transactions")
public class AtResource { public class AtResource {
private static final Logger logger = LoggerFactory.getLogger(AtResource.class);
@Context @Context
HttpServletRequest request; HttpServletRequest request;
@ -183,15 +187,27 @@ public class AtResource {
) )
} }
) )
public byte[] createMachineState(CreationRequest request) { public String createMachineState(String jsonBody) throws IOException {
return MachineState.toCreationBytes( ObjectMapper objectMapper = new ObjectMapper();
request.getCiyamAtVersion(), CreationRequest request = objectMapper.readValue(jsonBody, CreationRequest.class);
request.getCodeBytes(),
request.getDataBytes(), logger.info("ciyamAtVersion: {}", request.getCiyamAtVersion());
request.getNumCallStackPages(), logger.info("codeBytes: {}", request.getCodeBytes());
request.getNumUserStackPages(), logger.info("codeBytes: {}", request.getNumUserStackPages());
request.getMinActivationAmount() logger.info("codeBytes: {}", request.getDataBytes());
); logger.info("codeBytes: {}", request.getNumCallStackPages());
logger.info("codeBytes: {}", request.getMinActivationAmount());
byte[] creationBytes = MachineState.toCreationBytes(
request.getCiyamAtVersion(),
request.getCodeBytes(),
request.getDataBytes(),
request.getNumCallStackPages(),
request.getNumUserStackPages(),
request.getMinActivationAmount()
);
return Base58.encode(creationBytes);
} }
@POST @POST
@Operation( @Operation(

View File

@ -1,10 +1,11 @@
package org.qortal.data.transaction; package org.qortal.data.transaction;
import java.util.Base64; import java.util.Base64;
import com.fasterxml.jackson.annotation.JsonProperty;
public class CreationRequest { public class CreationRequest {
private short ciyamAtVersion; private short ciyamAtVersion;
@JsonProperty("codeBytesBase64")
private String codeBytesBase64; private String codeBytesBase64;
private String dataBytesBase64; private String dataBytesBase64;
private short numCallStackPages; private short numCallStackPages;
@ -24,15 +25,27 @@ public class CreationRequest {
} }
public byte[] getCodeBytes() { public byte[] getCodeBytes() {
return Base64.getDecoder().decode(this.codeBytesBase64); if (this.codeBytesBase64 != null) {
return Base64.getDecoder().decode(this.codeBytesBase64);
}
return new byte[0];
} }
public void setCodeBytesBase64(String codeBytesBase64) { public void setCodeBytesBase64(String codeBytesBase64) {
this.codeBytesBase64 = codeBytesBase64; this.codeBytesBase64 = codeBytesBase64;
} }
public String getCodeBytes2() {
return codeBytesBase64;
}
public byte[] getDataBytes() { public byte[] getDataBytes() {
return Base64.getDecoder().decode(this.dataBytesBase64); if (this.dataBytesBase64 != null) {
return Base64.getDecoder().decode(this.dataBytesBase64);
}
return new byte[0];
} }
public void setDataBytesBase64(String dataBytesBase64) { public void setDataBytesBase64(String dataBytesBase64) {