Commit Graph

67 Commits

Author SHA1 Message Date
Larry Ruane 2dd37cf119 some tweaks to prices.go (GetZECPrice, GetCurrentZECPrice)
Simplified locking; there is no need for a read-write mutex, this code
is not performance-critical. Removed some of the go routines because
they're not needed and the locking and concurrency are easier to reason
about without them.

NOTE: there is some test code left in here, search for "XXX testing" and
remove before committing! This test code makes things happen faster:
Instead of fetching prices every 15 minutes, do it every minute. Also,
write historical data every minute, instead of once per day.

Another change needed is to remove some of the logging. It's good for
now during testing, but it's too much for production.
2022-06-12 13:10:36 -06:00
Aditya Kulkarni 8fe7c0ca1b Implementation 2022-06-12 13:10:29 -06:00
Aditya Kulkarni c6e8adbe73 Price API stub implementation 2022-06-12 13:06:17 -06:00
Larry Ruane 0d00588941 Get unit tests working again
Now "go test ./..." passes, it had broken due to the V5 transaction
(NU5) changes in #392. I didn't have time to fix the tests at the time.
Also, this fixes a few lint problems.
2022-06-12 12:50:42 -06:00
Steven Smith ab4c0fef70 Add support to GetTreeState to return Orchard final state 2022-05-10 23:21:26 -06:00
Larry Ruane 83bb19918f restore gRPC GetMempoolTx
This was removed as part of PR #358 (commit "remove gRPC GetMempoolTx")
but should not have been, so it's being restored.
2021-12-09 15:26:55 -07:00
adityapk00 33d3d53d34 Verify rawtx 2021-09-07 14:25:20 -06:00
Larry Ruane 4f00783f48 remove gRPC GetMempoolTx
This RPC has never been used, and is now superceded by GetMempoolStream.
2021-07-29 13:47:53 -06:00
Larry Ruane 503b9b256b modifications to adityapk00 mempool streaming API
This commit is based on adityapk00 streaming mempool interface but
avoids using goroutines, which are difficult to reason about.

Co-authored-by: Aditya Kulkarni <adityapk@gmail.com>
2021-07-29 13:47:53 -06:00
Aditya Kulkarni c3e1b98d4f Mempool Streaming API 2021-07-29 13:47:53 -06:00
Aditya Kulkarni 39179a9721 Return hashes from getlatestblock 2021-07-26 23:20:05 -06:00
Larry Ruane 4e561f2cfd add darksidewallet support for GetAddressUtxos
Add a new darksidewallet gRPC to add a utxo that can be returned by the
production GetAddressUtxos, for example:

grpcurl -plaintext -d '{"address":"t1g1HQJuwDoStGrYYLj8VhLu1J5igd8TNXV","txid":"1zjB42Z7FtwRZOBNMlTubCgx9l3dsZSqXxmWpuZXJto=","script": "dqkU8saQsCVS4mNwcByoGCtfOaHFaCiIrA==","valueZat": "3010000","height": "686773"}' localhost:9067 cash.z.wallet.sdk.rpc.DarksideStreamer/AddAddressUtxo

Then the following returns this entry:

grpcurl -plaintext -d '{"startHeight":0,"maxEntries":2,"addresses":["t1g1HQJuwDoStGrYYLj8VhLu1J5igd8TNXV"]}' localhost:9067 cash.z.wallet.sdk.rpc.CompactTxStreamer/GetAddressUtxos

You can also clear the list of entries:

