From 97d4839c8978e1465defa518af7235ddf9387ac1 Mon Sep 17 00:00:00 2001 From: fletch153 Date: Tue, 23 Oct 2018 20:01:52 +0100 Subject: [PATCH] Added get_transaction_schedule plus fixes. --- src/main/java/client/EosApiRestClient.java | 2 + .../common/transaction/PackedTransaction.java | 9 +- .../common/transaction/TransactionAction.java | 14 +-- .../transaction/TransactionAuthorization.java | 3 + .../transaction/ScheduledTransaction.java | 90 +++++++++++++++++++ .../ScheduledTransactionResponse.java | 29 ++++++ .../client/impl/EosApiRestClientImpl.java | 15 ++++ .../java/client/impl/EosChainApiService.java | 5 ++ 8 files changed, 158 insertions(+), 9 deletions(-) create mode 100644 src/main/java/client/domain/response/chain/transaction/ScheduledTransaction.java create mode 100644 src/main/java/client/domain/response/chain/transaction/ScheduledTransactionResponse.java diff --git a/src/main/java/client/EosApiRestClient.java b/src/main/java/client/EosApiRestClient.java index 5de9854..4421116 100644 --- a/src/main/java/client/EosApiRestClient.java +++ b/src/main/java/client/EosApiRestClient.java @@ -10,6 +10,7 @@ import client.domain.common.transaction.PackedTransaction; import client.domain.response.chain.currencystats.CurrencyStats; import client.domain.response.chain.transaction.PushedTransaction; +import client.domain.response.chain.transaction.ScheduledTransactionResponse; import client.domain.response.history.action.Actions; import client.domain.response.history.controlledaccounts.ControlledAccounts; import client.domain.response.history.keyaccounts.KeyAccounts; @@ -80,4 +81,5 @@ public interface EosApiRestClient { ControlledAccounts getControlledAccounts(String controllingAccountName); + ScheduledTransactionResponse getScheduledtransactions(String lowerBound, String limit); } diff --git a/src/main/java/client/domain/common/transaction/PackedTransaction.java b/src/main/java/client/domain/common/transaction/PackedTransaction.java index fda1f5e..134d295 100644 --- a/src/main/java/client/domain/common/transaction/PackedTransaction.java +++ b/src/main/java/client/domain/common/transaction/PackedTransaction.java @@ -1,11 +1,13 @@ package client.domain.common.transaction; + import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; + @JsonInclude(JsonInclude.Include.NON_NULL) public class PackedTransaction { @@ -29,8 +31,7 @@ public class PackedTransaction { private List actions; - private Integer delaySec; - + private Long delaySec; public String getRegion() { return region; @@ -111,12 +112,12 @@ public void setActions(List actions) { this.actions = actions; } - public Integer getDelaySec() { + public Long getDelaySec() { return delaySec; } @JsonProperty("delay_sec") - public void setDelaySec(Integer delaySec) { + public void setDelaySec(Long delaySec) { this.delaySec = delaySec; } diff --git a/src/main/java/client/domain/common/transaction/TransactionAction.java b/src/main/java/client/domain/common/transaction/TransactionAction.java index 21f85fb..b7fe5f6 100644 --- a/src/main/java/client/domain/common/transaction/TransactionAction.java +++ b/src/main/java/client/domain/common/transaction/TransactionAction.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import java.util.List; +import java.util.Objects; @JsonIgnoreProperties(ignoreUnknown = true) public class TransactionAction { @@ -14,7 +15,9 @@ public class TransactionAction { private List authorization; - private String data; + /*TODO Dynamically Unpack JSON Data */ + + private String hex_data; public TransactionAction() { @@ -44,11 +47,12 @@ public void setAuthorization(List authorization) { this.authorization = authorization; } - public String getData() { - return data; + public String getHex_data() { + return hex_data; } - public void setData(String data) { - this.data = data; + public void setHex_data(String hex_data) { + this.hex_data = hex_data; } + } diff --git a/src/main/java/client/domain/common/transaction/TransactionAuthorization.java b/src/main/java/client/domain/common/transaction/TransactionAuthorization.java index 034b4dc..83b70a8 100644 --- a/src/main/java/client/domain/common/transaction/TransactionAuthorization.java +++ b/src/main/java/client/domain/common/transaction/TransactionAuthorization.java @@ -2,6 +2,8 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import java.util.Objects; + @JsonIgnoreProperties(ignoreUnknown = true) public class TransactionAuthorization { @@ -24,4 +26,5 @@ public String getPermission() { public void setPermission(String permission) { this.permission = permission; } + } diff --git a/src/main/java/client/domain/response/chain/transaction/ScheduledTransaction.java b/src/main/java/client/domain/response/chain/transaction/ScheduledTransaction.java new file mode 100644 index 0000000..8292e22 --- /dev/null +++ b/src/main/java/client/domain/response/chain/transaction/ScheduledTransaction.java @@ -0,0 +1,90 @@ +package client.domain.response.chain.transaction; + +import client.domain.common.transaction.PackedTransaction; + + +import java.util.List; +import java.util.Objects; + +public class ScheduledTransaction { + + private String trx_id; + + private String sender; + + private String sender_id; + + private String payer; + + private String delay_until; + + private String expiration; + + private String published; + + private PackedTransaction transaction; + + public String getTrx_id() { + return trx_id; + } + + public void setTrx_id(String trx_id) { + this.trx_id = trx_id; + } + + public String getSender() { + return sender; + } + + public void setSender(String sender) { + this.sender = sender; + } + + public String getSender_id() { + return sender_id; + } + + public void setSender_id(String sender_id) { + this.sender_id = sender_id; + } + + public String getPayer() { + return payer; + } + + public void setPayer(String payer) { + this.payer = payer; + } + + public String getDelay_until() { + return delay_until; + } + + public void setDelay_until(String delay_until) { + this.delay_until = delay_until; + } + + public String getExpiration() { + return expiration; + } + + public void setExpiration(String expiration) { + this.expiration = expiration; + } + + public String getPublished() { + return published; + } + + public void setPublished(String published) { + this.published = published; + } + + public PackedTransaction getTransaction() { + return transaction; + } + + public void setTransaction(PackedTransaction transaction) { + this.transaction = transaction; + } +} diff --git a/src/main/java/client/domain/response/chain/transaction/ScheduledTransactionResponse.java b/src/main/java/client/domain/response/chain/transaction/ScheduledTransactionResponse.java new file mode 100644 index 0000000..1fbc992 --- /dev/null +++ b/src/main/java/client/domain/response/chain/transaction/ScheduledTransactionResponse.java @@ -0,0 +1,29 @@ +package client.domain.response.chain.transaction; + +import java.util.ArrayList; +import java.util.Objects; + +public class ScheduledTransactionResponse { + + private ArrayList transactions; + + private String more; + + + public String getMore() { + return more; + } + + public void setMore(String more) { + this.more = more; + } + + public ArrayList getTransactions() { + return transactions; + } + + public void setTransactions(ArrayList transactions) { + this.transactions = transactions; + } + +} diff --git a/src/main/java/client/impl/EosApiRestClientImpl.java b/src/main/java/client/impl/EosApiRestClientImpl.java index c1772a2..7e2c349 100644 --- a/src/main/java/client/impl/EosApiRestClientImpl.java +++ b/src/main/java/client/impl/EosApiRestClientImpl.java @@ -15,6 +15,7 @@ import client.domain.common.transaction.PackedTransaction; import client.domain.response.chain.currencystats.CurrencyStats; import client.domain.response.chain.transaction.PushedTransaction; +import client.domain.response.chain.transaction.ScheduledTransactionResponse; import client.domain.response.history.action.Actions; import client.domain.response.history.controlledaccounts.ControlledAccounts; import client.domain.response.history.keyaccounts.KeyAccounts; @@ -245,4 +246,18 @@ public ControlledAccounts getControlledAccounts(String controllingAccountName){ return EosApiServiceGenerator.executeSync(eosHistoryApiService.getControlledAccounts(requestParameters)); } + @Override + public ScheduledTransactionResponse getScheduledtransactions(String lowerBound, String limit){ + LinkedHashMap requestParameters = new LinkedHashMap<>(2); + + requestParameters.put("json", "true"); + + if(lowerBound != null) + requestParameters.put("lower_bound", lowerBound); + + requestParameters.put("limit", limit); + + return EosApiServiceGenerator.executeSync(eosChainApiService.getScheduledtransaction(requestParameters)); + } + } diff --git a/src/main/java/client/impl/EosChainApiService.java b/src/main/java/client/impl/EosChainApiService.java index 7af4392..efde058 100644 --- a/src/main/java/client/impl/EosChainApiService.java +++ b/src/main/java/client/impl/EosChainApiService.java @@ -9,6 +9,8 @@ import client.domain.response.chain.code.Code; import client.domain.response.chain.currencystats.CurrencyStats; import client.domain.response.chain.transaction.PushedTransaction; +import client.domain.response.chain.transaction.ScheduledTransaction; +import client.domain.response.chain.transaction.ScheduledTransactionResponse; import retrofit2.Call; import retrofit2.http.Body; import retrofit2.http.GET; @@ -58,4 +60,7 @@ public interface EosChainApiService { @POST("/v1/chain/get_currency_stats") Call> getCurrencyStats(@Body Map requestFields); + @POST("/v1/chain/get_scheduled_transactions") + Call getScheduledtransaction(@Body Map requestFields); + }