Skip to content

Commit 8c4c83a

Browse files
Larry RuaneLarryRuane
authored andcommitted
add GetTaddressTransactions, label GetTaddressTxids deprecated
These two gRPC methods are functionally identical, just a name change (but leaving the old method deprecated during transition).
1 parent 5517257 commit 8c4c83a

File tree

6 files changed

+221
-122
lines changed

6 files changed

+221
-122
lines changed

docs/rtd/index.html

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1913,7 +1913,15 @@ <h3 id="cash.z.wallet.sdk.rpc.CompactTxStreamer">CompactTxStreamer</h3>
19131913
<td><a href="#cash.z.wallet.sdk.rpc.TransparentAddressBlockFilter">TransparentAddressBlockFilter</a></td>
19141914
<td><a href="#cash.z.wallet.sdk.rpc.RawTransaction">RawTransaction</a> stream</td>
19151915
<td><p>Return the transactions corresponding to the given t-address within the given block range
1916-
NB - this method is misnamed, it returns transactions, not transaction IDs.</p></td>
1916+
NB - this method is misnamed, it returns transactions, not transaction IDs.
1917+
NOTE: this method is deprecated, please use GetTaddressTransactions instead.</p></td>
1918+
</tr>
1919+
1920+
<tr>
1921+
<td>GetTaddressTransactions</td>
1922+
<td><a href="#cash.z.wallet.sdk.rpc.TransparentAddressBlockFilter">TransparentAddressBlockFilter</a></td>
1923+
<td><a href="#cash.z.wallet.sdk.rpc.RawTransaction">RawTransaction</a> stream</td>
1924+
<td><p>Return the transactions corresponding to the given t-address within the given block range</p></td>
19171925
</tr>
19181926

19191927
<tr>

frontend/frontend_test.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ func TestMain(m *testing.M) {
108108
}
109109

