mirror of
https://github.com/Qortal/qortal.git
synced 2025-05-03 16:27:50 +00:00
Refactored to standard Maven layout: src/main/java src/main/resources src/test/java etc. New translation code that uses locale-specific ResourceBundles to load translations on demand. Reworked API error/exceptions code to a shorter, simpler @ApiErrors annotation. Processing of @ApiErrors annotations produces an example for each possible API error and includes API error string in HTTP response code, e.g. 400 INVALID_SIGNATURE Missing API error cases added to each API call. Translation of openAPI.json removed (for now). block-explorer.html and BIP39 wordlists now read as resources instead of direct from disk. Java compile warnings fixed. Some runtime warnings remain: WARNING: A provider api.resource.ApiDefinition registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. WARNING: A provider api.resource.AnnotationPostProcessor registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. WARN org.reflections.Reflections - given scan urls are empty. set urls in the configuration
64 lines
1.8 KiB
Java
64 lines
1.8 KiB
Java
package data.transaction;
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
import javax.xml.bind.annotation.XmlAccessType;
|
|
import javax.xml.bind.annotation.XmlAccessorType;
|
|
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
|
|
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
|
import qora.transaction.Transaction.TransactionType;
|
|
|
|
// All properties to be converted to JSON via JAX-RS
|
|
@XmlAccessorType(XmlAccessType.FIELD)
|
|
@Schema( allOf = { TransactionData.class } )
|
|
public class PaymentTransactionData extends TransactionData {
|
|
|
|
// Properties
|
|
@Schema(description = "sender's public key", example = "2tiMr5LTpaWCgbRvkPK8TFd7k63DyHJMMFFsz9uBf1ZP")
|
|
private byte[] senderPublicKey;
|
|
@Schema(description = "recipient's address", example = "Qj2Stco8ziE3ZQN2AdpWCmkBFfYjuz8fGu")
|
|
private String recipient;
|
|
@Schema(description = "amount to send", example = "123.456")
|
|
@XmlJavaTypeAdapter(
|
|
type = BigDecimal.class,
|
|
value = api.BigDecimalTypeAdapter.class
|
|
)
|
|
private BigDecimal amount;
|
|
|
|
// Constructors
|
|
|
|
// For JAX-RS
|
|
protected PaymentTransactionData() {
|
|
super(TransactionType.PAYMENT);
|
|
}
|
|
|
|
public PaymentTransactionData(byte[] senderPublicKey, String recipient, BigDecimal amount, BigDecimal fee, long timestamp, byte[] reference,
|
|
byte[] signature) {
|
|
super(TransactionType.PAYMENT, fee, senderPublicKey, timestamp, reference, signature);
|
|
|
|
this.senderPublicKey = senderPublicKey;
|
|
this.recipient = recipient;
|
|
this.amount = amount;
|
|
}
|
|
|
|
public PaymentTransactionData(byte[] senderPublicKey, String recipient, BigDecimal amount, BigDecimal fee, long timestamp, byte[] reference) {
|
|
this(senderPublicKey, recipient, amount, fee, timestamp, reference, null);
|
|
}
|
|
|
|
// Getters/Setters
|
|
|
|
public byte[] getSenderPublicKey() {
|
|
return this.senderPublicKey;
|
|
}
|
|
|
|
public String getRecipient() {
|
|
return this.recipient;
|
|
}
|
|
|
|
public BigDecimal getAmount() {
|
|
return this.amount;
|
|
}
|
|
|
|
}
|