diff --git a/plugins/webapi/value/gettransactionbyid/handler.go b/plugins/webapi/value/gettransactionbyid/handler.go index ba4d9248bf24eac9cdca043f1c6da2bd2aa3d8c4..df4791aba9deab3ff23bd74334a2f173d5d3f7da 100644 --- a/plugins/webapi/value/gettransactionbyid/handler.go +++ b/plugins/webapi/value/gettransactionbyid/handler.go @@ -26,13 +26,21 @@ func Handler(c echo.Context) error { } txn := utils.ParseTransaction(txnObj.Unwrap()) - // TODO: get inclusion state + // get txn metadata + txnMetadataObj := valuetransfers.Tangle.TransactionMetadata(txnID) + defer txnMetadataObj.Release() + if !txnMetadataObj.Exists() { + return c.JSON(http.StatusNotFound, Response{Error: "Transaction Metadata not found"}) + } + txnMetadata := txnMetadataObj.Unwrap() + return c.JSON(http.StatusOK, Response{ Transaction: txn, InclusionState: utils.InclusionState{ - Confirmed: true, - Conflict: false, - Liked: true, + Solid: txnMetadata.Solid(), + Confirmed: txnMetadata.Confirmed(), + Rejected: txnMetadata.Rejected(), + Liked: txnMetadata.Liked(), }, }) } diff --git a/plugins/webapi/value/unspentoutputs/handler.go b/plugins/webapi/value/unspentoutputs/handler.go index e22c9b0a076be495e2816be8b2c268201e823dd8..738c278ff426654e75f9571c8df2a5e18fe0860c 100644 --- a/plugins/webapi/value/unspentoutputs/handler.go +++ b/plugins/webapi/value/unspentoutputs/handler.go @@ -32,7 +32,6 @@ func Handler(c echo.Context) error { defer outputObj.Release() output := outputObj.Unwrap() - // TODO: get inclusion state if output.ConsumerCount() == 0 { // iterate balances var b []utils.Balance @@ -47,9 +46,10 @@ func Handler(c echo.Context) error { ID: id.String(), Balances: b, InclusionState: utils.InclusionState{ - Confirmed: true, - Conflict: false, - Liked: true, + Solid: output.Solid(), + Confirmed: output.Confirmed(), + Rejected: output.Rejected(), + Liked: output.Liked(), }, }) } diff --git a/plugins/webapi/value/utils/transaction_handler.go b/plugins/webapi/value/utils/transaction_handler.go index 308904d55c3e577c0d6f5cdd08b0d2fecc0590f2..359446a258072f14091c027ea639d10bb84ef675 100644 --- a/plugins/webapi/value/utils/transaction_handler.go +++ b/plugins/webapi/value/utils/transaction_handler.go @@ -64,7 +64,8 @@ type Balance struct { // InclusionState represents the different states of an OutputID type InclusionState struct { + Solid bool `json:"solid,omitempty"` Confirmed bool `json:"confirmed,omitempty"` - Conflict bool `json:"conflict,omitempty"` + Rejected bool `json:"rejected,omitempty"` Liked bool `json:"liked,omitempty"` }