110110
func TestGetTransaction(t *testing.T) {
111-
// GetTransaction() will mostly be tested below via TestGetTaddressTxids
111+
// GetTransaction() will mostly be tested below via TestGetTaddressTransactions
112112
lwd, _ := testsetup()
113113

114114
rawtx, err := lwd.GetTransaction(context.Background(),
@@ -267,7 +267,7 @@ func zcashdrpcStub(method string, params []json.RawMessage) (json.RawMessage, er
267267
}
268268

269269
type testgettx struct {
270-
walletrpc.CompactTxStreamer_GetTaddressTxidsServer
270+
walletrpc.CompactTxStreamer_GetTaddressTransactionsServer
271271
}
272272

273273
func (tg *testgettx) Context() context.Context {
@@ -284,7 +284,7 @@ func (tg *testgettx) Send(tx *walletrpc.RawTransaction) error {
284284
return nil
285285
}
286286

287-
func TestGetTaddressTxids(t *testing.T) {
287+
func TestGetTaddressTransactions(t *testing.T) {
288288
testT = t
289289
common.RawRequest = zcashdrpcStub
290290
lwd, _ := testsetup()
@@ -299,38 +299,38 @@ func TestGetTaddressTxids(t *testing.T) {
299299
// Ensure that a bad address is detected
300300
for i, addressTest := range addressTests {
301301
addressBlockFilter.Address = addressTest
302-
err := lwd.GetTaddressTxids(addressBlockFilter, &testgettx{})
302+
err := lwd.GetTaddressTransactions(addressBlockFilter, &testgettx{})
303303
if err == nil {
304-
t.Fatal("GetTaddressTxids should have failed on bad address, case", i)
304+
t.Fatal("GetTaddressTransactions should have failed on bad address, case", i)
305305
}
306306
if !strings.Contains(err.Error(), "invalid characters") {
307-
t.Fatal("GetTaddressTxids incorrect error on bad address, case", i)
307+
t.Fatal("GetTaddressTransactions incorrect error on bad address, case", i)
308308
}
309309
}
310310

311311
// valid address
312312
addressBlockFilter.Address = "t1234567890123456789012345678901234"
313-
err := lwd.GetTaddressTxids(addressBlockFilter, &testgettx{})
313+
err := lwd.GetTaddressTransactions(addressBlockFilter, &testgettx{})
314314
if err != nil {
315-
t.Fatal("GetTaddressTxids failed", err)
315+
t.Fatal("GetTaddressTransactions failed", err)
316316
}
317317

318318
// this time GetTransaction() will return an error
319-
err = lwd.GetTaddressTxids(addressBlockFilter, &testgettx{})
319+
err = lwd.GetTaddressTransactions(addressBlockFilter, &testgettx{})
320320
if err == nil {
321-
t.Fatal("GetTaddressTxids succeeded")
321+
t.Fatal("GetTaddressTransactions succeeded")
322322
}
323323
step = 0
324324
}
325325

326-
func TestGetTaddressTxidsNilArgs(t *testing.T) {
326+
func TestGetTaddressTransactionsNilArgs(t *testing.T) {
327327
lwd, _ := testsetup()
328328

329329
{
330330
noRange := &walletrpc.TransparentAddressBlockFilter{
331331
Range: nil,
332332
}
333-
err := lwd.GetTaddressTxids(noRange, &testgettx{})
333+
err := lwd.GetTaddressTransactions(noRange, &testgettx{})
334334
if err == nil {
335335
t.Fatal("GetBlockRange nil range argument should fail")
336336
}
@@ -342,7 +342,7 @@ func TestGetTaddressTxidsNilArgs(t *testing.T) {
342342
End: &walletrpc.BlockID{Height: 20},
343343
},
344344
}
345-
err := lwd.GetTaddressTxids(noStart, &testgettx{})
345+
err := lwd.GetTaddressTransactions(noStart, &testgettx{})
346346
if err == nil {
347347
t.Fatal("GetBlockRange nil range argument should fail")
348348
}
@@ -354,7 +354,7 @@ func TestGetTaddressTxidsNilArgs(t *testing.T) {
354354
End: nil,
355355
},
356356
}
357-
err := lwd.GetTaddressTxids(noEnd, &testgettx{})
357+
err := lwd.GetTaddressTransactions(noEnd, &testgettx{})
358358
if err == nil {
359359
t.Fatal("GetBlockRange nil range argument should fail")
360360
}

frontend/service.go

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,18 +91,18 @@ func (s *lwdStreamer) GetLatestBlock(ctx context.Context, placeholder *walletrpc
9191
// GetTaddressTxids is a streaming RPC that returns transactions that have
9292
// the given transparent address (taddr) as either an input or output.
9393
// NB, this method is misnamed, it does not return txids.
94-
func (s *lwdStreamer) GetTaddressTxids(addressBlockFilter *walletrpc.TransparentAddressBlockFilter, resp walletrpc.CompactTxStreamer_GetTaddressTxidsServer) error {
95-
common.Log.Debugf("gRPC GetTaddressTxids(%+v)\n", addressBlockFilter)
94+
func (s *lwdStreamer) GetTaddressTransactions(addressBlockFilter *walletrpc.TransparentAddressBlockFilter, resp walletrpc.CompactTxStreamer_GetTaddressTransactionsServer) error {
95+
common.Log.Debugf("gRPC GetTaddressTransactions(%+v)\n", addressBlockFilter)
9696
if err := checkTaddress(addressBlockFilter.Address); err != nil {
9797
// This returns a gRPC-compatible error.
9898
return err
9999
}
100100

101101
if addressBlockFilter.Range == nil {
102-
return status.Error(codes.InvalidArgument, "GetTaddressTxids: must specify block range")
102+
return status.Error(codes.InvalidArgument, "GetTaddressTransactions: must specify block range")
103103
}
104104
if addressBlockFilter.Range.Start == nil {
105-
return status.Error(codes.InvalidArgument, "GetTaddressTxids: must specify a start block height")
105+
return status.Error(codes.InvalidArgument, "GetTaddressTransactions: must specify a start block height")
106106
}
107107

108108
request := &common.ZcashdRpcRequestGetaddresstxids{
@@ -116,7 +116,7 @@ func (s *lwdStreamer) GetTaddressTxids(addressBlockFilter *walletrpc.Transparent
116116
param, err := json.Marshal(request)
117117
if err != nil {
118118
return status.Errorf(codes.InvalidArgument,
119-
"GetTaddressTxids: error marshalling request: %s", err.Error())
119+
"GetTaddressTransactions: error marshalling request: %s", err.Error())
120120
}
121121
params := []json.RawMessage{param}
122122

@@ -125,7 +125,7 @@ func (s *lwdStreamer) GetTaddressTxids(addressBlockFilter *walletrpc.Transparent
125125
// For some reason, the error responses are not JSON
126126
if rpcErr != nil {
127127
return status.Errorf(codes.InvalidArgument,
128-
"GetTaddressTxids: getaddresstxids failed, error: %s", rpcErr.Error())
128+
"GetTaddressTransactions: getaddresstxids failed, error: %s", rpcErr.Error())
129129
}
130130

131131
var txids []string
@@ -153,6 +153,14 @@ func (s *lwdStreamer) GetTaddressTxids(addressBlockFilter *walletrpc.Transparent
153153
return nil
154154
}
155155

156+
// This method is deprecated; use GetTaddressTransactions instead. The two functions have the
157+
// same functionality, but the name GetTaddressTxids is misleading, because the method returns
158+
// transactions, not transaction IDs (txids). See https://github.com/zcash/lightwalletd/issues/426
159+
func (s *lwdStreamer) GetTaddressTxids(addressBlockFilter *walletrpc.TransparentAddressBlockFilter, resp walletrpc.CompactTxStreamer_GetTaddressTxidsServer) error {
160+
common.Log.Debugf("gRPC GetTaddressTxids, deprecated, calling GetTaddressTransactions...\n")
161+
return s.GetTaddressTransactions(addressBlockFilter, resp)
162+
}
163+
156164
// GetBlock returns the compact block at the requested height. Requesting a
157165
// block by hash is not yet supported.
158166
func (s *lwdStreamer) GetBlock(ctx context.Context, id *walletrpc.BlockID) (*walletrpc.CompactBlock, error) {

0 commit comments

Comments
 (0)