grpcurl -plaintext localhost:9067 cash.z.wallet.sdk.rpc.DarksideStreamer/ClearAddressUtxo
2021-04-26 11:42:03 -06:00
Larry Ruane dcad72ed25 generalize GetAddressUtxos to accept taddr list 2021-04-08 11:22:12 -06:00
Larry Ruane 17c47cfebe call checkTaddress() for each given taddress 2021-03-08 12:25:02 -07:00
Larry Ruane 824cb8dc8e check SplitN() return value to prevent indexing beyond end of slice 2021-03-08 12:25:02 -07:00
Larry Ruane ad739ce055 allow Ping testing grpc only if explicitly enabled 2021-03-08 12:25:02 -07:00
Larry Ruane 86a76a96cb check txid (hash0 length argument, must be 64 2021-03-08 11:23:05 -07:00
Larry Ruane 22dda4a28d check all json.Unmarshal() error returns 2021-03-08 11:14:48 -07:00
Larry Ruane d9d12998b2 remove error logging that client requests can cause 2021-03-08 10:51:31 -07:00
Larry Ruane 82045d493a fix GetTaddressBalance (json problem) 2021-01-15 14:05:27 -07:00
Larry Ruane acca1a7c80 Update protoc grpc toolchain to latest
I installed the latest toolchain according to:
https://grpc.io/docs/languages/go/quickstart/

I updated the protoc command line arguments in Makefile based on
that quickstart guide, then I ran: make update-grpc

This has set the tool version (which you can see at the top of
any .pb.go file) to:

protoc-gen-go v1.25.0
protoc        v3.14.0
2021-01-05 18:20:10 -07:00
Dimitris Apostolou b450634ab7 Fix typos 2020-12-21 13:03:41 -07:00
Larry Ruane 33e7312218 add zcashd versioning to GetLightdInfo result 2020-12-03 22:55:08 -07:00
Larry Ruane 1712bde1bc add gRPC GetAddressUtxos 2020-10-28 13:09:59 -06:00
Larry Ruane c66521335f add GetTreeState gRPC (for checkpoints) 2020-10-28 12:55:38 -06:00
Larry Ruane 20105167b8 GetBlockRange, GetTaddressTxids segfault: add checking for nil (null) arguments 2020-10-07 15:38:47 -06:00
Larry Ruane 063287888f add more version information to GetLightdInfo result 2020-10-06 10:03:37 -06:00
Larry Ruane 1906e1d1eb fix GetTransaction (broken in "add GetMempool()" commit) 2020-10-06 09:36:22 -06:00
Larry Ruane ac1bf8481c refactor Reverse(), no functional changes 2020-09-14 10:31:17 -06:00
Larry Ruane 7381129740 add GetMempoolTx() 2020-09-10 14:01:01 -06:00
Larry Ruane 6aa9bdfc40 refactor GetTaddressBalance* functions to eliminate duplicated code 2020-08-19 13:05:23 -06:00
Larry Ruane 4443b64071 rename GetAddress* to GetTAddress* (review) 2020-08-19 13:05:23 -06:00
Larry Ruane dda62f948c Modification requested by review
- renamed GetAddressBalance to GetAddressBalanceStream
- changed GetAddressBalance argument to repeated (string) rather than
streaming
- rename balance field to valueZat (consistent with zcashd)
2020-08-19 13:05:23 -06:00
Larry Ruane 97840c8ec7 add GetAddressBalance gRPC 2020-08-19 13:05:23 -06:00
Larry Ruane f72a6d8eba add error check to StageBlocksStream 2020-05-29 10:36:34 -06:00
Kevin Gorham 6b0c1cc43e Fixes GetTransaction returning base64 hex values. 2020-05-28 17:01:00 -06:00
Larry Ruane 7ac1a3f983 small improvements to transaction stuff, small fixes 2020-05-21 11:48:03 -06:00
Larry Ruane 6ddd894a96 change vendor string from ECC DarkWalletD to ECC DarksideWalletD 2020-05-21 11:48:03 -06:00
Larry Ruane 39348100a9 fix StageTransactions, vendor = ECC LightWalletD 2020-05-21 11:48:03 -06:00
Larry Ruane 7420d565a8 don't special-case darkside in SendTransaction, just use the mock rpc handler 2020-05-21 11:48:03 -06:00
Larry Ruane f1e793796f implement staging, not well tested 2020-05-21 11:48:03 -06:00
Larry Ruane 52ac837370 New "staging" api (StageBlocks, StageTransactions, ApplyStaged)
Also remove the initial block load (all blocks will come from the
Staging APIs), but there is still more to do (this does not even
start up correctly) but darkside.proto is correct, we believe.
2020-05-21 11:48:03 -06:00
Larry Ruane 9371f984ae GetBlockRange: don't pass mutex in channel (linter warning) 2020-05-21 11:48:03 -06:00
Larry Ruane d08d8980a8 add support for gRPC GetTransaction() (mined tx) 2020-05-21 11:48:03 -06:00
Larry Ruane 5e37f408e3 address review comments 2020-05-21 11:48:03 -06:00
Larry Ruane 86fd87404b add darkside SetMetaState, SetBlocksURL for reorg testing 2020-05-21 11:48:03 -06:00
Larry Ruane c2a6306ce5 Misc cleanups and fixes
- improved corruption recovery (don't back up by just 1 block at a time)
- move darksidewallet gRPCs to their own .proto file
- this force-push removes my commits for reorg testing using SetState
2020-04-24 16:55:47 -06:00
Larry Ruane 8974cd1586 fix merge conflicts while rebasing onto file-cache branch 2020-04-24 16:55:47 -06:00
Taylor Hornby d258ee75b0 Rename Evil to Darkside, because writing tests isn't evil 2020-04-24 16:55:47 -06:00
Taylor Hornby 1a93b8d97c Add darksidewalletd mode for reorg testing. 2020-04-24 16:55:47 -06:00