diff --git a/server/websocket.go b/server/websocket.go index 304ac68d..91bfbab8 100644 --- a/server/websocket.go +++ b/server/websocket.go @@ -247,6 +247,16 @@ var requestHandlers = map[string]func(*WebsocketServer, *websocketChannel, *webs } return }, + "getTransaction": func(s *WebsocketServer, c *websocketChannel, req *websocketReq) (rv interface{}, err error) { + r := struct { + Txid string `json:"txid"` + }{} + err = json.Unmarshal(req.Params, &r) + if err == nil { + rv, err = s.getTransaction(r.Txid) + } + return + }, "estimateFee": func(s *WebsocketServer, c *websocketChannel, req *websocketReq) (rv interface{}, err error) { return s.estimateFee(c, req.Params) }, @@ -360,6 +370,10 @@ func (s *WebsocketServer) getAccountUtxo(descriptor string) (interface{}, error) return s.api.GetAddressUtxo(descriptor, false) } +func (s *WebsocketServer) getTransaction(txid string) (interface{}, error) { + return s.api.GetTransaction(txid, false, false) +} + func (s *WebsocketServer) getInfo() (interface{}, error) { vi := common.GetVersionInfo() height, hash, err := s.db.GetBestBlock() diff --git a/static/test-websocket.html b/static/test-websocket.html index 6e40e4c0..b55ea156 100644 --- a/static/test-websocket.html +++ b/static/test-websocket.html @@ -152,6 +152,17 @@ }); } + function getTransaction() { + const txid = document.getElementById('getTransactionTxid').value.trim(); + const method = 'getTransaction'; + const params = { + txid, + }; + send(method, params, function (result) { + document.getElementById('getTransactionResult').innerText = JSON.stringify(result).replace(/,/g, ", "); + }); + } + function estimateFee() { try { var blocks = document.getElementById('estimateFeeBlocks').value.split(","); @@ -292,7 +303,7 @@
- + +
@@ -328,6 +339,21 @@
+
+
+ +
+
+
+ +
+
+
+
+
+
+
+