diff --git a/Makefile b/Makefile index e002c62b..b5f3dd55 100644 --- a/Makefile +++ b/Makefile @@ -83,16 +83,8 @@ doc: docs/rtd/index.html docs/rtd/index.html: lightwallet-protocol/walletrpc/compact_formats.proto lightwallet-protocol/walletrpc/service.proto docker run --rm -v $(PWD)/docs/rtd:/out -v $(PWD)/lightwallet-protocol/walletrpc:/protos pseudomuto/protoc-gen-doc -proto: walletrpc/service.pb.go walletrpc/compact_formats.pb.go walletrpc/darkside.pb.go - -walletrpc/service.pb.go: walletrpc/service.proto - cd walletrpc && protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative service.proto - -walletrpc/darkside.pb.go: walletrpc/darkside.proto - cd walletrpc && protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative darkside.proto - -walletrpc/compact_formats.pb.go: walletrpc/compact_formats.proto - cd walletrpc && protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative compact_formats.proto +proto: + ./scripts/regenerate-protos.sh # Generate documents using a very simple wrap-in-html approach (not ideal) simpledoc: lwd-api.html @@ -143,15 +135,6 @@ build_rel: install: go install ./... -# Update your protoc, protobufs, grpc, .pb.go files -update-grpc: - go get -u google.golang.org/protobuf - go get -u google.golang.org/grpc - cd walletrpc && protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative service.proto - cd walletrpc && protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative darkside.proto - cd walletrpc && protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative compact_formats.proto - go mod tidy - clean: @echo "clean project..." #rm -f $(PROJECT_NAME) diff --git a/go.mod b/go.mod index 3a9efd46..95aa8a4d 100644 --- a/go.mod +++ b/go.mod @@ -7,15 +7,16 @@ toolchain go1.24.1 require ( github.com/BurntSushi/toml v0.3.1 github.com/btcsuite/btcd v0.24.2 - github.com/golang/protobuf v1.5.3 + github.com/golang/protobuf v1.5.4 github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 github.com/prometheus/client_golang v1.18.0 github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.8.0 github.com/spf13/viper v1.18.2 - google.golang.org/grpc v1.61.0 - google.golang.org/protobuf v1.33.0 + golang.org/x/exp v0.0.0-20230905200255-921286631fa9 + google.golang.org/grpc v1.78.0 + google.golang.org/protobuf v1.36.10 gopkg.in/ini.v1 v1.67.0 ) @@ -27,7 +28,7 @@ require ( github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f // indirect github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd // indirect github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792 // indirect - github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/decred/dcrd/crypto/blake256 v1.0.0 // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect @@ -50,10 +51,9 @@ require ( go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.9.0 // indirect golang.org/x/crypto v0.45.0 // indirect - golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect golang.org/x/net v0.47.0 // indirect golang.org/x/sys v0.38.0 // indirect golang.org/x/text v0.31.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20251029180050-ab9386a59fda // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 6fe3ec7a..1d6f1ee5 100644 --- a/go.sum +++ b/go.sum @@ -34,8 +34,8 @@ github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792 h1:R8vQdOQdZ9Y3 github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= @@ -61,6 +61,10 @@ github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nos github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= +github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -74,17 +78,17 @@ github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrU github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDaL56wXCB/5+wF6uHfaI= @@ -180,6 +184,18 @@ github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSW github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= +go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= +go.opentelemetry.io/otel v1.38.0 h1:RkfdswUDRimDg0m2Az18RKOsnI8UDzppJAtj01/Ymk8= +go.opentelemetry.io/otel v1.38.0/go.mod h1:zcmtmQ1+YmQM9wrNsTGV/q/uyusom3P8RxwExxkZhjM= +go.opentelemetry.io/otel/metric v1.38.0 h1:Kl6lzIYGAh5M159u9NgiRkmoMKjvbsKtYRwgfrA6WpA= +go.opentelemetry.io/otel/metric v1.38.0/go.mod h1:kB5n/QoRM8YwmUahxvI3bO34eVtQf2i4utNVLr9gEmI= +go.opentelemetry.io/otel/sdk v1.38.0 h1:l48sr5YbNf2hpCUj/FoGhW9yDkl+Ma+LrVl8qaM5b+E= +go.opentelemetry.io/otel/sdk v1.38.0/go.mod h1:ghmNdGlVemJI3+ZB5iDEuk4bWA3GkTpW+DOoZMYBVVg= +go.opentelemetry.io/otel/sdk/metric v1.38.0 h1:aSH66iL0aZqo//xXzQLYozmWrXxyFkBJ6qT5wthqPoM= +go.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689CbtrUp0wMMs9iPcgT9EZA= +go.opentelemetry.io/otel/trace v1.38.0 h1:Fxk5bKrDZJUH+AMyyIXGcFAPah0oRcT+LuNtJrmcNLE= +go.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= @@ -257,30 +273,30 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= +gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f h1:ultW7fxlIvee4HYrtnaRPon9HpEgFk5zYpmfMgtKB5I= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251029180050-ab9386a59fda h1:i/Q+bfisr7gq6feoJnS/DlpdwEL4ihp41fvRiM3Ork0= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251029180050-ab9386a59fda/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.61.0 h1:TOvOcuXn30kRao+gfcvsebNEa5iZIiLkisYEkf7R7o0= -google.golang.org/grpc v1.61.0/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.78.0 h1:K1XZG/yGDJnzMdd/uZHAkVqJE+xIDOcmdSFZkBUicNc= +google.golang.org/grpc v1.78.0/go.mod h1:I47qjTo4OKbMkjA/aOOwxDIiPSBofUtQUI5EfpWvW7U= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE= +google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= diff --git a/scripts/regenerate-protos.sh b/scripts/regenerate-protos.sh new file mode 100755 index 00000000..47293c63 --- /dev/null +++ b/scripts/regenerate-protos.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash +# +# Regenerates all .pb.go files using the system protoc toolchain. + +set -euo pipefail + +cd "$(dirname "${BASH_SOURCE[0]}")/.." + +echo "Regenerating proto files..." + +PROTOS=( + service.proto + darkside.proto + compact_formats.proto +) + +(cd walletrpc && for proto in "${PROTOS[@]}"; do + echo " ${proto}" + protoc \ + --go_out=. --go_opt=paths=source_relative \ + --go-grpc_out=. --go-grpc_opt=paths=source_relative \ + "${proto}" +done) + +go mod tidy + +echo "" +echo "Proto regeneration complete." diff --git a/walletrpc/compact_formats.pb.go b/walletrpc/compact_formats.pb.go index 636366b1..9f70365a 100644 --- a/walletrpc/compact_formats.pb.go +++ b/walletrpc/compact_formats.pb.go @@ -4,8 +4,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.11 +// protoc v6.33.2 // source: compact_formats.proto package walletrpc @@ -15,6 +15,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -26,21 +27,18 @@ const ( // Information about the state of the chain as of a given block. type ChainMetadata struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SaplingCommitmentTreeSize uint32 `protobuf:"varint,1,opt,name=saplingCommitmentTreeSize,proto3" json:"saplingCommitmentTreeSize,omitempty"` // the size of the Sapling note commitment tree as of the end of this block - OrchardCommitmentTreeSize uint32 `protobuf:"varint,2,opt,name=orchardCommitmentTreeSize,proto3" json:"orchardCommitmentTreeSize,omitempty"` // the size of the Orchard note commitment tree as of the end of this block + state protoimpl.MessageState `protogen:"open.v1"` + SaplingCommitmentTreeSize uint32 `protobuf:"varint,1,opt,name=saplingCommitmentTreeSize,proto3" json:"saplingCommitmentTreeSize,omitempty"` // the size of the Sapling note commitment tree as of the end of this block + OrchardCommitmentTreeSize uint32 `protobuf:"varint,2,opt,name=orchardCommitmentTreeSize,proto3" json:"orchardCommitmentTreeSize,omitempty"` // the size of the Orchard note commitment tree as of the end of this block + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ChainMetadata) Reset() { *x = ChainMetadata{} - if protoimpl.UnsafeEnabled { - mi := &file_compact_formats_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_compact_formats_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ChainMetadata) String() string { @@ -51,7 +49,7 @@ func (*ChainMetadata) ProtoMessage() {} func (x *ChainMetadata) ProtoReflect() protoreflect.Message { mi := &file_compact_formats_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -88,27 +86,24 @@ func (x *ChainMetadata) GetOrchardCommitmentTreeSize() uint32 { // 3. Update your witnesses to generate new spend proofs. // 4. Spend UTXOs associated to t-addresses of your wallet. type CompactBlock struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ProtoVersion uint32 `protobuf:"varint,1,opt,name=protoVersion,proto3" json:"protoVersion,omitempty"` // the version of this wire format, for storage + Height uint64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"` // the height of this block + Hash []byte `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"` // the ID (hash) of this block, same as in block explorers + PrevHash []byte `protobuf:"bytes,4,opt,name=prevHash,proto3" json:"prevHash,omitempty"` // the ID (hash) of this block's predecessor + Time uint32 `protobuf:"varint,5,opt,name=time,proto3" json:"time,omitempty"` // Unix epoch time when the block was mined + Header []byte `protobuf:"bytes,6,opt,name=header,proto3" json:"header,omitempty"` // full header (as returned by the getblock RPC) + Vtx []*CompactTx `protobuf:"bytes,7,rep,name=vtx,proto3" json:"vtx,omitempty"` // zero or more compact transactions from this block + ChainMetadata *ChainMetadata `protobuf:"bytes,8,opt,name=chainMetadata,proto3" json:"chainMetadata,omitempty"` // information about the state of the chain as of this block unknownFields protoimpl.UnknownFields - - ProtoVersion uint32 `protobuf:"varint,1,opt,name=protoVersion,proto3" json:"protoVersion,omitempty"` // the version of this wire format, for storage - Height uint64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"` // the height of this block - Hash []byte `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"` // the ID (hash) of this block, same as in block explorers - PrevHash []byte `protobuf:"bytes,4,opt,name=prevHash,proto3" json:"prevHash,omitempty"` // the ID (hash) of this block's predecessor - Time uint32 `protobuf:"varint,5,opt,name=time,proto3" json:"time,omitempty"` // Unix epoch time when the block was mined - Header []byte `protobuf:"bytes,6,opt,name=header,proto3" json:"header,omitempty"` // full header (as returned by the getblock RPC) - Vtx []*CompactTx `protobuf:"bytes,7,rep,name=vtx,proto3" json:"vtx,omitempty"` // zero or more compact transactions from this block - ChainMetadata *ChainMetadata `protobuf:"bytes,8,opt,name=chainMetadata,proto3" json:"chainMetadata,omitempty"` // information about the state of the chain as of this block + sizeCache protoimpl.SizeCache } func (x *CompactBlock) Reset() { *x = CompactBlock{} - if protoimpl.UnsafeEnabled { - mi := &file_compact_formats_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_compact_formats_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CompactBlock) String() string { @@ -119,7 +114,7 @@ func (*CompactBlock) ProtoMessage() {} func (x *CompactBlock) ProtoReflect() protoreflect.Message { mi := &file_compact_formats_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -197,10 +192,7 @@ func (x *CompactBlock) GetChainMetadata() *ChainMetadata { // it can optionally include the minimum necessary data to detect payments to transparent addresses // related to your wallet. type CompactTx struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The index of the transaction within the block. Index uint64 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` // The id of the transaction as defined in @@ -227,16 +219,16 @@ type CompactTx struct { // first transaction in any block. Vin []*CompactTxIn `protobuf:"bytes,7,rep,name=vin,proto3" json:"vin,omitempty"` // A sequence of transparent outputs being created by the transaction. - Vout []*TxOut `protobuf:"bytes,8,rep,name=vout,proto3" json:"vout,omitempty"` + Vout []*TxOut `protobuf:"bytes,8,rep,name=vout,proto3" json:"vout,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CompactTx) Reset() { *x = CompactTx{} - if protoimpl.UnsafeEnabled { - mi := &file_compact_formats_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_compact_formats_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CompactTx) String() string { @@ -247,7 +239,7 @@ func (*CompactTx) ProtoMessage() {} func (x *CompactTx) ProtoReflect() protoreflect.Message { mi := &file_compact_formats_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -320,26 +312,23 @@ func (x *CompactTx) GetVout() []*TxOut { // A compact representation of a transparent transaction input. type CompactTxIn struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The id of the transaction that generated the output being spent. This // byte array must be in protocol order and MUST NOT be reversed or // hex-encoded. PrevoutTxid []byte `protobuf:"bytes,1,opt,name=prevoutTxid,proto3" json:"prevoutTxid,omitempty"` // The index of the output being spent in the `vout` array of the // transaction referred to by `prevoutTxid`. - PrevoutIndex uint32 `protobuf:"varint,2,opt,name=prevoutIndex,proto3" json:"prevoutIndex,omitempty"` + PrevoutIndex uint32 `protobuf:"varint,2,opt,name=prevoutIndex,proto3" json:"prevoutIndex,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CompactTxIn) Reset() { *x = CompactTxIn{} - if protoimpl.UnsafeEnabled { - mi := &file_compact_formats_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_compact_formats_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CompactTxIn) String() string { @@ -350,7 +339,7 @@ func (*CompactTxIn) ProtoMessage() {} func (x *CompactTxIn) ProtoReflect() protoreflect.Message { mi := &file_compact_formats_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -384,23 +373,20 @@ func (x *CompactTxIn) GetPrevoutIndex() uint32 { // This contains identical data to the `TxOut` type in the transaction itself, and // thus it is not "compact". type TxOut struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The value of the output, in Zatoshis. Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` // The script pubkey that must be satisfied in order to spend this output. - ScriptPubKey []byte `protobuf:"bytes,2,opt,name=scriptPubKey,proto3" json:"scriptPubKey,omitempty"` + ScriptPubKey []byte `protobuf:"bytes,2,opt,name=scriptPubKey,proto3" json:"scriptPubKey,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TxOut) Reset() { *x = TxOut{} - if protoimpl.UnsafeEnabled { - mi := &file_compact_formats_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_compact_formats_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TxOut) String() string { @@ -411,7 +397,7 @@ func (*TxOut) ProtoMessage() {} func (x *TxOut) ProtoReflect() protoreflect.Message { mi := &file_compact_formats_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -445,20 +431,17 @@ func (x *TxOut) GetScriptPubKey() []byte { // CompactSaplingSpend is a Sapling Spend Description as described in 7.3 of the Zcash // protocol specification. type CompactSaplingSpend struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Nf []byte `protobuf:"bytes,1,opt,name=nf,proto3" json:"nf,omitempty"` // Nullifier (see the Zcash protocol specification) unknownFields protoimpl.UnknownFields - - Nf []byte `protobuf:"bytes,1,opt,name=nf,proto3" json:"nf,omitempty"` // Nullifier (see the Zcash protocol specification) + sizeCache protoimpl.SizeCache } func (x *CompactSaplingSpend) Reset() { *x = CompactSaplingSpend{} - if protoimpl.UnsafeEnabled { - mi := &file_compact_formats_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_compact_formats_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CompactSaplingSpend) String() string { @@ -469,7 +452,7 @@ func (*CompactSaplingSpend) ProtoMessage() {} func (x *CompactSaplingSpend) ProtoReflect() protoreflect.Message { mi := &file_compact_formats_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -496,22 +479,19 @@ func (x *CompactSaplingSpend) GetNf() []byte { // It encodes the `cmu` field, `ephemeralKey` field, and a 52-byte prefix of the // `encCiphertext` field of a Sapling Output Description. Total size is 116 bytes. type CompactSaplingOutput struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Cmu []byte `protobuf:"bytes,1,opt,name=cmu,proto3" json:"cmu,omitempty"` // Note commitment u-coordinate. + EphemeralKey []byte `protobuf:"bytes,2,opt,name=ephemeralKey,proto3" json:"ephemeralKey,omitempty"` // Ephemeral public key. + Ciphertext []byte `protobuf:"bytes,3,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"` // First 52 bytes of ciphertext. unknownFields protoimpl.UnknownFields - - Cmu []byte `protobuf:"bytes,1,opt,name=cmu,proto3" json:"cmu,omitempty"` // Note commitment u-coordinate. - EphemeralKey []byte `protobuf:"bytes,2,opt,name=ephemeralKey,proto3" json:"ephemeralKey,omitempty"` // Ephemeral public key. - Ciphertext []byte `protobuf:"bytes,3,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"` // First 52 bytes of ciphertext. + sizeCache protoimpl.SizeCache } func (x *CompactSaplingOutput) Reset() { *x = CompactSaplingOutput{} - if protoimpl.UnsafeEnabled { - mi := &file_compact_formats_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_compact_formats_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CompactSaplingOutput) String() string { @@ -522,7 +502,7 @@ func (*CompactSaplingOutput) ProtoMessage() {} func (x *CompactSaplingOutput) ProtoReflect() protoreflect.Message { mi := &file_compact_formats_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -560,23 +540,20 @@ func (x *CompactSaplingOutput) GetCiphertext() []byte { // A compact representation of an [Orchard Action](https://zips.z.cash/protocol/protocol.pdf#actionencodingandconsensus). type CompactOrchardAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Nullifier []byte `protobuf:"bytes,1,opt,name=nullifier,proto3" json:"nullifier,omitempty"` // [32] The nullifier of the input note + Cmx []byte `protobuf:"bytes,2,opt,name=cmx,proto3" json:"cmx,omitempty"` // [32] The x-coordinate of the note commitment for the output note + EphemeralKey []byte `protobuf:"bytes,3,opt,name=ephemeralKey,proto3" json:"ephemeralKey,omitempty"` // [32] An encoding of an ephemeral Pallas public key + Ciphertext []byte `protobuf:"bytes,4,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"` // [52] The first 52 bytes of the encCiphertext field unknownFields protoimpl.UnknownFields - - Nullifier []byte `protobuf:"bytes,1,opt,name=nullifier,proto3" json:"nullifier,omitempty"` // [32] The nullifier of the input note - Cmx []byte `protobuf:"bytes,2,opt,name=cmx,proto3" json:"cmx,omitempty"` // [32] The x-coordinate of the note commitment for the output note - EphemeralKey []byte `protobuf:"bytes,3,opt,name=ephemeralKey,proto3" json:"ephemeralKey,omitempty"` // [32] An encoding of an ephemeral Pallas public key - Ciphertext []byte `protobuf:"bytes,4,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"` // [52] The first 52 bytes of the encCiphertext field + sizeCache protoimpl.SizeCache } func (x *CompactOrchardAction) Reset() { *x = CompactOrchardAction{} - if protoimpl.UnsafeEnabled { - mi := &file_compact_formats_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_compact_formats_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CompactOrchardAction) String() string { @@ -587,7 +564,7 @@ func (*CompactOrchardAction) ProtoMessage() {} func (x *CompactOrchardAction) ProtoReflect() protoreflect.Message { mi := &file_compact_formats_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -632,108 +609,66 @@ func (x *CompactOrchardAction) GetCiphertext() []byte { var File_compact_formats_proto protoreflect.FileDescriptor -var file_compact_formats_proto_rawDesc = []byte{ - 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, - 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x22, 0x8b, - 0x01, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x3c, 0x0a, 0x19, 0x73, 0x61, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x65, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x19, 0x73, 0x61, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x65, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x3c, - 0x0a, 0x19, 0x6f, 0x72, 0x63, 0x68, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x54, 0x72, 0x65, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x19, 0x6f, 0x72, 0x63, 0x68, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x65, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xa6, 0x02, 0x0a, - 0x0c, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x22, 0x0a, - 0x0c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, - 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, - 0x08, 0x70, 0x72, 0x65, 0x76, 0x48, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x08, 0x70, 0x72, 0x65, 0x76, 0x48, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x68, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x03, 0x76, 0x74, 0x78, 0x18, 0x07, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, - 0x63, 0x74, 0x54, 0x78, 0x52, 0x03, 0x76, 0x74, 0x78, 0x12, 0x4a, 0x0a, 0x0d, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, - 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x81, 0x03, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, - 0x74, 0x54, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x10, 0x0a, - 0x03, 0x66, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, - 0x42, 0x0a, 0x06, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x2a, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, - 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x53, - 0x61, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x06, 0x73, 0x70, 0x65, - 0x6e, 0x64, 0x73, 0x12, 0x45, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, - 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, - 0x70, 0x61, 0x63, 0x74, 0x53, 0x61, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x4f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x45, 0x0a, 0x07, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x61, - 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, - 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x4f, 0x72, 0x63, 0x68, 0x61, - 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x34, 0x0a, 0x03, 0x76, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, - 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, - 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x54, 0x78, - 0x49, 0x6e, 0x52, 0x03, 0x76, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x04, 0x76, 0x6f, 0x75, 0x74, 0x18, - 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x78, - 0x4f, 0x75, 0x74, 0x52, 0x04, 0x76, 0x6f, 0x75, 0x74, 0x22, 0x53, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, - 0x70, 0x61, 0x63, 0x74, 0x54, 0x78, 0x49, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, - 0x6f, 0x75, 0x74, 0x54, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, - 0x72, 0x65, 0x76, 0x6f, 0x75, 0x74, 0x54, 0x78, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, - 0x65, 0x76, 0x6f, 0x75, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0c, 0x70, 0x72, 0x65, 0x76, 0x6f, 0x75, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x41, - 0x0a, 0x05, 0x54, 0x78, 0x4f, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x22, 0x0a, - 0x0c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, - 0x79, 0x22, 0x25, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x53, 0x61, 0x70, 0x6c, - 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x6e, 0x66, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x6e, 0x66, 0x22, 0x6c, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, - 0x61, 0x63, 0x74, 0x53, 0x61, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x12, 0x10, 0x0a, 0x03, 0x63, 0x6d, 0x75, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x63, - 0x6d, 0x75, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, - 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, - 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, - 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x63, 0x69, 0x70, 0x68, - 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x22, 0x8a, 0x01, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x61, - 0x63, 0x74, 0x4f, 0x72, 0x63, 0x68, 0x61, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x1c, 0x0a, 0x09, 0x6e, 0x75, 0x6c, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x09, 0x6e, 0x75, 0x6c, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x10, 0x0a, - 0x03, 0x63, 0x6d, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x63, 0x6d, 0x78, 0x12, - 0x22, 0x0a, 0x0c, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, - 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, - 0x65, 0x78, 0x74, 0x42, 0x1b, 0x5a, 0x16, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x77, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x64, 0x2f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x72, 0x70, 0x63, 0xba, 0x02, 0x00, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_compact_formats_proto_rawDesc = "" + + "\n" + + "\x15compact_formats.proto\x12\x15cash.z.wallet.sdk.rpc\"\x8b\x01\n" + + "\rChainMetadata\x12<\n" + + "\x19saplingCommitmentTreeSize\x18\x01 \x01(\rR\x19saplingCommitmentTreeSize\x12<\n" + + "\x19orchardCommitmentTreeSize\x18\x02 \x01(\rR\x19orchardCommitmentTreeSize\"\xa6\x02\n" + + "\fCompactBlock\x12\"\n" + + "\fprotoVersion\x18\x01 \x01(\rR\fprotoVersion\x12\x16\n" + + "\x06height\x18\x02 \x01(\x04R\x06height\x12\x12\n" + + "\x04hash\x18\x03 \x01(\fR\x04hash\x12\x1a\n" + + "\bprevHash\x18\x04 \x01(\fR\bprevHash\x12\x12\n" + + "\x04time\x18\x05 \x01(\rR\x04time\x12\x16\n" + + "\x06header\x18\x06 \x01(\fR\x06header\x122\n" + + "\x03vtx\x18\a \x03(\v2 .cash.z.wallet.sdk.rpc.CompactTxR\x03vtx\x12J\n" + + "\rchainMetadata\x18\b \x01(\v2$.cash.z.wallet.sdk.rpc.ChainMetadataR\rchainMetadata\"\x81\x03\n" + + "\tCompactTx\x12\x14\n" + + "\x05index\x18\x01 \x01(\x04R\x05index\x12\x12\n" + + "\x04txid\x18\x02 \x01(\fR\x04txid\x12\x10\n" + + "\x03fee\x18\x03 \x01(\rR\x03fee\x12B\n" + + "\x06spends\x18\x04 \x03(\v2*.cash.z.wallet.sdk.rpc.CompactSaplingSpendR\x06spends\x12E\n" + + "\aoutputs\x18\x05 \x03(\v2+.cash.z.wallet.sdk.rpc.CompactSaplingOutputR\aoutputs\x12E\n" + + "\aactions\x18\x06 \x03(\v2+.cash.z.wallet.sdk.rpc.CompactOrchardActionR\aactions\x124\n" + + "\x03vin\x18\a \x03(\v2\".cash.z.wallet.sdk.rpc.CompactTxInR\x03vin\x120\n" + + "\x04vout\x18\b \x03(\v2\x1c.cash.z.wallet.sdk.rpc.TxOutR\x04vout\"S\n" + + "\vCompactTxIn\x12 \n" + + "\vprevoutTxid\x18\x01 \x01(\fR\vprevoutTxid\x12\"\n" + + "\fprevoutIndex\x18\x02 \x01(\rR\fprevoutIndex\"A\n" + + "\x05TxOut\x12\x14\n" + + "\x05value\x18\x01 \x01(\x04R\x05value\x12\"\n" + + "\fscriptPubKey\x18\x02 \x01(\fR\fscriptPubKey\"%\n" + + "\x13CompactSaplingSpend\x12\x0e\n" + + "\x02nf\x18\x01 \x01(\fR\x02nf\"l\n" + + "\x14CompactSaplingOutput\x12\x10\n" + + "\x03cmu\x18\x01 \x01(\fR\x03cmu\x12\"\n" + + "\fephemeralKey\x18\x02 \x01(\fR\fephemeralKey\x12\x1e\n" + + "\n" + + "ciphertext\x18\x03 \x01(\fR\n" + + "ciphertext\"\x8a\x01\n" + + "\x14CompactOrchardAction\x12\x1c\n" + + "\tnullifier\x18\x01 \x01(\fR\tnullifier\x12\x10\n" + + "\x03cmx\x18\x02 \x01(\fR\x03cmx\x12\"\n" + + "\fephemeralKey\x18\x03 \x01(\fR\fephemeralKey\x12\x1e\n" + + "\n" + + "ciphertext\x18\x04 \x01(\fR\n" + + "ciphertextB\x1bZ\x16lightwalletd/walletrpc\xba\x02\x00b\x06proto3" var ( file_compact_formats_proto_rawDescOnce sync.Once - file_compact_formats_proto_rawDescData = file_compact_formats_proto_rawDesc + file_compact_formats_proto_rawDescData []byte ) func file_compact_formats_proto_rawDescGZIP() []byte { file_compact_formats_proto_rawDescOnce.Do(func() { - file_compact_formats_proto_rawDescData = protoimpl.X.CompressGZIP(file_compact_formats_proto_rawDescData) + file_compact_formats_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_compact_formats_proto_rawDesc), len(file_compact_formats_proto_rawDesc))) }) return file_compact_formats_proto_rawDescData } var file_compact_formats_proto_msgTypes = make([]protoimpl.MessageInfo, 8) -var file_compact_formats_proto_goTypes = []interface{}{ +var file_compact_formats_proto_goTypes = []any{ (*ChainMetadata)(nil), // 0: cash.z.wallet.sdk.rpc.ChainMetadata (*CompactBlock)(nil), // 1: cash.z.wallet.sdk.rpc.CompactBlock (*CompactTx)(nil), // 2: cash.z.wallet.sdk.rpc.CompactTx @@ -763,109 +698,11 @@ func file_compact_formats_proto_init() { if File_compact_formats_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_compact_formats_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChainMetadata); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_compact_formats_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompactBlock); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_compact_formats_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompactTx); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_compact_formats_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompactTxIn); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_compact_formats_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TxOut); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_compact_formats_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompactSaplingSpend); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_compact_formats_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompactSaplingOutput); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_compact_formats_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompactOrchardAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_compact_formats_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_compact_formats_proto_rawDesc), len(file_compact_formats_proto_rawDesc)), NumEnums: 0, NumMessages: 8, NumExtensions: 0, @@ -876,7 +713,6 @@ func file_compact_formats_proto_init() { MessageInfos: file_compact_formats_proto_msgTypes, }.Build() File_compact_formats_proto = out.File - file_compact_formats_proto_rawDesc = nil file_compact_formats_proto_goTypes = nil file_compact_formats_proto_depIdxs = nil } diff --git a/walletrpc/darkside.pb.go b/walletrpc/darkside.pb.go index 60d58d08..3ea108b1 100644 --- a/walletrpc/darkside.pb.go +++ b/walletrpc/darkside.pb.go @@ -4,8 +4,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.11 +// protoc v6.33.2 // source: darkside.proto package walletrpc @@ -15,6 +15,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -25,24 +26,21 @@ const ( ) type DarksideMetaState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SaplingActivation int32 `protobuf:"varint,1,opt,name=saplingActivation,proto3" json:"saplingActivation,omitempty"` - BranchID string `protobuf:"bytes,2,opt,name=branchID,proto3" json:"branchID,omitempty"` - ChainName string `protobuf:"bytes,3,opt,name=chainName,proto3" json:"chainName,omitempty"` - StartSaplingCommitmentTreeSize uint32 `protobuf:"varint,4,opt,name=startSaplingCommitmentTreeSize,proto3" json:"startSaplingCommitmentTreeSize,omitempty"` - StartOrchardCommitmentTreeSize uint32 `protobuf:"varint,5,opt,name=startOrchardCommitmentTreeSize,proto3" json:"startOrchardCommitmentTreeSize,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + SaplingActivation int32 `protobuf:"varint,1,opt,name=saplingActivation,proto3" json:"saplingActivation,omitempty"` + BranchID string `protobuf:"bytes,2,opt,name=branchID,proto3" json:"branchID,omitempty"` + ChainName string `protobuf:"bytes,3,opt,name=chainName,proto3" json:"chainName,omitempty"` + StartSaplingCommitmentTreeSize uint32 `protobuf:"varint,4,opt,name=startSaplingCommitmentTreeSize,proto3" json:"startSaplingCommitmentTreeSize,omitempty"` + StartOrchardCommitmentTreeSize uint32 `protobuf:"varint,5,opt,name=startOrchardCommitmentTreeSize,proto3" json:"startOrchardCommitmentTreeSize,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DarksideMetaState) Reset() { *x = DarksideMetaState{} - if protoimpl.UnsafeEnabled { - mi := &file_darkside_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_darkside_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DarksideMetaState) String() string { @@ -53,7 +51,7 @@ func (*DarksideMetaState) ProtoMessage() {} func (x *DarksideMetaState) ProtoReflect() protoreflect.Message { mi := &file_darkside_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -105,20 +103,17 @@ func (x *DarksideMetaState) GetStartOrchardCommitmentTreeSize() uint32 { // A block is a hex-encoded string. type DarksideBlock struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Block string `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` unknownFields protoimpl.UnknownFields - - Block string `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DarksideBlock) Reset() { *x = DarksideBlock{} - if protoimpl.UnsafeEnabled { - mi := &file_darkside_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_darkside_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DarksideBlock) String() string { @@ -129,7 +124,7 @@ func (*DarksideBlock) ProtoMessage() {} func (x *DarksideBlock) ProtoReflect() protoreflect.Message { mi := &file_darkside_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -154,20 +149,17 @@ func (x *DarksideBlock) GetBlock() string { // DarksideBlocksURL is typically something like: // https://raw.githubusercontent.com/zcash-hackworks/darksidewalletd-test-data/master/basic-reorg/before-reorg.txt type DarksideBlocksURL struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` unknownFields protoimpl.UnknownFields - - Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DarksideBlocksURL) Reset() { *x = DarksideBlocksURL{} - if protoimpl.UnsafeEnabled { - mi := &file_darkside_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_darkside_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DarksideBlocksURL) String() string { @@ -178,7 +170,7 @@ func (*DarksideBlocksURL) ProtoMessage() {} func (x *DarksideBlocksURL) ProtoReflect() protoreflect.Message { mi := &file_darkside_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -204,21 +196,18 @@ func (x *DarksideBlocksURL) GetUrl() string { // of hex-encoded transactions, one per line, that are to be associated // with the given height (fake-mined into the block at that height) type DarksideTransactionsURL struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Height int32 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` + Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` unknownFields protoimpl.UnknownFields - - Height int32 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` - Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DarksideTransactionsURL) Reset() { *x = DarksideTransactionsURL{} - if protoimpl.UnsafeEnabled { - mi := &file_darkside_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_darkside_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DarksideTransactionsURL) String() string { @@ -229,7 +218,7 @@ func (*DarksideTransactionsURL) ProtoMessage() {} func (x *DarksideTransactionsURL) ProtoReflect() protoreflect.Message { mi := &file_darkside_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -259,20 +248,17 @@ func (x *DarksideTransactionsURL) GetUrl() string { } type DarksideHeight struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Height int32 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` unknownFields protoimpl.UnknownFields - - Height int32 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DarksideHeight) Reset() { *x = DarksideHeight{} - if protoimpl.UnsafeEnabled { - mi := &file_darkside_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_darkside_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DarksideHeight) String() string { @@ -283,7 +269,7 @@ func (*DarksideHeight) ProtoMessage() {} func (x *DarksideHeight) ProtoReflect() protoreflect.Message { mi := &file_darkside_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -306,22 +292,19 @@ func (x *DarksideHeight) GetHeight() int32 { } type DarksideEmptyBlocks struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Height int32 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` + Nonce int32 `protobuf:"varint,2,opt,name=nonce,proto3" json:"nonce,omitempty"` + Count int32 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"` unknownFields protoimpl.UnknownFields - - Height int32 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` - Nonce int32 `protobuf:"varint,2,opt,name=nonce,proto3" json:"nonce,omitempty"` - Count int32 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DarksideEmptyBlocks) Reset() { *x = DarksideEmptyBlocks{} - if protoimpl.UnsafeEnabled { - mi := &file_darkside_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_darkside_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DarksideEmptyBlocks) String() string { @@ -332,7 +315,7 @@ func (*DarksideEmptyBlocks) ProtoMessage() {} func (x *DarksideEmptyBlocks) ProtoReflect() protoreflect.Message { mi := &file_darkside_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -369,22 +352,19 @@ func (x *DarksideEmptyBlocks) GetCount() int32 { } type DarksideSubtreeRoots struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ShieldedProtocol ShieldedProtocol `protobuf:"varint,1,opt,name=shieldedProtocol,proto3,enum=cash.z.wallet.sdk.rpc.ShieldedProtocol" json:"shieldedProtocol,omitempty"` - StartIndex uint32 `protobuf:"varint,2,opt,name=startIndex,proto3" json:"startIndex,omitempty"` - SubtreeRoots []*SubtreeRoot `protobuf:"bytes,3,rep,name=subtreeRoots,proto3" json:"subtreeRoots,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + ShieldedProtocol ShieldedProtocol `protobuf:"varint,1,opt,name=shieldedProtocol,proto3,enum=cash.z.wallet.sdk.rpc.ShieldedProtocol" json:"shieldedProtocol,omitempty"` + StartIndex uint32 `protobuf:"varint,2,opt,name=startIndex,proto3" json:"startIndex,omitempty"` + SubtreeRoots []*SubtreeRoot `protobuf:"bytes,3,rep,name=subtreeRoots,proto3" json:"subtreeRoots,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DarksideSubtreeRoots) Reset() { *x = DarksideSubtreeRoots{} - if protoimpl.UnsafeEnabled { - mi := &file_darkside_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_darkside_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DarksideSubtreeRoots) String() string { @@ -395,7 +375,7 @@ func (*DarksideSubtreeRoots) ProtoMessage() {} func (x *DarksideSubtreeRoots) ProtoReflect() protoreflect.Message { mi := &file_darkside_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -433,168 +413,66 @@ func (x *DarksideSubtreeRoots) GetSubtreeRoots() []*SubtreeRoot { var File_darkside_proto protoreflect.FileDescriptor -var file_darkside_proto_rawDesc = []byte{ - 0x0a, 0x0e, 0x64, 0x61, 0x72, 0x6b, 0x73, 0x69, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x15, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, - 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x1a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x02, 0x0a, 0x11, 0x44, 0x61, 0x72, 0x6b, 0x73, - 0x69, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x11, - 0x73, 0x61, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x73, 0x61, 0x70, 0x6c, 0x69, 0x6e, 0x67, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x72, - 0x61, 0x6e, 0x63, 0x68, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x72, - 0x61, 0x6e, 0x63, 0x68, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x1e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x61, 0x70, - 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72, - 0x65, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1e, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x53, 0x61, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x65, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x46, 0x0a, 0x1e, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x72, 0x63, 0x68, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x65, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x72, 0x63, 0x68, 0x61, - 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x65, 0x65, - 0x53, 0x69, 0x7a, 0x65, 0x22, 0x25, 0x0a, 0x0d, 0x44, 0x61, 0x72, 0x6b, 0x73, 0x69, 0x64, 0x65, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x25, 0x0a, 0x11, 0x44, - 0x61, 0x72, 0x6b, 0x73, 0x69, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x55, 0x52, 0x4c, - 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, - 0x72, 0x6c, 0x22, 0x43, 0x0a, 0x17, 0x44, 0x61, 0x72, 0x6b, 0x73, 0x69, 0x64, 0x65, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x55, 0x52, 0x4c, 0x12, 0x16, 0x0a, - 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x28, 0x0a, 0x0e, 0x44, 0x61, 0x72, 0x6b, 0x73, - 0x69, 0x64, 0x65, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x22, 0x59, 0x0a, 0x13, 0x44, 0x61, 0x72, 0x6b, 0x73, 0x69, 0x64, 0x65, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xd3, 0x01, 0x0a, - 0x14, 0x44, 0x61, 0x72, 0x6b, 0x73, 0x69, 0x64, 0x65, 0x53, 0x75, 0x62, 0x74, 0x72, 0x65, 0x65, - 0x52, 0x6f, 0x6f, 0x74, 0x73, 0x12, 0x53, 0x0a, 0x10, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, - 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x27, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, - 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x10, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, - 0x65, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x46, 0x0a, 0x0c, 0x73, 0x75, - 0x62, 0x74, 0x72, 0x65, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, - 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x74, 0x72, 0x65, 0x65, - 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x74, 0x72, 0x65, 0x65, 0x52, 0x6f, 0x6f, - 0x74, 0x73, 0x32, 0xaa, 0x0b, 0x0a, 0x10, 0x44, 0x61, 0x72, 0x6b, 0x73, 0x69, 0x64, 0x65, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x05, 0x52, 0x65, 0x73, 0x65, 0x74, - 0x12, 0x28, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, - 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x72, 0x6b, 0x73, 0x69, 0x64, - 0x65, 0x4d, 0x65, 0x74, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x1c, 0x2e, 0x63, 0x61, 0x73, - 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, - 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x11, 0x53, 0x74, - 0x61, 0x67, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, - 0x24, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, - 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x72, 0x6b, 0x73, 0x69, 0x64, 0x65, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x1a, 0x1c, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x22, 0x00, 0x28, 0x01, 0x12, 0x57, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x67, 0x65, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, - 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x44, - 0x61, 0x72, 0x6b, 0x73, 0x69, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x55, 0x52, 0x4c, - 0x1a, 0x1c, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, - 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, - 0x12, 0x5f, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x67, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, - 0x72, 0x6b, 0x73, 0x69, 0x64, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x73, 0x1a, 0x1c, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, - 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, - 0x00, 0x12, 0x62, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x67, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x25, 0x2e, 0x63, - 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, - 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x1a, 0x1c, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, - 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x22, 0x00, 0x28, 0x01, 0x12, 0x63, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x67, 0x65, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x73, - 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, - 0x70, 0x63, 0x2e, 0x44, 0x61, 0x72, 0x6b, 0x73, 0x69, 0x64, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x55, 0x52, 0x4c, 0x1a, 0x1c, 0x2e, 0x63, 0x61, 0x73, - 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, - 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0b, 0x41, 0x70, - 0x70, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x67, 0x65, 0x64, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x73, 0x68, - 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, - 0x63, 0x2e, 0x44, 0x61, 0x72, 0x6b, 0x73, 0x69, 0x64, 0x65, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x1a, 0x1c, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, - 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, - 0x12, 0x62, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x2e, 0x63, 0x61, - 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, - 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x73, 0x68, - 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, - 0x63, 0x2e, 0x52, 0x61, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x00, 0x30, 0x01, 0x12, 0x59, 0x0a, 0x19, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x49, 0x6e, 0x63, - 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x1c, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, - 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x1c, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, - 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, - 0x5d, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x55, 0x74, 0x78, - 0x6f, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, - 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x1a, 0x1c, - 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, - 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x50, - 0x0a, 0x10, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x55, 0x74, - 0x78, 0x6f, 0x12, 0x1c, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x1a, 0x1c, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, - 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, - 0x12, 0x50, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x54, 0x72, 0x65, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x20, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, - 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x65, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x1a, 0x1c, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x72, 0x65, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x1a, 0x1c, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x12, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x41, 0x6c, - 0x6c, 0x54, 0x72, 0x65, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x2e, 0x63, 0x61, - 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, - 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x63, 0x61, 0x73, 0x68, - 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, - 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x0f, 0x53, 0x65, 0x74, - 0x53, 0x75, 0x62, 0x74, 0x72, 0x65, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x73, 0x12, 0x2b, 0x2e, 0x63, - 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, - 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x72, 0x6b, 0x73, 0x69, 0x64, 0x65, 0x53, 0x75, 0x62, - 0x74, 0x72, 0x65, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x73, 0x1a, 0x1c, 0x2e, 0x63, 0x61, 0x73, 0x68, - 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, - 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x04, 0x53, 0x74, 0x6f, - 0x70, 0x12, 0x1c, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, - 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x1c, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, - 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x42, - 0x1b, 0x5a, 0x16, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x64, 0x2f, - 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x72, 0x70, 0x63, 0xba, 0x02, 0x00, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, -} +const file_darkside_proto_rawDesc = "" + + "\n" + + "\x0edarkside.proto\x12\x15cash.z.wallet.sdk.rpc\x1a\rservice.proto\"\x8b\x02\n" + + "\x11DarksideMetaState\x12,\n" + + "\x11saplingActivation\x18\x01 \x01(\x05R\x11saplingActivation\x12\x1a\n" + + "\bbranchID\x18\x02 \x01(\tR\bbranchID\x12\x1c\n" + + "\tchainName\x18\x03 \x01(\tR\tchainName\x12F\n" + + "\x1estartSaplingCommitmentTreeSize\x18\x04 \x01(\rR\x1estartSaplingCommitmentTreeSize\x12F\n" + + "\x1estartOrchardCommitmentTreeSize\x18\x05 \x01(\rR\x1estartOrchardCommitmentTreeSize\"%\n" + + "\rDarksideBlock\x12\x14\n" + + "\x05block\x18\x01 \x01(\tR\x05block\"%\n" + + "\x11DarksideBlocksURL\x12\x10\n" + + "\x03url\x18\x01 \x01(\tR\x03url\"C\n" + + "\x17DarksideTransactionsURL\x12\x16\n" + + "\x06height\x18\x01 \x01(\x05R\x06height\x12\x10\n" + + "\x03url\x18\x02 \x01(\tR\x03url\"(\n" + + "\x0eDarksideHeight\x12\x16\n" + + "\x06height\x18\x01 \x01(\x05R\x06height\"Y\n" + + "\x13DarksideEmptyBlocks\x12\x16\n" + + "\x06height\x18\x01 \x01(\x05R\x06height\x12\x14\n" + + "\x05nonce\x18\x02 \x01(\x05R\x05nonce\x12\x14\n" + + "\x05count\x18\x03 \x01(\x05R\x05count\"\xd3\x01\n" + + "\x14DarksideSubtreeRoots\x12S\n" + + "\x10shieldedProtocol\x18\x01 \x01(\x0e2'.cash.z.wallet.sdk.rpc.ShieldedProtocolR\x10shieldedProtocol\x12\x1e\n" + + "\n" + + "startIndex\x18\x02 \x01(\rR\n" + + "startIndex\x12F\n" + + "\fsubtreeRoots\x18\x03 \x03(\v2\".cash.z.wallet.sdk.rpc.SubtreeRootR\fsubtreeRoots2\xaa\v\n" + + "\x10DarksideStreamer\x12Q\n" + + "\x05Reset\x12(.cash.z.wallet.sdk.rpc.DarksideMetaState\x1a\x1c.cash.z.wallet.sdk.rpc.Empty\"\x00\x12[\n" + + "\x11StageBlocksStream\x12$.cash.z.wallet.sdk.rpc.DarksideBlock\x1a\x1c.cash.z.wallet.sdk.rpc.Empty\"\x00(\x01\x12W\n" + + "\vStageBlocks\x12(.cash.z.wallet.sdk.rpc.DarksideBlocksURL\x1a\x1c.cash.z.wallet.sdk.rpc.Empty\"\x00\x12_\n" + + "\x11StageBlocksCreate\x12*.cash.z.wallet.sdk.rpc.DarksideEmptyBlocks\x1a\x1c.cash.z.wallet.sdk.rpc.Empty\"\x00\x12b\n" + + "\x17StageTransactionsStream\x12%.cash.z.wallet.sdk.rpc.RawTransaction\x1a\x1c.cash.z.wallet.sdk.rpc.Empty\"\x00(\x01\x12c\n" + + "\x11StageTransactions\x12..cash.z.wallet.sdk.rpc.DarksideTransactionsURL\x1a\x1c.cash.z.wallet.sdk.rpc.Empty\"\x00\x12T\n" + + "\vApplyStaged\x12%.cash.z.wallet.sdk.rpc.DarksideHeight\x1a\x1c.cash.z.wallet.sdk.rpc.Empty\"\x00\x12b\n" + + "\x17GetIncomingTransactions\x12\x1c.cash.z.wallet.sdk.rpc.Empty\x1a%.cash.z.wallet.sdk.rpc.RawTransaction\"\x000\x01\x12Y\n" + + "\x19ClearIncomingTransactions\x12\x1c.cash.z.wallet.sdk.rpc.Empty\x1a\x1c.cash.z.wallet.sdk.rpc.Empty\"\x00\x12]\n" + + "\x0eAddAddressUtxo\x12+.cash.z.wallet.sdk.rpc.GetAddressUtxosReply\x1a\x1c.cash.z.wallet.sdk.rpc.Empty\"\x00\x12P\n" + + "\x10ClearAddressUtxo\x12\x1c.cash.z.wallet.sdk.rpc.Empty\x1a\x1c.cash.z.wallet.sdk.rpc.Empty\"\x00\x12P\n" + + "\fAddTreeState\x12 .cash.z.wallet.sdk.rpc.TreeState\x1a\x1c.cash.z.wallet.sdk.rpc.Empty\"\x00\x12Q\n" + + "\x0fRemoveTreeState\x12\x1e.cash.z.wallet.sdk.rpc.BlockID\x1a\x1c.cash.z.wallet.sdk.rpc.Empty\"\x00\x12R\n" + + "\x12ClearAllTreeStates\x12\x1c.cash.z.wallet.sdk.rpc.Empty\x1a\x1c.cash.z.wallet.sdk.rpc.Empty\"\x00\x12^\n" + + "\x0fSetSubtreeRoots\x12+.cash.z.wallet.sdk.rpc.DarksideSubtreeRoots\x1a\x1c.cash.z.wallet.sdk.rpc.Empty\"\x00\x12D\n" + + "\x04Stop\x12\x1c.cash.z.wallet.sdk.rpc.Empty\x1a\x1c.cash.z.wallet.sdk.rpc.Empty\"\x00B\x1bZ\x16lightwalletd/walletrpc\xba\x02\x00b\x06proto3" var ( file_darkside_proto_rawDescOnce sync.Once - file_darkside_proto_rawDescData = file_darkside_proto_rawDesc + file_darkside_proto_rawDescData []byte ) func file_darkside_proto_rawDescGZIP() []byte { file_darkside_proto_rawDescOnce.Do(func() { - file_darkside_proto_rawDescData = protoimpl.X.CompressGZIP(file_darkside_proto_rawDescData) + file_darkside_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_darkside_proto_rawDesc), len(file_darkside_proto_rawDesc))) }) return file_darkside_proto_rawDescData } var file_darkside_proto_msgTypes = make([]protoimpl.MessageInfo, 7) -var file_darkside_proto_goTypes = []interface{}{ +var file_darkside_proto_goTypes = []any{ (*DarksideMetaState)(nil), // 0: cash.z.wallet.sdk.rpc.DarksideMetaState (*DarksideBlock)(nil), // 1: cash.z.wallet.sdk.rpc.DarksideBlock (*DarksideBlocksURL)(nil), // 2: cash.z.wallet.sdk.rpc.DarksideBlocksURL @@ -658,97 +536,11 @@ func file_darkside_proto_init() { return } file_service_proto_init() - if !protoimpl.UnsafeEnabled { - file_darkside_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DarksideMetaState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_darkside_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DarksideBlock); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_darkside_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DarksideBlocksURL); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_darkside_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DarksideTransactionsURL); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_darkside_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DarksideHeight); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_darkside_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DarksideEmptyBlocks); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_darkside_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DarksideSubtreeRoots); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_darkside_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_darkside_proto_rawDesc), len(file_darkside_proto_rawDesc)), NumEnums: 0, NumMessages: 7, NumExtensions: 0, @@ -759,7 +551,6 @@ func file_darkside_proto_init() { MessageInfos: file_darkside_proto_msgTypes, }.Build() File_darkside_proto = out.File - file_darkside_proto_rawDesc = nil file_darkside_proto_goTypes = nil file_darkside_proto_depIdxs = nil } diff --git a/walletrpc/darkside_grpc.pb.go b/walletrpc/darkside_grpc.pb.go index 830d7c42..15adb9ea 100644 --- a/walletrpc/darkside_grpc.pb.go +++ b/walletrpc/darkside_grpc.pb.go @@ -4,8 +4,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 -// - protoc v4.25.2 +// - protoc-gen-go-grpc v1.6.0 +// - protoc v6.33.2 // source: darkside.proto package walletrpc @@ -19,8 +19,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( DarksideStreamer_Reset_FullMethodName = "/cash.z.wallet.sdk.rpc.DarksideStreamer/Reset" @@ -44,6 +44,11 @@ const ( // DarksideStreamerClient is the client API for DarksideStreamer service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Darksidewalletd maintains two staging areas, blocks and transactions. The +// Stage*() gRPCs add items to the staging area; ApplyStaged() "applies" everything +// in the staging area to the working (operational) state that the mock zcashd +// serves; transactions are placed into their corresponding blocks (by height). type DarksideStreamerClient interface { // Reset reverts all darksidewalletd state (active block range, latest height, // staged blocks and transactions) and lightwalletd state (cache) to empty, @@ -56,7 +61,7 @@ type DarksideStreamerClient interface { // StageBlocksStream accepts a list of blocks and saves them into the blocks // staging area until ApplyStaged() is called; there is no immediate effect on // the mock zcashd. Blocks are hex-encoded. Order is important, see ApplyStaged. - StageBlocksStream(ctx context.Context, opts ...grpc.CallOption) (DarksideStreamer_StageBlocksStreamClient, error) + StageBlocksStream(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[DarksideBlock, Empty], error) // StageBlocks is the same as StageBlocksStream() except the blocks are fetched // from the given URL. Blocks are one per line, hex-encoded (not JSON). StageBlocks(ctx context.Context, in *DarksideBlocksURL, opts ...grpc.CallOption) (*Empty, error) @@ -71,7 +76,7 @@ type DarksideStreamerClient interface { // are not returned by the production GetTransaction() gRPC until they // appear in a "mined" block (contained in the active blockchain presented // by the mock zcashd). - StageTransactionsStream(ctx context.Context, opts ...grpc.CallOption) (DarksideStreamer_StageTransactionsStreamClient, error) + StageTransactionsStream(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[RawTransaction, Empty], error) // StageTransactions is the same except the transactions are fetched from // the given url. They are all staged into the block at the given height. // Staging transactions to different heights requires multiple calls. @@ -100,7 +105,7 @@ type DarksideStreamerClient interface { // been mined yet. The intention is that the transactions returned here can // then, for example, be given to StageTransactions() to get them "mined" // into a specified block on the next ApplyStaged(). - GetIncomingTransactions(ctx context.Context, in *Empty, opts ...grpc.CallOption) (DarksideStreamer_GetIncomingTransactionsClient, error) + GetIncomingTransactions(ctx context.Context, in *Empty, opts ...grpc.CallOption) (grpc.ServerStreamingClient[RawTransaction], error) // Clear the incoming transaction pool. ClearIncomingTransactions(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) // Add a GetAddressUtxosReply entry to be returned by GetAddressUtxos(). @@ -130,51 +135,32 @@ func NewDarksideStreamerClient(cc grpc.ClientConnInterface) DarksideStreamerClie } func (c *darksideStreamerClient) Reset(ctx context.Context, in *DarksideMetaState, opts ...grpc.CallOption) (*Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Empty) - err := c.cc.Invoke(ctx, DarksideStreamer_Reset_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, DarksideStreamer_Reset_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *darksideStreamerClient) StageBlocksStream(ctx context.Context, opts ...grpc.CallOption) (DarksideStreamer_StageBlocksStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &DarksideStreamer_ServiceDesc.Streams[0], DarksideStreamer_StageBlocksStream_FullMethodName, opts...) +func (c *darksideStreamerClient) StageBlocksStream(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[DarksideBlock, Empty], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &DarksideStreamer_ServiceDesc.Streams[0], DarksideStreamer_StageBlocksStream_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &darksideStreamerStageBlocksStreamClient{stream} + x := &grpc.GenericClientStream[DarksideBlock, Empty]{ClientStream: stream} return x, nil } -type DarksideStreamer_StageBlocksStreamClient interface { - Send(*DarksideBlock) error - CloseAndRecv() (*Empty, error) - grpc.ClientStream -} - -type darksideStreamerStageBlocksStreamClient struct { - grpc.ClientStream -} - -func (x *darksideStreamerStageBlocksStreamClient) Send(m *DarksideBlock) error { - return x.ClientStream.SendMsg(m) -} - -func (x *darksideStreamerStageBlocksStreamClient) CloseAndRecv() (*Empty, error) { - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - m := new(Empty) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type DarksideStreamer_StageBlocksStreamClient = grpc.ClientStreamingClient[DarksideBlock, Empty] func (c *darksideStreamerClient) StageBlocks(ctx context.Context, in *DarksideBlocksURL, opts ...grpc.CallOption) (*Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Empty) - err := c.cc.Invoke(ctx, DarksideStreamer_StageBlocks_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, DarksideStreamer_StageBlocks_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -182,51 +168,32 @@ func (c *darksideStreamerClient) StageBlocks(ctx context.Context, in *DarksideBl } func (c *darksideStreamerClient) StageBlocksCreate(ctx context.Context, in *DarksideEmptyBlocks, opts ...grpc.CallOption) (*Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Empty) - err := c.cc.Invoke(ctx, DarksideStreamer_StageBlocksCreate_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, DarksideStreamer_StageBlocksCreate_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *darksideStreamerClient) StageTransactionsStream(ctx context.Context, opts ...grpc.CallOption) (DarksideStreamer_StageTransactionsStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &DarksideStreamer_ServiceDesc.Streams[1], DarksideStreamer_StageTransactionsStream_FullMethodName, opts...) +func (c *darksideStreamerClient) StageTransactionsStream(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[RawTransaction, Empty], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &DarksideStreamer_ServiceDesc.Streams[1], DarksideStreamer_StageTransactionsStream_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &darksideStreamerStageTransactionsStreamClient{stream} + x := &grpc.GenericClientStream[RawTransaction, Empty]{ClientStream: stream} return x, nil } -type DarksideStreamer_StageTransactionsStreamClient interface { - Send(*RawTransaction) error - CloseAndRecv() (*Empty, error) - grpc.ClientStream -} - -type darksideStreamerStageTransactionsStreamClient struct { - grpc.ClientStream -} - -func (x *darksideStreamerStageTransactionsStreamClient) Send(m *RawTransaction) error { - return x.ClientStream.SendMsg(m) -} - -func (x *darksideStreamerStageTransactionsStreamClient) CloseAndRecv() (*Empty, error) { - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - m := new(Empty) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type DarksideStreamer_StageTransactionsStreamClient = grpc.ClientStreamingClient[RawTransaction, Empty] func (c *darksideStreamerClient) StageTransactions(ctx context.Context, in *DarksideTransactionsURL, opts ...grpc.CallOption) (*Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Empty) - err := c.cc.Invoke(ctx, DarksideStreamer_StageTransactions_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, DarksideStreamer_StageTransactions_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -234,20 +201,22 @@ func (c *darksideStreamerClient) StageTransactions(ctx context.Context, in *Dark } func (c *darksideStreamerClient) ApplyStaged(ctx context.Context, in *DarksideHeight, opts ...grpc.CallOption) (*Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Empty) - err := c.cc.Invoke(ctx, DarksideStreamer_ApplyStaged_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, DarksideStreamer_ApplyStaged_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *darksideStreamerClient) GetIncomingTransactions(ctx context.Context, in *Empty, opts ...grpc.CallOption) (DarksideStreamer_GetIncomingTransactionsClient, error) { - stream, err := c.cc.NewStream(ctx, &DarksideStreamer_ServiceDesc.Streams[2], DarksideStreamer_GetIncomingTransactions_FullMethodName, opts...) +func (c *darksideStreamerClient) GetIncomingTransactions(ctx context.Context, in *Empty, opts ...grpc.CallOption) (grpc.ServerStreamingClient[RawTransaction], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &DarksideStreamer_ServiceDesc.Streams[2], DarksideStreamer_GetIncomingTransactions_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &darksideStreamerGetIncomingTransactionsClient{stream} + x := &grpc.GenericClientStream[Empty, RawTransaction]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -257,26 +226,13 @@ func (c *darksideStreamerClient) GetIncomingTransactions(ctx context.Context, in return x, nil } -type DarksideStreamer_GetIncomingTransactionsClient interface { - Recv() (*RawTransaction, error) - grpc.ClientStream -} - -type darksideStreamerGetIncomingTransactionsClient struct { - grpc.ClientStream -} - -func (x *darksideStreamerGetIncomingTransactionsClient) Recv() (*RawTransaction, error) { - m := new(RawTransaction) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type DarksideStreamer_GetIncomingTransactionsClient = grpc.ServerStreamingClient[RawTransaction] func (c *darksideStreamerClient) ClearIncomingTransactions(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Empty) - err := c.cc.Invoke(ctx, DarksideStreamer_ClearIncomingTransactions_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, DarksideStreamer_ClearIncomingTransactions_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -284,8 +240,9 @@ func (c *darksideStreamerClient) ClearIncomingTransactions(ctx context.Context, } func (c *darksideStreamerClient) AddAddressUtxo(ctx context.Context, in *GetAddressUtxosReply, opts ...grpc.CallOption) (*Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Empty) - err := c.cc.Invoke(ctx, DarksideStreamer_AddAddressUtxo_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, DarksideStreamer_AddAddressUtxo_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -293,8 +250,9 @@ func (c *darksideStreamerClient) AddAddressUtxo(ctx context.Context, in *GetAddr } func (c *darksideStreamerClient) ClearAddressUtxo(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Empty) - err := c.cc.Invoke(ctx, DarksideStreamer_ClearAddressUtxo_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, DarksideStreamer_ClearAddressUtxo_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -302,8 +260,9 @@ func (c *darksideStreamerClient) ClearAddressUtxo(ctx context.Context, in *Empty } func (c *darksideStreamerClient) AddTreeState(ctx context.Context, in *TreeState, opts ...grpc.CallOption) (*Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Empty) - err := c.cc.Invoke(ctx, DarksideStreamer_AddTreeState_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, DarksideStreamer_AddTreeState_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -311,8 +270,9 @@ func (c *darksideStreamerClient) AddTreeState(ctx context.Context, in *TreeState } func (c *darksideStreamerClient) RemoveTreeState(ctx context.Context, in *BlockID, opts ...grpc.CallOption) (*Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Empty) - err := c.cc.Invoke(ctx, DarksideStreamer_RemoveTreeState_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, DarksideStreamer_RemoveTreeState_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -320,8 +280,9 @@ func (c *darksideStreamerClient) RemoveTreeState(ctx context.Context, in *BlockI } func (c *darksideStreamerClient) ClearAllTreeStates(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Empty) - err := c.cc.Invoke(ctx, DarksideStreamer_ClearAllTreeStates_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, DarksideStreamer_ClearAllTreeStates_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -329,8 +290,9 @@ func (c *darksideStreamerClient) ClearAllTreeStates(ctx context.Context, in *Emp } func (c *darksideStreamerClient) SetSubtreeRoots(ctx context.Context, in *DarksideSubtreeRoots, opts ...grpc.CallOption) (*Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Empty) - err := c.cc.Invoke(ctx, DarksideStreamer_SetSubtreeRoots_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, DarksideStreamer_SetSubtreeRoots_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -338,8 +300,9 @@ func (c *darksideStreamerClient) SetSubtreeRoots(ctx context.Context, in *Darksi } func (c *darksideStreamerClient) Stop(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Empty) - err := c.cc.Invoke(ctx, DarksideStreamer_Stop_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, DarksideStreamer_Stop_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -348,7 +311,12 @@ func (c *darksideStreamerClient) Stop(ctx context.Context, in *Empty, opts ...gr // DarksideStreamerServer is the server API for DarksideStreamer service. // All implementations must embed UnimplementedDarksideStreamerServer -// for forward compatibility +// for forward compatibility. +// +// Darksidewalletd maintains two staging areas, blocks and transactions. The +// Stage*() gRPCs add items to the staging area; ApplyStaged() "applies" everything +// in the staging area to the working (operational) state that the mock zcashd +// serves; transactions are placed into their corresponding blocks (by height). type DarksideStreamerServer interface { // Reset reverts all darksidewalletd state (active block range, latest height, // staged blocks and transactions) and lightwalletd state (cache) to empty, @@ -361,7 +329,7 @@ type DarksideStreamerServer interface { // StageBlocksStream accepts a list of blocks and saves them into the blocks // staging area until ApplyStaged() is called; there is no immediate effect on // the mock zcashd. Blocks are hex-encoded. Order is important, see ApplyStaged. - StageBlocksStream(DarksideStreamer_StageBlocksStreamServer) error + StageBlocksStream(grpc.ClientStreamingServer[DarksideBlock, Empty]) error // StageBlocks is the same as StageBlocksStream() except the blocks are fetched // from the given URL. Blocks are one per line, hex-encoded (not JSON). StageBlocks(context.Context, *DarksideBlocksURL) (*Empty, error) @@ -376,7 +344,7 @@ type DarksideStreamerServer interface { // are not returned by the production GetTransaction() gRPC until they // appear in a "mined" block (contained in the active blockchain presented // by the mock zcashd). - StageTransactionsStream(DarksideStreamer_StageTransactionsStreamServer) error + StageTransactionsStream(grpc.ClientStreamingServer[RawTransaction, Empty]) error // StageTransactions is the same except the transactions are fetched from // the given url. They are all staged into the block at the given height. // Staging transactions to different heights requires multiple calls. @@ -405,7 +373,7 @@ type DarksideStreamerServer interface { // been mined yet. The intention is that the transactions returned here can // then, for example, be given to StageTransactions() to get them "mined" // into a specified block on the next ApplyStaged(). - GetIncomingTransactions(*Empty, DarksideStreamer_GetIncomingTransactionsServer) error + GetIncomingTransactions(*Empty, grpc.ServerStreamingServer[RawTransaction]) error // Clear the incoming transaction pool. ClearIncomingTransactions(context.Context, *Empty) (*Empty, error) // Add a GetAddressUtxosReply entry to be returned by GetAddressUtxos(). @@ -427,59 +395,63 @@ type DarksideStreamerServer interface { mustEmbedUnimplementedDarksideStreamerServer() } -// UnimplementedDarksideStreamerServer must be embedded to have forward compatible implementations. -type UnimplementedDarksideStreamerServer struct { -} +// UnimplementedDarksideStreamerServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedDarksideStreamerServer struct{} func (UnimplementedDarksideStreamerServer) Reset(context.Context, *DarksideMetaState) (*Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method Reset not implemented") + return nil, status.Error(codes.Unimplemented, "method Reset not implemented") } -func (UnimplementedDarksideStreamerServer) StageBlocksStream(DarksideStreamer_StageBlocksStreamServer) error { - return status.Errorf(codes.Unimplemented, "method StageBlocksStream not implemented") +func (UnimplementedDarksideStreamerServer) StageBlocksStream(grpc.ClientStreamingServer[DarksideBlock, Empty]) error { + return status.Error(codes.Unimplemented, "method StageBlocksStream not implemented") } func (UnimplementedDarksideStreamerServer) StageBlocks(context.Context, *DarksideBlocksURL) (*Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method StageBlocks not implemented") + return nil, status.Error(codes.Unimplemented, "method StageBlocks not implemented") } func (UnimplementedDarksideStreamerServer) StageBlocksCreate(context.Context, *DarksideEmptyBlocks) (*Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method StageBlocksCreate not implemented") + return nil, status.Error(codes.Unimplemented, "method StageBlocksCreate not implemented") } -func (UnimplementedDarksideStreamerServer) StageTransactionsStream(DarksideStreamer_StageTransactionsStreamServer) error { - return status.Errorf(codes.Unimplemented, "method StageTransactionsStream not implemented") +func (UnimplementedDarksideStreamerServer) StageTransactionsStream(grpc.ClientStreamingServer[RawTransaction, Empty]) error { + return status.Error(codes.Unimplemented, "method StageTransactionsStream not implemented") } func (UnimplementedDarksideStreamerServer) StageTransactions(context.Context, *DarksideTransactionsURL) (*Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method StageTransactions not implemented") + return nil, status.Error(codes.Unimplemented, "method StageTransactions not implemented") } func (UnimplementedDarksideStreamerServer) ApplyStaged(context.Context, *DarksideHeight) (*Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method ApplyStaged not implemented") + return nil, status.Error(codes.Unimplemented, "method ApplyStaged not implemented") } -func (UnimplementedDarksideStreamerServer) GetIncomingTransactions(*Empty, DarksideStreamer_GetIncomingTransactionsServer) error { - return status.Errorf(codes.Unimplemented, "method GetIncomingTransactions not implemented") +func (UnimplementedDarksideStreamerServer) GetIncomingTransactions(*Empty, grpc.ServerStreamingServer[RawTransaction]) error { + return status.Error(codes.Unimplemented, "method GetIncomingTransactions not implemented") } func (UnimplementedDarksideStreamerServer) ClearIncomingTransactions(context.Context, *Empty) (*Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method ClearIncomingTransactions not implemented") + return nil, status.Error(codes.Unimplemented, "method ClearIncomingTransactions not implemented") } func (UnimplementedDarksideStreamerServer) AddAddressUtxo(context.Context, *GetAddressUtxosReply) (*Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddAddressUtxo not implemented") + return nil, status.Error(codes.Unimplemented, "method AddAddressUtxo not implemented") } func (UnimplementedDarksideStreamerServer) ClearAddressUtxo(context.Context, *Empty) (*Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method ClearAddressUtxo not implemented") + return nil, status.Error(codes.Unimplemented, "method ClearAddressUtxo not implemented") } func (UnimplementedDarksideStreamerServer) AddTreeState(context.Context, *TreeState) (*Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddTreeState not implemented") + return nil, status.Error(codes.Unimplemented, "method AddTreeState not implemented") } func (UnimplementedDarksideStreamerServer) RemoveTreeState(context.Context, *BlockID) (*Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method RemoveTreeState not implemented") + return nil, status.Error(codes.Unimplemented, "method RemoveTreeState not implemented") } func (UnimplementedDarksideStreamerServer) ClearAllTreeStates(context.Context, *Empty) (*Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method ClearAllTreeStates not implemented") + return nil, status.Error(codes.Unimplemented, "method ClearAllTreeStates not implemented") } func (UnimplementedDarksideStreamerServer) SetSubtreeRoots(context.Context, *DarksideSubtreeRoots) (*Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetSubtreeRoots not implemented") + return nil, status.Error(codes.Unimplemented, "method SetSubtreeRoots not implemented") } func (UnimplementedDarksideStreamerServer) Stop(context.Context, *Empty) (*Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method Stop not implemented") + return nil, status.Error(codes.Unimplemented, "method Stop not implemented") } func (UnimplementedDarksideStreamerServer) mustEmbedUnimplementedDarksideStreamerServer() {} +func (UnimplementedDarksideStreamerServer) testEmbeddedByValue() {} // UnsafeDarksideStreamerServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to DarksideStreamerServer will @@ -489,6 +461,13 @@ type UnsafeDarksideStreamerServer interface { } func RegisterDarksideStreamerServer(s grpc.ServiceRegistrar, srv DarksideStreamerServer) { + // If the following call panics, it indicates UnimplementedDarksideStreamerServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&DarksideStreamer_ServiceDesc, srv) } @@ -511,30 +490,11 @@ func _DarksideStreamer_Reset_Handler(srv interface{}, ctx context.Context, dec f } func _DarksideStreamer_StageBlocksStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(DarksideStreamerServer).StageBlocksStream(&darksideStreamerStageBlocksStreamServer{stream}) + return srv.(DarksideStreamerServer).StageBlocksStream(&grpc.GenericServerStream[DarksideBlock, Empty]{ServerStream: stream}) } -type DarksideStreamer_StageBlocksStreamServer interface { - SendAndClose(*Empty) error - Recv() (*DarksideBlock, error) - grpc.ServerStream -} - -type darksideStreamerStageBlocksStreamServer struct { - grpc.ServerStream -} - -func (x *darksideStreamerStageBlocksStreamServer) SendAndClose(m *Empty) error { - return x.ServerStream.SendMsg(m) -} - -func (x *darksideStreamerStageBlocksStreamServer) Recv() (*DarksideBlock, error) { - m := new(DarksideBlock) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type DarksideStreamer_StageBlocksStreamServer = grpc.ClientStreamingServer[DarksideBlock, Empty] func _DarksideStreamer_StageBlocks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DarksideBlocksURL) @@ -573,30 +533,11 @@ func _DarksideStreamer_StageBlocksCreate_Handler(srv interface{}, ctx context.Co } func _DarksideStreamer_StageTransactionsStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(DarksideStreamerServer).StageTransactionsStream(&darksideStreamerStageTransactionsStreamServer{stream}) -} - -type DarksideStreamer_StageTransactionsStreamServer interface { - SendAndClose(*Empty) error - Recv() (*RawTransaction, error) - grpc.ServerStream -} - -type darksideStreamerStageTransactionsStreamServer struct { - grpc.ServerStream + return srv.(DarksideStreamerServer).StageTransactionsStream(&grpc.GenericServerStream[RawTransaction, Empty]{ServerStream: stream}) } -func (x *darksideStreamerStageTransactionsStreamServer) SendAndClose(m *Empty) error { - return x.ServerStream.SendMsg(m) -} - -func (x *darksideStreamerStageTransactionsStreamServer) Recv() (*RawTransaction, error) { - m := new(RawTransaction) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type DarksideStreamer_StageTransactionsStreamServer = grpc.ClientStreamingServer[RawTransaction, Empty] func _DarksideStreamer_StageTransactions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DarksideTransactionsURL) @@ -639,21 +580,11 @@ func _DarksideStreamer_GetIncomingTransactions_Handler(srv interface{}, stream g if err := stream.RecvMsg(m); err != nil { return err } - return srv.(DarksideStreamerServer).GetIncomingTransactions(m, &darksideStreamerGetIncomingTransactionsServer{stream}) -} - -type DarksideStreamer_GetIncomingTransactionsServer interface { - Send(*RawTransaction) error - grpc.ServerStream + return srv.(DarksideStreamerServer).GetIncomingTransactions(m, &grpc.GenericServerStream[Empty, RawTransaction]{ServerStream: stream}) } -type darksideStreamerGetIncomingTransactionsServer struct { - grpc.ServerStream -} - -func (x *darksideStreamerGetIncomingTransactionsServer) Send(m *RawTransaction) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type DarksideStreamer_GetIncomingTransactionsServer = grpc.ServerStreamingServer[RawTransaction] func _DarksideStreamer_ClearIncomingTransactions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(Empty) diff --git a/walletrpc/generate.go b/walletrpc/generate.go deleted file mode 100644 index c36f902f..00000000 --- a/walletrpc/generate.go +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright (c) 2019-2020 The Zcash developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or https://www.opensource.org/licenses/mit-license.php . -package walletrpc - -//go:generate protoc -I . --go_out=. --go_opt=paths=source_relative ./compact_formats.proto -//go:generate protoc -I . --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative ./service.proto -//go:generate protoc -I . --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative ./darkside.proto diff --git a/walletrpc/service.pb.go b/walletrpc/service.pb.go index 37d87b32..f3fb01cf 100644 --- a/walletrpc/service.pb.go +++ b/walletrpc/service.pb.go @@ -4,8 +4,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.11 +// protoc v6.33.2 // source: service.proto package walletrpc @@ -15,6 +15,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -126,21 +127,18 @@ func (ShieldedProtocol) EnumDescriptor() ([]byte, []int) { // A BlockID message contains identifiers to select a block: a height or a // hash. Specification by hash is not implemented, but may be in the future. type BlockID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` + Hash []byte `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"` unknownFields protoimpl.UnknownFields - - Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` - Hash []byte `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BlockID) Reset() { *x = BlockID{} - if protoimpl.UnsafeEnabled { - mi := &file_service_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BlockID) String() string { @@ -151,7 +149,7 @@ func (*BlockID) ProtoMessage() {} func (x *BlockID) ProtoReflect() protoreflect.Message { mi := &file_service_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -191,22 +189,19 @@ func (x *BlockID) GetHash() []byte { // of returning pruned and/or transparent data before setting `poolTypes` // to a non-empty value. type BlockRange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Start *BlockID `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"` + End *BlockID `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"` + PoolTypes []PoolType `protobuf:"varint,3,rep,packed,name=poolTypes,proto3,enum=cash.z.wallet.sdk.rpc.PoolType" json:"poolTypes,omitempty"` unknownFields protoimpl.UnknownFields - - Start *BlockID `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"` - End *BlockID `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"` - PoolTypes []PoolType `protobuf:"varint,3,rep,packed,name=poolTypes,proto3,enum=cash.z.wallet.sdk.rpc.PoolType" json:"poolTypes,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BlockRange) Reset() { *x = BlockRange{} - if protoimpl.UnsafeEnabled { - mi := &file_service_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BlockRange) String() string { @@ -217,7 +212,7 @@ func (*BlockRange) ProtoMessage() {} func (x *BlockRange) ProtoReflect() protoreflect.Message { mi := &file_service_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -257,22 +252,19 @@ func (x *BlockRange) GetPoolTypes() []PoolType { // transaction: either a block and an index, or a direct transaction hash. // Currently, only specification by hash is supported. type TxFilter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Block *BlockID `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` // block identifier, height or hash + Index uint64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` // index within the block + Hash []byte `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"` // transaction ID (hash, txid) unknownFields protoimpl.UnknownFields - - Block *BlockID `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` // block identifier, height or hash - Index uint64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` // index within the block - Hash []byte `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"` // transaction ID (hash, txid) + sizeCache protoimpl.SizeCache } func (x *TxFilter) Reset() { *x = TxFilter{} - if protoimpl.UnsafeEnabled { - mi := &file_service_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TxFilter) String() string { @@ -283,7 +275,7 @@ func (*TxFilter) ProtoMessage() {} func (x *TxFilter) ProtoReflect() protoreflect.Message { mi := &file_service_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -326,10 +318,7 @@ func (x *TxFilter) GetHash() []byte { // FIXME: the documentation here about mempool status contradicts the documentation // for the `height` field. See https://github.com/zcash/librustzcash/issues/1484 type RawTransaction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The serialized representation of the Zcash transaction. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` // The height at which the transaction is mined, or a sentinel value. @@ -350,16 +339,16 @@ type RawTransaction struct { // is not currently the main chain // - any other height: the transaction has been mined in the main chain at the // given height - Height uint64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"` + Height uint64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RawTransaction) Reset() { *x = RawTransaction{} - if protoimpl.UnsafeEnabled { - mi := &file_service_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RawTransaction) String() string { @@ -370,7 +359,7 @@ func (*RawTransaction) ProtoMessage() {} func (x *RawTransaction) ProtoReflect() protoreflect.Message { mi := &file_service_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -403,21 +392,18 @@ func (x *RawTransaction) GetHeight() uint64 { // only by SendTransaction(). If error code is zero, the operation was // successful; if non-zero, it and the message specify the failure. type SendResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ErrorCode int32 `protobuf:"varint,1,opt,name=errorCode,proto3" json:"errorCode,omitempty"` + ErrorMessage string `protobuf:"bytes,2,opt,name=errorMessage,proto3" json:"errorMessage,omitempty"` unknownFields protoimpl.UnknownFields - - ErrorCode int32 `protobuf:"varint,1,opt,name=errorCode,proto3" json:"errorCode,omitempty"` - ErrorMessage string `protobuf:"bytes,2,opt,name=errorMessage,proto3" json:"errorMessage,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SendResponse) Reset() { *x = SendResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_service_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SendResponse) String() string { @@ -428,7 +414,7 @@ func (*SendResponse) ProtoMessage() {} func (x *SendResponse) ProtoReflect() protoreflect.Message { mi := &file_service_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -459,18 +445,16 @@ func (x *SendResponse) GetErrorMessage() string { // Chainspec is a placeholder to allow specification of a particular chain fork. type ChainSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ChainSpec) Reset() { *x = ChainSpec{} - if protoimpl.UnsafeEnabled { - mi := &file_service_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ChainSpec) String() string { @@ -481,7 +465,7 @@ func (*ChainSpec) ProtoMessage() {} func (x *ChainSpec) ProtoReflect() protoreflect.Message { mi := &file_service_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -498,18 +482,16 @@ func (*ChainSpec) Descriptor() ([]byte, []int) { // Empty is for gRPCs that take no arguments, currently only GetLightdInfo. type Empty struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Empty) Reset() { *x = Empty{} - if protoimpl.UnsafeEnabled { - mi := &file_service_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Empty) String() string { @@ -520,7 +502,7 @@ func (*Empty) ProtoMessage() {} func (x *Empty) ProtoReflect() protoreflect.Message { mi := &file_service_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -538,37 +520,34 @@ func (*Empty) Descriptor() ([]byte, []int) { // LightdInfo returns various information about this lightwalletd instance // and the state of the blockchain. type LightdInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` - Vendor string `protobuf:"bytes,2,opt,name=vendor,proto3" json:"vendor,omitempty"` - TaddrSupport bool `protobuf:"varint,3,opt,name=taddrSupport,proto3" json:"taddrSupport,omitempty"` // true - ChainName string `protobuf:"bytes,4,opt,name=chainName,proto3" json:"chainName,omitempty"` // either "main" or "test" - SaplingActivationHeight uint64 `protobuf:"varint,5,opt,name=saplingActivationHeight,proto3" json:"saplingActivationHeight,omitempty"` // depends on mainnet or testnet - ConsensusBranchId string `protobuf:"bytes,6,opt,name=consensusBranchId,proto3" json:"consensusBranchId,omitempty"` // protocol identifier, see consensus/upgrades.cpp - BlockHeight uint64 `protobuf:"varint,7,opt,name=blockHeight,proto3" json:"blockHeight,omitempty"` // latest block on the best chain - GitCommit string `protobuf:"bytes,8,opt,name=gitCommit,proto3" json:"gitCommit,omitempty"` - Branch string `protobuf:"bytes,9,opt,name=branch,proto3" json:"branch,omitempty"` - BuildDate string `protobuf:"bytes,10,opt,name=buildDate,proto3" json:"buildDate,omitempty"` - BuildUser string `protobuf:"bytes,11,opt,name=buildUser,proto3" json:"buildUser,omitempty"` - EstimatedHeight uint64 `protobuf:"varint,12,opt,name=estimatedHeight,proto3" json:"estimatedHeight,omitempty"` // less than tip height if zcashd is syncing - ZcashdBuild string `protobuf:"bytes,13,opt,name=zcashdBuild,proto3" json:"zcashdBuild,omitempty"` // example: "v4.1.1-877212414" - ZcashdSubversion string `protobuf:"bytes,14,opt,name=zcashdSubversion,proto3" json:"zcashdSubversion,omitempty"` // example: "/MagicBean:4.1.1/" - DonationAddress string `protobuf:"bytes,15,opt,name=donationAddress,proto3" json:"donationAddress,omitempty"` // Zcash donation UA address - UpgradeName string `protobuf:"bytes,16,opt,name=upgradeName,proto3" json:"upgradeName,omitempty"` // name of next pending network upgrade, empty if none scheduled - UpgradeHeight uint64 `protobuf:"varint,17,opt,name=upgradeHeight,proto3" json:"upgradeHeight,omitempty"` // height of next pending upgrade, zero if none is scheduled - LightwalletProtocolVersion string `protobuf:"bytes,18,opt,name=lightwalletProtocolVersion,proto3" json:"lightwalletProtocolVersion,omitempty"` // version of https://github.com/zcash/lightwallet-protocol served by this server + state protoimpl.MessageState `protogen:"open.v1"` + Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + Vendor string `protobuf:"bytes,2,opt,name=vendor,proto3" json:"vendor,omitempty"` + TaddrSupport bool `protobuf:"varint,3,opt,name=taddrSupport,proto3" json:"taddrSupport,omitempty"` // true + ChainName string `protobuf:"bytes,4,opt,name=chainName,proto3" json:"chainName,omitempty"` // either "main" or "test" + SaplingActivationHeight uint64 `protobuf:"varint,5,opt,name=saplingActivationHeight,proto3" json:"saplingActivationHeight,omitempty"` // depends on mainnet or testnet + ConsensusBranchId string `protobuf:"bytes,6,opt,name=consensusBranchId,proto3" json:"consensusBranchId,omitempty"` // protocol identifier, see consensus/upgrades.cpp + BlockHeight uint64 `protobuf:"varint,7,opt,name=blockHeight,proto3" json:"blockHeight,omitempty"` // latest block on the best chain + GitCommit string `protobuf:"bytes,8,opt,name=gitCommit,proto3" json:"gitCommit,omitempty"` + Branch string `protobuf:"bytes,9,opt,name=branch,proto3" json:"branch,omitempty"` + BuildDate string `protobuf:"bytes,10,opt,name=buildDate,proto3" json:"buildDate,omitempty"` + BuildUser string `protobuf:"bytes,11,opt,name=buildUser,proto3" json:"buildUser,omitempty"` + EstimatedHeight uint64 `protobuf:"varint,12,opt,name=estimatedHeight,proto3" json:"estimatedHeight,omitempty"` // less than tip height if zcashd is syncing + ZcashdBuild string `protobuf:"bytes,13,opt,name=zcashdBuild,proto3" json:"zcashdBuild,omitempty"` // example: "v4.1.1-877212414" + ZcashdSubversion string `protobuf:"bytes,14,opt,name=zcashdSubversion,proto3" json:"zcashdSubversion,omitempty"` // example: "/MagicBean:4.1.1/" + DonationAddress string `protobuf:"bytes,15,opt,name=donationAddress,proto3" json:"donationAddress,omitempty"` // Zcash donation UA address + UpgradeName string `protobuf:"bytes,16,opt,name=upgradeName,proto3" json:"upgradeName,omitempty"` // name of next pending network upgrade, empty if none scheduled + UpgradeHeight uint64 `protobuf:"varint,17,opt,name=upgradeHeight,proto3" json:"upgradeHeight,omitempty"` // height of next pending upgrade, zero if none is scheduled + LightwalletProtocolVersion string `protobuf:"bytes,18,opt,name=lightwalletProtocolVersion,proto3" json:"lightwalletProtocolVersion,omitempty"` // version of https://github.com/zcash/lightwallet-protocol served by this server + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LightdInfo) Reset() { *x = LightdInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_service_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LightdInfo) String() string { @@ -579,7 +558,7 @@ func (*LightdInfo) ProtoMessage() {} func (x *LightdInfo) ProtoReflect() protoreflect.Message { mi := &file_service_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -728,21 +707,18 @@ func (x *LightdInfo) GetLightwalletProtocolVersion() string { // The `poolTypes` field of the `range` argument should be ignored. // Implementations MAY consider it an error if any pool types are specified. type TransparentAddressBlockFilter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // t-address + Range *BlockRange `protobuf:"bytes,2,opt,name=range,proto3" json:"range,omitempty"` // start, end heights only unknownFields protoimpl.UnknownFields - - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // t-address - Range *BlockRange `protobuf:"bytes,2,opt,name=range,proto3" json:"range,omitempty"` // start, end heights only + sizeCache protoimpl.SizeCache } func (x *TransparentAddressBlockFilter) Reset() { *x = TransparentAddressBlockFilter{} - if protoimpl.UnsafeEnabled { - mi := &file_service_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TransparentAddressBlockFilter) String() string { @@ -753,7 +729,7 @@ func (*TransparentAddressBlockFilter) ProtoMessage() {} func (x *TransparentAddressBlockFilter) ProtoReflect() protoreflect.Message { mi := &file_service_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -786,20 +762,17 @@ func (x *TransparentAddressBlockFilter) GetRange() *BlockRange { // can simulate a delay, to create many simultaneous connections. Units // are microseconds. type Duration struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + IntervalUs int64 `protobuf:"varint,1,opt,name=intervalUs,proto3" json:"intervalUs,omitempty"` unknownFields protoimpl.UnknownFields - - IntervalUs int64 `protobuf:"varint,1,opt,name=intervalUs,proto3" json:"intervalUs,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Duration) Reset() { *x = Duration{} - if protoimpl.UnsafeEnabled { - mi := &file_service_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Duration) String() string { @@ -810,7 +783,7 @@ func (*Duration) ProtoMessage() {} func (x *Duration) ProtoReflect() protoreflect.Message { mi := &file_service_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -836,21 +809,18 @@ func (x *Duration) GetIntervalUs() int64 { // are executing upon entry and upon exit (after the delay). // This rpc is used for testing only. type PingResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Entry int64 `protobuf:"varint,1,opt,name=entry,proto3" json:"entry,omitempty"` + Exit int64 `protobuf:"varint,2,opt,name=exit,proto3" json:"exit,omitempty"` unknownFields protoimpl.UnknownFields - - Entry int64 `protobuf:"varint,1,opt,name=entry,proto3" json:"entry,omitempty"` - Exit int64 `protobuf:"varint,2,opt,name=exit,proto3" json:"exit,omitempty"` + sizeCache protoimpl.SizeCache } func (x *PingResponse) Reset() { *x = PingResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_service_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PingResponse) String() string { @@ -861,7 +831,7 @@ func (*PingResponse) ProtoMessage() {} func (x *PingResponse) ProtoReflect() protoreflect.Message { mi := &file_service_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -891,20 +861,17 @@ func (x *PingResponse) GetExit() int64 { } type Address struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` unknownFields protoimpl.UnknownFields - - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Address) Reset() { *x = Address{} - if protoimpl.UnsafeEnabled { - mi := &file_service_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Address) String() string { @@ -915,7 +882,7 @@ func (*Address) ProtoMessage() {} func (x *Address) ProtoReflect() protoreflect.Message { mi := &file_service_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -938,20 +905,17 @@ func (x *Address) GetAddress() string { } type AddressList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Addresses []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"` unknownFields protoimpl.UnknownFields - - Addresses []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"` + sizeCache protoimpl.SizeCache } func (x *AddressList) Reset() { *x = AddressList{} - if protoimpl.UnsafeEnabled { - mi := &file_service_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AddressList) String() string { @@ -962,7 +926,7 @@ func (*AddressList) ProtoMessage() {} func (x *AddressList) ProtoReflect() protoreflect.Message { mi := &file_service_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -985,20 +949,17 @@ func (x *AddressList) GetAddresses() []string { } type Balance struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ValueZat int64 `protobuf:"varint,1,opt,name=valueZat,proto3" json:"valueZat,omitempty"` unknownFields protoimpl.UnknownFields - - ValueZat int64 `protobuf:"varint,1,opt,name=valueZat,proto3" json:"valueZat,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Balance) Reset() { *x = Balance{} - if protoimpl.UnsafeEnabled { - mi := &file_service_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Balance) String() string { @@ -1009,7 +970,7 @@ func (*Balance) ProtoMessage() {} func (x *Balance) ProtoReflect() protoreflect.Message { mi := &file_service_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1033,10 +994,7 @@ func (x *Balance) GetValueZat() int64 { // Request parameters for the `GetMempoolTx` RPC. type GetMempoolTxRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // A list of transaction ID byte string suffixes that should be excluded // from the response. These suffixes may be produced either directly from // the underlying txid bytes, or, if the source values are encoded txid @@ -1048,16 +1006,16 @@ type GetMempoolTxRequest struct { // relevant to the requested pool types. If no pool types are specified, // the server should default to the legacy behavior of returning only data // relevant to the shielded (Sapling and Orchard) pools. - PoolTypes []PoolType `protobuf:"varint,3,rep,packed,name=poolTypes,proto3,enum=cash.z.wallet.sdk.rpc.PoolType" json:"poolTypes,omitempty"` + PoolTypes []PoolType `protobuf:"varint,3,rep,packed,name=poolTypes,proto3,enum=cash.z.wallet.sdk.rpc.PoolType" json:"poolTypes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetMempoolTxRequest) Reset() { *x = GetMempoolTxRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_service_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetMempoolTxRequest) String() string { @@ -1068,7 +1026,7 @@ func (*GetMempoolTxRequest) ProtoMessage() {} func (x *GetMempoolTxRequest) ProtoReflect() protoreflect.Message { mi := &file_service_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1099,25 +1057,22 @@ func (x *GetMempoolTxRequest) GetPoolTypes() []PoolType { // The TreeState is derived from the Zcash z_gettreestate rpc. type TreeState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"` // "main" or "test" + Height uint64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"` // block height + Hash string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"` // block id + Time uint32 `protobuf:"varint,4,opt,name=time,proto3" json:"time,omitempty"` // Unix epoch time when the block was mined + SaplingTree string `protobuf:"bytes,5,opt,name=saplingTree,proto3" json:"saplingTree,omitempty"` // sapling commitment tree state + OrchardTree string `protobuf:"bytes,6,opt,name=orchardTree,proto3" json:"orchardTree,omitempty"` // orchard commitment tree state unknownFields protoimpl.UnknownFields - - Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"` // "main" or "test" - Height uint64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"` // block height - Hash string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"` // block id - Time uint32 `protobuf:"varint,4,opt,name=time,proto3" json:"time,omitempty"` // Unix epoch time when the block was mined - SaplingTree string `protobuf:"bytes,5,opt,name=saplingTree,proto3" json:"saplingTree,omitempty"` // sapling commitment tree state - OrchardTree string `protobuf:"bytes,6,opt,name=orchardTree,proto3" json:"orchardTree,omitempty"` // orchard commitment tree state + sizeCache protoimpl.SizeCache } func (x *TreeState) Reset() { *x = TreeState{} - if protoimpl.UnsafeEnabled { - mi := &file_service_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TreeState) String() string { @@ -1128,7 +1083,7 @@ func (*TreeState) ProtoMessage() {} func (x *TreeState) ProtoReflect() protoreflect.Message { mi := &file_service_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1186,22 +1141,19 @@ func (x *TreeState) GetOrchardTree() string { } type GetSubtreeRootsArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StartIndex uint32 `protobuf:"varint,1,opt,name=startIndex,proto3" json:"startIndex,omitempty"` // Index identifying where to start returning subtree roots - ShieldedProtocol ShieldedProtocol `protobuf:"varint,2,opt,name=shieldedProtocol,proto3,enum=cash.z.wallet.sdk.rpc.ShieldedProtocol" json:"shieldedProtocol,omitempty"` // Shielded protocol to return subtree roots for - MaxEntries uint32 `protobuf:"varint,3,opt,name=maxEntries,proto3" json:"maxEntries,omitempty"` // Maximum number of entries to return, or 0 for all entries. + state protoimpl.MessageState `protogen:"open.v1"` + StartIndex uint32 `protobuf:"varint,1,opt,name=startIndex,proto3" json:"startIndex,omitempty"` // Index identifying where to start returning subtree roots + ShieldedProtocol ShieldedProtocol `protobuf:"varint,2,opt,name=shieldedProtocol,proto3,enum=cash.z.wallet.sdk.rpc.ShieldedProtocol" json:"shieldedProtocol,omitempty"` // Shielded protocol to return subtree roots for + MaxEntries uint32 `protobuf:"varint,3,opt,name=maxEntries,proto3" json:"maxEntries,omitempty"` // Maximum number of entries to return, or 0 for all entries. + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetSubtreeRootsArg) Reset() { *x = GetSubtreeRootsArg{} - if protoimpl.UnsafeEnabled { - mi := &file_service_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetSubtreeRootsArg) String() string { @@ -1212,7 +1164,7 @@ func (*GetSubtreeRootsArg) ProtoMessage() {} func (x *GetSubtreeRootsArg) ProtoReflect() protoreflect.Message { mi := &file_service_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1249,22 +1201,19 @@ func (x *GetSubtreeRootsArg) GetMaxEntries() uint32 { } type SubtreeRoot struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RootHash []byte `protobuf:"bytes,2,opt,name=rootHash,proto3" json:"rootHash,omitempty"` // The 32-byte Merkle root of the subtree. - CompletingBlockHash []byte `protobuf:"bytes,3,opt,name=completingBlockHash,proto3" json:"completingBlockHash,omitempty"` // The hash of the block that completed this subtree. - CompletingBlockHeight uint64 `protobuf:"varint,4,opt,name=completingBlockHeight,proto3" json:"completingBlockHeight,omitempty"` // The height of the block that completed this subtree in the main chain. + state protoimpl.MessageState `protogen:"open.v1"` + RootHash []byte `protobuf:"bytes,2,opt,name=rootHash,proto3" json:"rootHash,omitempty"` // The 32-byte Merkle root of the subtree. + CompletingBlockHash []byte `protobuf:"bytes,3,opt,name=completingBlockHash,proto3" json:"completingBlockHash,omitempty"` // The hash of the block that completed this subtree. + CompletingBlockHeight uint64 `protobuf:"varint,4,opt,name=completingBlockHeight,proto3" json:"completingBlockHeight,omitempty"` // The height of the block that completed this subtree in the main chain. + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SubtreeRoot) Reset() { *x = SubtreeRoot{} - if protoimpl.UnsafeEnabled { - mi := &file_service_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SubtreeRoot) String() string { @@ -1275,7 +1224,7 @@ func (*SubtreeRoot) ProtoMessage() {} func (x *SubtreeRoot) ProtoReflect() protoreflect.Message { mi := &file_service_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1314,22 +1263,19 @@ func (x *SubtreeRoot) GetCompletingBlockHeight() uint64 { // Results are sorted by height, which makes it easy to issue another // request that picks up from where the previous left off. type GetAddressUtxosArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Addresses []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"` + StartHeight uint64 `protobuf:"varint,2,opt,name=startHeight,proto3" json:"startHeight,omitempty"` + MaxEntries uint32 `protobuf:"varint,3,opt,name=maxEntries,proto3" json:"maxEntries,omitempty"` // zero means unlimited unknownFields protoimpl.UnknownFields - - Addresses []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"` - StartHeight uint64 `protobuf:"varint,2,opt,name=startHeight,proto3" json:"startHeight,omitempty"` - MaxEntries uint32 `protobuf:"varint,3,opt,name=maxEntries,proto3" json:"maxEntries,omitempty"` // zero means unlimited + sizeCache protoimpl.SizeCache } func (x *GetAddressUtxosArg) Reset() { *x = GetAddressUtxosArg{} - if protoimpl.UnsafeEnabled { - mi := &file_service_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetAddressUtxosArg) String() string { @@ -1340,7 +1286,7 @@ func (*GetAddressUtxosArg) ProtoMessage() {} func (x *GetAddressUtxosArg) ProtoReflect() protoreflect.Message { mi := &file_service_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1377,25 +1323,22 @@ func (x *GetAddressUtxosArg) GetMaxEntries() uint32 { } type GetAddressUtxosReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Address string `protobuf:"bytes,6,opt,name=address,proto3" json:"address,omitempty"` + Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` + Index int32 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` + Script []byte `protobuf:"bytes,3,opt,name=script,proto3" json:"script,omitempty"` + ValueZat int64 `protobuf:"varint,4,opt,name=valueZat,proto3" json:"valueZat,omitempty"` + Height uint64 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"` unknownFields protoimpl.UnknownFields - - Address string `protobuf:"bytes,6,opt,name=address,proto3" json:"address,omitempty"` - Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` - Index int32 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` - Script []byte `protobuf:"bytes,3,opt,name=script,proto3" json:"script,omitempty"` - ValueZat int64 `protobuf:"varint,4,opt,name=valueZat,proto3" json:"valueZat,omitempty"` - Height uint64 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetAddressUtxosReply) Reset() { *x = GetAddressUtxosReply{} - if protoimpl.UnsafeEnabled { - mi := &file_service_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetAddressUtxosReply) String() string { @@ -1406,7 +1349,7 @@ func (*GetAddressUtxosReply) ProtoMessage() {} func (x *GetAddressUtxosReply) ProtoReflect() protoreflect.Message { mi := &file_service_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1464,20 +1407,17 @@ func (x *GetAddressUtxosReply) GetHeight() uint64 { } type GetAddressUtxosReplyList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + AddressUtxos []*GetAddressUtxosReply `protobuf:"bytes,1,rep,name=addressUtxos,proto3" json:"addressUtxos,omitempty"` unknownFields protoimpl.UnknownFields - - AddressUtxos []*GetAddressUtxosReply `protobuf:"bytes,1,rep,name=addressUtxos,proto3" json:"addressUtxos,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetAddressUtxosReplyList) Reset() { *x = GetAddressUtxosReplyList{} - if protoimpl.UnsafeEnabled { - mi := &file_service_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetAddressUtxosReplyList) String() string { @@ -1488,7 +1428,7 @@ func (*GetAddressUtxosReplyList) ProtoMessage() {} func (x *GetAddressUtxosReplyList) ProtoReflect() protoreflect.Message { mi := &file_service_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1512,321 +1452,148 @@ func (x *GetAddressUtxosReplyList) GetAddressUtxos() []*GetAddressUtxosReply { var File_service_proto protoreflect.FileDescriptor -var file_service_proto_rawDesc = []byte{ - 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x15, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, - 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x1a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x5f, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x35, 0x0a, - 0x07, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, - 0x68, 0x61, 0x73, 0x68, 0x22, 0xb3, 0x01, 0x0a, 0x0a, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x49, 0x44, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x30, 0x0a, 0x03, 0x65, 0x6e, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, - 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x3d, 0x0a, 0x09, 0x70, - 0x6f, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, - 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, - 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x09, 0x70, 0x6f, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0x6a, 0x0a, 0x08, 0x54, 0x78, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x14, 0x0a, 0x05, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x3c, 0x0a, 0x0e, 0x52, 0x61, 0x77, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, - 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x22, 0x50, 0x0a, 0x0c, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, - 0x70, 0x65, 0x63, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xa6, 0x05, 0x0a, - 0x0a, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x12, 0x22, 0x0a, - 0x0c, 0x74, 0x61, 0x64, 0x64, 0x72, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0c, 0x74, 0x61, 0x64, 0x64, 0x72, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, - 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x38, 0x0a, 0x17, 0x73, 0x61, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x17, 0x73, 0x61, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x6f, 0x6e, - 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x49, 0x64, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x42, - 0x72, 0x61, 0x6e, 0x63, 0x68, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x69, 0x74, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x69, - 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, - 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, - 0x1c, 0x0a, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x73, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x73, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x65, - 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x48, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x7a, 0x63, 0x61, 0x73, 0x68, 0x64, 0x42, - 0x75, 0x69, 0x6c, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x7a, 0x63, 0x61, 0x73, - 0x68, 0x64, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x7a, 0x63, 0x61, 0x73, 0x68, - 0x64, 0x53, 0x75, 0x62, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x10, 0x7a, 0x63, 0x61, 0x73, 0x68, 0x64, 0x53, 0x75, 0x62, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x6f, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x6f, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, - 0x0b, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x24, 0x0a, 0x0d, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x48, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x3e, 0x0a, 0x1a, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x77, 0x61, - 0x6c, 0x6c, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x6c, 0x69, 0x67, 0x68, 0x74, - 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x72, 0x0a, 0x1d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x37, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, - 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x2a, 0x0a, 0x08, 0x44, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, - 0x6c, 0x55, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x76, 0x61, 0x6c, 0x55, 0x73, 0x22, 0x38, 0x0a, 0x0c, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x65, - 0x78, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x65, 0x78, 0x69, 0x74, 0x22, - 0x23, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x22, 0x2b, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, - 0x73, 0x22, 0x25, 0x0a, 0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5a, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5a, 0x61, 0x74, 0x22, 0x8e, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, - 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x78, 0x69, 0x64, - 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, - 0x13, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x78, 0x69, 0x64, 0x53, 0x75, 0x66, 0x66, - 0x69, 0x78, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x09, 0x70, 0x6f, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, - 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, - 0x50, 0x6f, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x70, 0x6f, 0x6f, 0x6c, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0xa9, 0x01, 0x0a, 0x09, 0x54, 0x72, - 0x65, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, - 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, - 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x69, 0x6d, - 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x61, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x65, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x61, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x54, - 0x72, 0x65, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x72, 0x63, 0x68, 0x61, 0x72, 0x64, 0x54, 0x72, - 0x65, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x63, 0x68, 0x61, 0x72, - 0x64, 0x54, 0x72, 0x65, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, - 0x74, 0x72, 0x65, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x73, 0x41, 0x72, 0x67, 0x12, 0x1e, 0x0a, 0x0a, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x53, 0x0a, 0x10, - 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, - 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, - 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, - 0x10, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, - 0x73, 0x22, 0x91, 0x01, 0x0a, 0x0b, 0x53, 0x75, 0x62, 0x74, 0x72, 0x65, 0x65, 0x52, 0x6f, 0x6f, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x30, 0x0a, - 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x48, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, - 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, - 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x74, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x41, 0x72, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, - 0x61, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x6d, 0x61, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0xa6, 0x01, 0x0a, 0x14, - 0x47, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x78, - 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5a, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5a, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x22, 0x6b, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x4f, 0x0a, 0x0c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x55, 0x74, 0x78, 0x6f, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, - 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, - 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x52, 0x0c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x55, 0x74, 0x78, 0x6f, - 0x73, 0x2a, 0x4c, 0x0a, 0x08, 0x50, 0x6f, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, - 0x11, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, - 0x49, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x41, 0x52, - 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x41, 0x50, 0x4c, 0x49, 0x4e, 0x47, - 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x52, 0x43, 0x48, 0x41, 0x52, 0x44, 0x10, 0x03, 0x2a, - 0x2c, 0x0a, 0x10, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x73, 0x61, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x10, 0x00, - 0x12, 0x0b, 0x0a, 0x07, 0x6f, 0x72, 0x63, 0x68, 0x61, 0x72, 0x64, 0x10, 0x01, 0x32, 0xa2, 0x0f, - 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x54, 0x78, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x20, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x1a, 0x1e, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, - 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x08, 0x47, 0x65, 0x74, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x1e, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x1a, 0x23, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, - 0x6d, 0x70, 0x61, 0x63, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x12, - 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6c, 0x6c, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x73, 0x12, 0x1e, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x49, 0x44, 0x1a, 0x23, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, - 0x63, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x0d, 0x47, 0x65, 0x74, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x73, - 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, - 0x70, 0x63, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x23, 0x2e, - 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, - 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x22, 0x00, 0x30, 0x01, 0x12, 0x65, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x75, 0x6c, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x73, 0x12, 0x21, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, - 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x23, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, - 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, - 0x70, 0x61, 0x63, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x00, 0x30, 0x01, 0x12, 0x5a, 0x0a, - 0x0e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x1f, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, - 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x78, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, - 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x77, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0f, 0x53, 0x65, 0x6e, - 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x63, - 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, - 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x1a, 0x23, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, - 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x10, 0x47, 0x65, - 0x74, 0x54, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, 0x78, 0x69, 0x64, 0x73, 0x12, 0x34, - 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, - 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, - 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x77, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x00, 0x30, 0x01, 0x12, - 0x7a, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x2e, 0x63, 0x61, 0x73, - 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, - 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x1a, 0x25, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, - 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x77, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x00, 0x30, 0x01, 0x12, 0x5a, 0x0a, 0x12, 0x47, - 0x65, 0x74, 0x54, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x12, 0x22, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, - 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x12, 0x1e, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, - 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x1a, 0x1e, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, - 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x22, 0x00, 0x28, 0x01, 0x12, 0x60, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4d, 0x65, - 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x54, 0x78, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, - 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, - 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, - 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x70, - 0x61, 0x63, 0x74, 0x54, 0x78, 0x22, 0x00, 0x30, 0x01, 0x12, 0x5b, 0x0a, 0x10, 0x47, 0x65, 0x74, - 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1c, 0x2e, - 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, - 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x25, 0x2e, 0x63, 0x61, - 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, - 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x00, 0x30, 0x01, 0x12, 0x52, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x54, 0x72, 0x65, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, - 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x1a, 0x20, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, - 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, - 0x72, 0x65, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x12, 0x47, 0x65, - 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x72, 0x65, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x1c, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, - 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x20, - 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, - 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x65, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x22, 0x00, 0x12, 0x64, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x74, 0x72, 0x65, 0x65, - 0x52, 0x6f, 0x6f, 0x74, 0x73, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, - 0x74, 0x53, 0x75, 0x62, 0x74, 0x72, 0x65, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x73, 0x41, 0x72, 0x67, - 0x1a, 0x22, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, - 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x74, 0x72, 0x65, 0x65, - 0x52, 0x6f, 0x6f, 0x74, 0x22, 0x00, 0x30, 0x01, 0x12, 0x6f, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x12, 0x29, 0x2e, 0x63, 0x61, - 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, - 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x55, 0x74, - 0x78, 0x6f, 0x73, 0x41, 0x72, 0x67, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, - 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, - 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x15, 0x47, 0x65, 0x74, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x41, 0x72, 0x67, 0x1a, 0x2b, 0x2e, - 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, - 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x30, 0x01, 0x12, 0x52, - 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x1c, 0x2e, 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, - 0x73, 0x64, 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x21, 0x2e, - 0x63, 0x61, 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, - 0x6b, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x64, 0x49, 0x6e, 0x66, 0x6f, - 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x2e, 0x63, 0x61, 0x73, - 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x72, - 0x70, 0x63, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x23, 0x2e, 0x63, 0x61, - 0x73, 0x68, 0x2e, 0x7a, 0x2e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, - 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x42, 0x1b, 0x5a, 0x16, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x77, 0x61, 0x6c, 0x6c, 0x65, - 0x74, 0x64, 0x2f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x72, 0x70, 0x63, 0xba, 0x02, 0x00, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_service_proto_rawDesc = "" + + "\n" + + "\rservice.proto\x12\x15cash.z.wallet.sdk.rpc\x1a\x15compact_formats.proto\"5\n" + + "\aBlockID\x12\x16\n" + + "\x06height\x18\x01 \x01(\x04R\x06height\x12\x12\n" + + "\x04hash\x18\x02 \x01(\fR\x04hash\"\xb3\x01\n" + + "\n" + + "BlockRange\x124\n" + + "\x05start\x18\x01 \x01(\v2\x1e.cash.z.wallet.sdk.rpc.BlockIDR\x05start\x120\n" + + "\x03end\x18\x02 \x01(\v2\x1e.cash.z.wallet.sdk.rpc.BlockIDR\x03end\x12=\n" + + "\tpoolTypes\x18\x03 \x03(\x0e2\x1f.cash.z.wallet.sdk.rpc.PoolTypeR\tpoolTypes\"j\n" + + "\bTxFilter\x124\n" + + "\x05block\x18\x01 \x01(\v2\x1e.cash.z.wallet.sdk.rpc.BlockIDR\x05block\x12\x14\n" + + "\x05index\x18\x02 \x01(\x04R\x05index\x12\x12\n" + + "\x04hash\x18\x03 \x01(\fR\x04hash\"<\n" + + "\x0eRawTransaction\x12\x12\n" + + "\x04data\x18\x01 \x01(\fR\x04data\x12\x16\n" + + "\x06height\x18\x02 \x01(\x04R\x06height\"P\n" + + "\fSendResponse\x12\x1c\n" + + "\terrorCode\x18\x01 \x01(\x05R\terrorCode\x12\"\n" + + "\ferrorMessage\x18\x02 \x01(\tR\ferrorMessage\"\v\n" + + "\tChainSpec\"\a\n" + + "\x05Empty\"\xa6\x05\n" + + "\n" + + "LightdInfo\x12\x18\n" + + "\aversion\x18\x01 \x01(\tR\aversion\x12\x16\n" + + "\x06vendor\x18\x02 \x01(\tR\x06vendor\x12\"\n" + + "\ftaddrSupport\x18\x03 \x01(\bR\ftaddrSupport\x12\x1c\n" + + "\tchainName\x18\x04 \x01(\tR\tchainName\x128\n" + + "\x17saplingActivationHeight\x18\x05 \x01(\x04R\x17saplingActivationHeight\x12,\n" + + "\x11consensusBranchId\x18\x06 \x01(\tR\x11consensusBranchId\x12 \n" + + "\vblockHeight\x18\a \x01(\x04R\vblockHeight\x12\x1c\n" + + "\tgitCommit\x18\b \x01(\tR\tgitCommit\x12\x16\n" + + "\x06branch\x18\t \x01(\tR\x06branch\x12\x1c\n" + + "\tbuildDate\x18\n" + + " \x01(\tR\tbuildDate\x12\x1c\n" + + "\tbuildUser\x18\v \x01(\tR\tbuildUser\x12(\n" + + "\x0festimatedHeight\x18\f \x01(\x04R\x0festimatedHeight\x12 \n" + + "\vzcashdBuild\x18\r \x01(\tR\vzcashdBuild\x12*\n" + + "\x10zcashdSubversion\x18\x0e \x01(\tR\x10zcashdSubversion\x12(\n" + + "\x0fdonationAddress\x18\x0f \x01(\tR\x0fdonationAddress\x12 \n" + + "\vupgradeName\x18\x10 \x01(\tR\vupgradeName\x12$\n" + + "\rupgradeHeight\x18\x11 \x01(\x04R\rupgradeHeight\x12>\n" + + "\x1alightwalletProtocolVersion\x18\x12 \x01(\tR\x1alightwalletProtocolVersion\"r\n" + + "\x1dTransparentAddressBlockFilter\x12\x18\n" + + "\aaddress\x18\x01 \x01(\tR\aaddress\x127\n" + + "\x05range\x18\x02 \x01(\v2!.cash.z.wallet.sdk.rpc.BlockRangeR\x05range\"*\n" + + "\bDuration\x12\x1e\n" + + "\n" + + "intervalUs\x18\x01 \x01(\x03R\n" + + "intervalUs\"8\n" + + "\fPingResponse\x12\x14\n" + + "\x05entry\x18\x01 \x01(\x03R\x05entry\x12\x12\n" + + "\x04exit\x18\x02 \x01(\x03R\x04exit\"#\n" + + "\aAddress\x12\x18\n" + + "\aaddress\x18\x01 \x01(\tR\aaddress\"+\n" + + "\vAddressList\x12\x1c\n" + + "\taddresses\x18\x01 \x03(\tR\taddresses\"%\n" + + "\aBalance\x12\x1a\n" + + "\bvalueZat\x18\x01 \x01(\x03R\bvalueZat\"\x8e\x01\n" + + "\x13GetMempoolTxRequest\x122\n" + + "\x15exclude_txid_suffixes\x18\x01 \x03(\fR\x13excludeTxidSuffixes\x12=\n" + + "\tpoolTypes\x18\x03 \x03(\x0e2\x1f.cash.z.wallet.sdk.rpc.PoolTypeR\tpoolTypesJ\x04\b\x02\x10\x03\"\xa9\x01\n" + + "\tTreeState\x12\x18\n" + + "\anetwork\x18\x01 \x01(\tR\anetwork\x12\x16\n" + + "\x06height\x18\x02 \x01(\x04R\x06height\x12\x12\n" + + "\x04hash\x18\x03 \x01(\tR\x04hash\x12\x12\n" + + "\x04time\x18\x04 \x01(\rR\x04time\x12 \n" + + "\vsaplingTree\x18\x05 \x01(\tR\vsaplingTree\x12 \n" + + "\vorchardTree\x18\x06 \x01(\tR\vorchardTree\"\xa9\x01\n" + + "\x12GetSubtreeRootsArg\x12\x1e\n" + + "\n" + + "startIndex\x18\x01 \x01(\rR\n" + + "startIndex\x12S\n" + + "\x10shieldedProtocol\x18\x02 \x01(\x0e2'.cash.z.wallet.sdk.rpc.ShieldedProtocolR\x10shieldedProtocol\x12\x1e\n" + + "\n" + + "maxEntries\x18\x03 \x01(\rR\n" + + "maxEntries\"\x91\x01\n" + + "\vSubtreeRoot\x12\x1a\n" + + "\brootHash\x18\x02 \x01(\fR\brootHash\x120\n" + + "\x13completingBlockHash\x18\x03 \x01(\fR\x13completingBlockHash\x124\n" + + "\x15completingBlockHeight\x18\x04 \x01(\x04R\x15completingBlockHeight\"t\n" + + "\x12GetAddressUtxosArg\x12\x1c\n" + + "\taddresses\x18\x01 \x03(\tR\taddresses\x12 \n" + + "\vstartHeight\x18\x02 \x01(\x04R\vstartHeight\x12\x1e\n" + + "\n" + + "maxEntries\x18\x03 \x01(\rR\n" + + "maxEntries\"\xa6\x01\n" + + "\x14GetAddressUtxosReply\x12\x18\n" + + "\aaddress\x18\x06 \x01(\tR\aaddress\x12\x12\n" + + "\x04txid\x18\x01 \x01(\fR\x04txid\x12\x14\n" + + "\x05index\x18\x02 \x01(\x05R\x05index\x12\x16\n" + + "\x06script\x18\x03 \x01(\fR\x06script\x12\x1a\n" + + "\bvalueZat\x18\x04 \x01(\x03R\bvalueZat\x12\x16\n" + + "\x06height\x18\x05 \x01(\x04R\x06height\"k\n" + + "\x18GetAddressUtxosReplyList\x12O\n" + + "\faddressUtxos\x18\x01 \x03(\v2+.cash.z.wallet.sdk.rpc.GetAddressUtxosReplyR\faddressUtxos*L\n" + + "\bPoolType\x12\x15\n" + + "\x11POOL_TYPE_INVALID\x10\x00\x12\x0f\n" + + "\vTRANSPARENT\x10\x01\x12\v\n" + + "\aSAPLING\x10\x02\x12\v\n" + + "\aORCHARD\x10\x03*,\n" + + "\x10ShieldedProtocol\x12\v\n" + + "\asapling\x10\x00\x12\v\n" + + "\aorchard\x10\x012\xa2\x0f\n" + + "\x11CompactTxStreamer\x12T\n" + + "\x0eGetLatestBlock\x12 .cash.z.wallet.sdk.rpc.ChainSpec\x1a\x1e.cash.z.wallet.sdk.rpc.BlockID\"\x00\x12Q\n" + + "\bGetBlock\x12\x1e.cash.z.wallet.sdk.rpc.BlockID\x1a#.cash.z.wallet.sdk.rpc.CompactBlock\"\x00\x12[\n" + + "\x12GetBlockNullifiers\x12\x1e.cash.z.wallet.sdk.rpc.BlockID\x1a#.cash.z.wallet.sdk.rpc.CompactBlock\"\x00\x12[\n" + + "\rGetBlockRange\x12!.cash.z.wallet.sdk.rpc.BlockRange\x1a#.cash.z.wallet.sdk.rpc.CompactBlock\"\x000\x01\x12e\n" + + "\x17GetBlockRangeNullifiers\x12!.cash.z.wallet.sdk.rpc.BlockRange\x1a#.cash.z.wallet.sdk.rpc.CompactBlock\"\x000\x01\x12Z\n" + + "\x0eGetTransaction\x12\x1f.cash.z.wallet.sdk.rpc.TxFilter\x1a%.cash.z.wallet.sdk.rpc.RawTransaction\"\x00\x12_\n" + + "\x0fSendTransaction\x12%.cash.z.wallet.sdk.rpc.RawTransaction\x1a#.cash.z.wallet.sdk.rpc.SendResponse\"\x00\x12s\n" + + "\x10GetTaddressTxids\x124.cash.z.wallet.sdk.rpc.TransparentAddressBlockFilter\x1a%.cash.z.wallet.sdk.rpc.RawTransaction\"\x000\x01\x12z\n" + + "\x17GetTaddressTransactions\x124.cash.z.wallet.sdk.rpc.TransparentAddressBlockFilter\x1a%.cash.z.wallet.sdk.rpc.RawTransaction\"\x000\x01\x12Z\n" + + "\x12GetTaddressBalance\x12\".cash.z.wallet.sdk.rpc.AddressList\x1a\x1e.cash.z.wallet.sdk.rpc.Balance\"\x00\x12^\n" + + "\x18GetTaddressBalanceStream\x12\x1e.cash.z.wallet.sdk.rpc.Address\x1a\x1e.cash.z.wallet.sdk.rpc.Balance\"\x00(\x01\x12`\n" + + "\fGetMempoolTx\x12*.cash.z.wallet.sdk.rpc.GetMempoolTxRequest\x1a .cash.z.wallet.sdk.rpc.CompactTx\"\x000\x01\x12[\n" + + "\x10GetMempoolStream\x12\x1c.cash.z.wallet.sdk.rpc.Empty\x1a%.cash.z.wallet.sdk.rpc.RawTransaction\"\x000\x01\x12R\n" + + "\fGetTreeState\x12\x1e.cash.z.wallet.sdk.rpc.BlockID\x1a .cash.z.wallet.sdk.rpc.TreeState\"\x00\x12V\n" + + "\x12GetLatestTreeState\x12\x1c.cash.z.wallet.sdk.rpc.Empty\x1a .cash.z.wallet.sdk.rpc.TreeState\"\x00\x12d\n" + + "\x0fGetSubtreeRoots\x12).cash.z.wallet.sdk.rpc.GetSubtreeRootsArg\x1a\".cash.z.wallet.sdk.rpc.SubtreeRoot\"\x000\x01\x12o\n" + + "\x0fGetAddressUtxos\x12).cash.z.wallet.sdk.rpc.GetAddressUtxosArg\x1a/.cash.z.wallet.sdk.rpc.GetAddressUtxosReplyList\"\x00\x12s\n" + + "\x15GetAddressUtxosStream\x12).cash.z.wallet.sdk.rpc.GetAddressUtxosArg\x1a+.cash.z.wallet.sdk.rpc.GetAddressUtxosReply\"\x000\x01\x12R\n" + + "\rGetLightdInfo\x12\x1c.cash.z.wallet.sdk.rpc.Empty\x1a!.cash.z.wallet.sdk.rpc.LightdInfo\"\x00\x12N\n" + + "\x04Ping\x12\x1f.cash.z.wallet.sdk.rpc.Duration\x1a#.cash.z.wallet.sdk.rpc.PingResponse\"\x00B\x1bZ\x16lightwalletd/walletrpc\xba\x02\x00b\x06proto3" var ( file_service_proto_rawDescOnce sync.Once - file_service_proto_rawDescData = file_service_proto_rawDesc + file_service_proto_rawDescData []byte ) func file_service_proto_rawDescGZIP() []byte { file_service_proto_rawDescOnce.Do(func() { - file_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_proto_rawDescData) + file_service_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_service_proto_rawDesc), len(file_service_proto_rawDesc))) }) return file_service_proto_rawDescData } var file_service_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_service_proto_msgTypes = make([]protoimpl.MessageInfo, 21) -var file_service_proto_goTypes = []interface{}{ +var file_service_proto_goTypes = []any{ (PoolType)(0), // 0: cash.z.wallet.sdk.rpc.PoolType (ShieldedProtocol)(0), // 1: cash.z.wallet.sdk.rpc.ShieldedProtocol (*BlockID)(nil), // 2: cash.z.wallet.sdk.rpc.BlockID @@ -1915,265 +1682,11 @@ func file_service_proto_init() { return } file_compact_formats_proto_init() - if !protoimpl.UnsafeEnabled { - file_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlockID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlockRange); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TxFilter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RawTransaction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChainSpec); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Empty); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LightdInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransparentAddressBlockFilter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Duration); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PingResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Address); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddressList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Balance); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMempoolTxRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TreeState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSubtreeRootsArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubtreeRoot); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAddressUtxosArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAddressUtxosReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAddressUtxosReplyList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_service_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_service_proto_rawDesc), len(file_service_proto_rawDesc)), NumEnums: 2, NumMessages: 21, NumExtensions: 0, @@ -2185,7 +1698,6 @@ func file_service_proto_init() { MessageInfos: file_service_proto_msgTypes, }.Build() File_service_proto = out.File - file_service_proto_rawDesc = nil file_service_proto_goTypes = nil file_service_proto_depIdxs = nil } diff --git a/walletrpc/service_grpc.pb.go b/walletrpc/service_grpc.pb.go index c034f816..8e2c881d 100644 --- a/walletrpc/service_grpc.pb.go +++ b/walletrpc/service_grpc.pb.go @@ -4,8 +4,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 -// - protoc v4.25.2 +// - protoc-gen-go-grpc v1.6.0 +// - protoc v6.33.2 // source: service.proto package walletrpc @@ -19,8 +19,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( CompactTxStreamer_GetLatestBlock_FullMethodName = "/cash.z.wallet.sdk.rpc.CompactTxStreamer/GetLatestBlock" @@ -64,13 +64,13 @@ type CompactTxStreamerClient interface { // // If range.start <= range.end, blocks are returned increasing height order; // otherwise blocks are returned in decreasing height order. - GetBlockRange(ctx context.Context, in *BlockRange, opts ...grpc.CallOption) (CompactTxStreamer_GetBlockRangeClient, error) + GetBlockRange(ctx context.Context, in *BlockRange, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CompactBlock], error) // Same as GetBlockRange except the returned CompactBlock values contain // only nullifiers. // // Note: this method is deprecated. Implementations should ignore any // `PoolType::TRANSPARENT` member of the `poolTypes` argument. - GetBlockRangeNullifiers(ctx context.Context, in *BlockRange, opts ...grpc.CallOption) (CompactTxStreamer_GetBlockRangeNullifiersClient, error) + GetBlockRangeNullifiers(ctx context.Context, in *BlockRange, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CompactBlock], error) // Return the requested full (not compact) transaction (as from zcashd) GetTransaction(ctx context.Context, in *TxFilter, opts ...grpc.CallOption) (*RawTransaction, error) // Submit the given transaction to the Zcash network @@ -79,12 +79,12 @@ type CompactTxStreamerClient interface { // // Note: This function is misnamed, it returns complete `RawTransaction` values, not TxIds. // NOTE: this method is deprecated, please use GetTaddressTransactions instead. - GetTaddressTxids(ctx context.Context, in *TransparentAddressBlockFilter, opts ...grpc.CallOption) (CompactTxStreamer_GetTaddressTxidsClient, error) + GetTaddressTxids(ctx context.Context, in *TransparentAddressBlockFilter, opts ...grpc.CallOption) (grpc.ServerStreamingClient[RawTransaction], error) // Return the transactions corresponding to the given t-address within the given block range. // Mempool transactions are not included in the results. - GetTaddressTransactions(ctx context.Context, in *TransparentAddressBlockFilter, opts ...grpc.CallOption) (CompactTxStreamer_GetTaddressTransactionsClient, error) + GetTaddressTransactions(ctx context.Context, in *TransparentAddressBlockFilter, opts ...grpc.CallOption) (grpc.ServerStreamingClient[RawTransaction], error) GetTaddressBalance(ctx context.Context, in *AddressList, opts ...grpc.CallOption) (*Balance, error) - GetTaddressBalanceStream(ctx context.Context, opts ...grpc.CallOption) (CompactTxStreamer_GetTaddressBalanceStreamClient, error) + GetTaddressBalanceStream(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[Address, Balance], error) // Returns a stream of the compact transaction representation for transactions // currently in the mempool. The results of this operation may be a few // seconds out of date. If the `exclude_txid_suffixes` list is empty, @@ -97,10 +97,10 @@ type CompactTxStreamerClient interface { // txid suffix, none of the matching transactions are excluded. Txid // suffixes in the exclude list that don't match any transactions in the // mempool are ignored. - GetMempoolTx(ctx context.Context, in *GetMempoolTxRequest, opts ...grpc.CallOption) (CompactTxStreamer_GetMempoolTxClient, error) + GetMempoolTx(ctx context.Context, in *GetMempoolTxRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CompactTx], error) // Return a stream of current Mempool transactions. This will keep the output stream open while // there are mempool transactions. It will close the returned stream when a new block is mined. - GetMempoolStream(ctx context.Context, in *Empty, opts ...grpc.CallOption) (CompactTxStreamer_GetMempoolStreamClient, error) + GetMempoolStream(ctx context.Context, in *Empty, opts ...grpc.CallOption) (grpc.ServerStreamingClient[RawTransaction], error) // GetTreeState returns the note commitment tree state corresponding to the given block. // See section 3.7 of the Zcash protocol specification. It returns several other useful // values also (even though they can be obtained using GetBlock). @@ -109,9 +109,9 @@ type CompactTxStreamerClient interface { GetLatestTreeState(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*TreeState, error) // Returns a stream of information about roots of subtrees of the note commitment tree // for the specified shielded protocol (Sapling or Orchard). - GetSubtreeRoots(ctx context.Context, in *GetSubtreeRootsArg, opts ...grpc.CallOption) (CompactTxStreamer_GetSubtreeRootsClient, error) + GetSubtreeRoots(ctx context.Context, in *GetSubtreeRootsArg, opts ...grpc.CallOption) (grpc.ServerStreamingClient[SubtreeRoot], error) GetAddressUtxos(ctx context.Context, in *GetAddressUtxosArg, opts ...grpc.CallOption) (*GetAddressUtxosReplyList, error) - GetAddressUtxosStream(ctx context.Context, in *GetAddressUtxosArg, opts ...grpc.CallOption) (CompactTxStreamer_GetAddressUtxosStreamClient, error) + GetAddressUtxosStream(ctx context.Context, in *GetAddressUtxosArg, opts ...grpc.CallOption) (grpc.ServerStreamingClient[GetAddressUtxosReply], error) // Return information about this lightwalletd instance and the blockchain GetLightdInfo(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*LightdInfo, error) // Testing-only, requires lightwalletd --ping-very-insecure (do not enable in production) @@ -127,8 +127,9 @@ func NewCompactTxStreamerClient(cc grpc.ClientConnInterface) CompactTxStreamerCl } func (c *compactTxStreamerClient) GetLatestBlock(ctx context.Context, in *ChainSpec, opts ...grpc.CallOption) (*BlockID, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(BlockID) - err := c.cc.Invoke(ctx, CompactTxStreamer_GetLatestBlock_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, CompactTxStreamer_GetLatestBlock_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -136,8 +137,9 @@ func (c *compactTxStreamerClient) GetLatestBlock(ctx context.Context, in *ChainS } func (c *compactTxStreamerClient) GetBlock(ctx context.Context, in *BlockID, opts ...grpc.CallOption) (*CompactBlock, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(CompactBlock) - err := c.cc.Invoke(ctx, CompactTxStreamer_GetBlock_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, CompactTxStreamer_GetBlock_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -145,20 +147,22 @@ func (c *compactTxStreamerClient) GetBlock(ctx context.Context, in *BlockID, opt } func (c *compactTxStreamerClient) GetBlockNullifiers(ctx context.Context, in *BlockID, opts ...grpc.CallOption) (*CompactBlock, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(CompactBlock) - err := c.cc.Invoke(ctx, CompactTxStreamer_GetBlockNullifiers_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, CompactTxStreamer_GetBlockNullifiers_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *compactTxStreamerClient) GetBlockRange(ctx context.Context, in *BlockRange, opts ...grpc.CallOption) (CompactTxStreamer_GetBlockRangeClient, error) { - stream, err := c.cc.NewStream(ctx, &CompactTxStreamer_ServiceDesc.Streams[0], CompactTxStreamer_GetBlockRange_FullMethodName, opts...) +func (c *compactTxStreamerClient) GetBlockRange(ctx context.Context, in *BlockRange, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CompactBlock], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &CompactTxStreamer_ServiceDesc.Streams[0], CompactTxStreamer_GetBlockRange_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &compactTxStreamerGetBlockRangeClient{stream} + x := &grpc.GenericClientStream[BlockRange, CompactBlock]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -168,29 +172,16 @@ func (c *compactTxStreamerClient) GetBlockRange(ctx context.Context, in *BlockRa return x, nil } -type CompactTxStreamer_GetBlockRangeClient interface { - Recv() (*CompactBlock, error) - grpc.ClientStream -} - -type compactTxStreamerGetBlockRangeClient struct { - grpc.ClientStream -} - -func (x *compactTxStreamerGetBlockRangeClient) Recv() (*CompactBlock, error) { - m := new(CompactBlock) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type CompactTxStreamer_GetBlockRangeClient = grpc.ServerStreamingClient[CompactBlock] -func (c *compactTxStreamerClient) GetBlockRangeNullifiers(ctx context.Context, in *BlockRange, opts ...grpc.CallOption) (CompactTxStreamer_GetBlockRangeNullifiersClient, error) { - stream, err := c.cc.NewStream(ctx, &CompactTxStreamer_ServiceDesc.Streams[1], CompactTxStreamer_GetBlockRangeNullifiers_FullMethodName, opts...) +func (c *compactTxStreamerClient) GetBlockRangeNullifiers(ctx context.Context, in *BlockRange, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CompactBlock], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &CompactTxStreamer_ServiceDesc.Streams[1], CompactTxStreamer_GetBlockRangeNullifiers_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &compactTxStreamerGetBlockRangeNullifiersClient{stream} + x := &grpc.GenericClientStream[BlockRange, CompactBlock]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -200,26 +191,13 @@ func (c *compactTxStreamerClient) GetBlockRangeNullifiers(ctx context.Context, i return x, nil } -type CompactTxStreamer_GetBlockRangeNullifiersClient interface { - Recv() (*CompactBlock, error) - grpc.ClientStream -} - -type compactTxStreamerGetBlockRangeNullifiersClient struct { - grpc.ClientStream -} - -func (x *compactTxStreamerGetBlockRangeNullifiersClient) Recv() (*CompactBlock, error) { - m := new(CompactBlock) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type CompactTxStreamer_GetBlockRangeNullifiersClient = grpc.ServerStreamingClient[CompactBlock] func (c *compactTxStreamerClient) GetTransaction(ctx context.Context, in *TxFilter, opts ...grpc.CallOption) (*RawTransaction, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(RawTransaction) - err := c.cc.Invoke(ctx, CompactTxStreamer_GetTransaction_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, CompactTxStreamer_GetTransaction_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -227,20 +205,22 @@ func (c *compactTxStreamerClient) GetTransaction(ctx context.Context, in *TxFilt } func (c *compactTxStreamerClient) SendTransaction(ctx context.Context, in *RawTransaction, opts ...grpc.CallOption) (*SendResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SendResponse) - err := c.cc.Invoke(ctx, CompactTxStreamer_SendTransaction_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, CompactTxStreamer_SendTransaction_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *compactTxStreamerClient) GetTaddressTxids(ctx context.Context, in *TransparentAddressBlockFilter, opts ...grpc.CallOption) (CompactTxStreamer_GetTaddressTxidsClient, error) { - stream, err := c.cc.NewStream(ctx, &CompactTxStreamer_ServiceDesc.Streams[2], CompactTxStreamer_GetTaddressTxids_FullMethodName, opts...) +func (c *compactTxStreamerClient) GetTaddressTxids(ctx context.Context, in *TransparentAddressBlockFilter, opts ...grpc.CallOption) (grpc.ServerStreamingClient[RawTransaction], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &CompactTxStreamer_ServiceDesc.Streams[2], CompactTxStreamer_GetTaddressTxids_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &compactTxStreamerGetTaddressTxidsClient{stream} + x := &grpc.GenericClientStream[TransparentAddressBlockFilter, RawTransaction]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -250,29 +230,16 @@ func (c *compactTxStreamerClient) GetTaddressTxids(ctx context.Context, in *Tran return x, nil } -type CompactTxStreamer_GetTaddressTxidsClient interface { - Recv() (*RawTransaction, error) - grpc.ClientStream -} - -type compactTxStreamerGetTaddressTxidsClient struct { - grpc.ClientStream -} - -func (x *compactTxStreamerGetTaddressTxidsClient) Recv() (*RawTransaction, error) { - m := new(RawTransaction) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type CompactTxStreamer_GetTaddressTxidsClient = grpc.ServerStreamingClient[RawTransaction] -func (c *compactTxStreamerClient) GetTaddressTransactions(ctx context.Context, in *TransparentAddressBlockFilter, opts ...grpc.CallOption) (CompactTxStreamer_GetTaddressTransactionsClient, error) { - stream, err := c.cc.NewStream(ctx, &CompactTxStreamer_ServiceDesc.Streams[3], CompactTxStreamer_GetTaddressTransactions_FullMethodName, opts...) +func (c *compactTxStreamerClient) GetTaddressTransactions(ctx context.Context, in *TransparentAddressBlockFilter, opts ...grpc.CallOption) (grpc.ServerStreamingClient[RawTransaction], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &CompactTxStreamer_ServiceDesc.Streams[3], CompactTxStreamer_GetTaddressTransactions_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &compactTxStreamerGetTaddressTransactionsClient{stream} + x := &grpc.GenericClientStream[TransparentAddressBlockFilter, RawTransaction]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -282,72 +249,39 @@ func (c *compactTxStreamerClient) GetTaddressTransactions(ctx context.Context, i return x, nil } -type CompactTxStreamer_GetTaddressTransactionsClient interface { - Recv() (*RawTransaction, error) - grpc.ClientStream -} - -type compactTxStreamerGetTaddressTransactionsClient struct { - grpc.ClientStream -} - -func (x *compactTxStreamerGetTaddressTransactionsClient) Recv() (*RawTransaction, error) { - m := new(RawTransaction) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type CompactTxStreamer_GetTaddressTransactionsClient = grpc.ServerStreamingClient[RawTransaction] func (c *compactTxStreamerClient) GetTaddressBalance(ctx context.Context, in *AddressList, opts ...grpc.CallOption) (*Balance, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Balance) - err := c.cc.Invoke(ctx, CompactTxStreamer_GetTaddressBalance_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, CompactTxStreamer_GetTaddressBalance_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *compactTxStreamerClient) GetTaddressBalanceStream(ctx context.Context, opts ...grpc.CallOption) (CompactTxStreamer_GetTaddressBalanceStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &CompactTxStreamer_ServiceDesc.Streams[4], CompactTxStreamer_GetTaddressBalanceStream_FullMethodName, opts...) +func (c *compactTxStreamerClient) GetTaddressBalanceStream(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[Address, Balance], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &CompactTxStreamer_ServiceDesc.Streams[4], CompactTxStreamer_GetTaddressBalanceStream_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &compactTxStreamerGetTaddressBalanceStreamClient{stream} + x := &grpc.GenericClientStream[Address, Balance]{ClientStream: stream} return x, nil } -type CompactTxStreamer_GetTaddressBalanceStreamClient interface { - Send(*Address) error - CloseAndRecv() (*Balance, error) - grpc.ClientStream -} - -type compactTxStreamerGetTaddressBalanceStreamClient struct { - grpc.ClientStream -} - -func (x *compactTxStreamerGetTaddressBalanceStreamClient) Send(m *Address) error { - return x.ClientStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type CompactTxStreamer_GetTaddressBalanceStreamClient = grpc.ClientStreamingClient[Address, Balance] -func (x *compactTxStreamerGetTaddressBalanceStreamClient) CloseAndRecv() (*Balance, error) { - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - m := new(Balance) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *compactTxStreamerClient) GetMempoolTx(ctx context.Context, in *GetMempoolTxRequest, opts ...grpc.CallOption) (CompactTxStreamer_GetMempoolTxClient, error) { - stream, err := c.cc.NewStream(ctx, &CompactTxStreamer_ServiceDesc.Streams[5], CompactTxStreamer_GetMempoolTx_FullMethodName, opts...) +func (c *compactTxStreamerClient) GetMempoolTx(ctx context.Context, in *GetMempoolTxRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CompactTx], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &CompactTxStreamer_ServiceDesc.Streams[5], CompactTxStreamer_GetMempoolTx_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &compactTxStreamerGetMempoolTxClient{stream} + x := &grpc.GenericClientStream[GetMempoolTxRequest, CompactTx]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -357,29 +291,16 @@ func (c *compactTxStreamerClient) GetMempoolTx(ctx context.Context, in *GetMempo return x, nil } -type CompactTxStreamer_GetMempoolTxClient interface { - Recv() (*CompactTx, error) - grpc.ClientStream -} - -type compactTxStreamerGetMempoolTxClient struct { - grpc.ClientStream -} - -func (x *compactTxStreamerGetMempoolTxClient) Recv() (*CompactTx, error) { - m := new(CompactTx) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type CompactTxStreamer_GetMempoolTxClient = grpc.ServerStreamingClient[CompactTx] -func (c *compactTxStreamerClient) GetMempoolStream(ctx context.Context, in *Empty, opts ...grpc.CallOption) (CompactTxStreamer_GetMempoolStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &CompactTxStreamer_ServiceDesc.Streams[6], CompactTxStreamer_GetMempoolStream_FullMethodName, opts...) +func (c *compactTxStreamerClient) GetMempoolStream(ctx context.Context, in *Empty, opts ...grpc.CallOption) (grpc.ServerStreamingClient[RawTransaction], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &CompactTxStreamer_ServiceDesc.Streams[6], CompactTxStreamer_GetMempoolStream_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &compactTxStreamerGetMempoolStreamClient{stream} + x := &grpc.GenericClientStream[Empty, RawTransaction]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -389,26 +310,13 @@ func (c *compactTxStreamerClient) GetMempoolStream(ctx context.Context, in *Empt return x, nil } -type CompactTxStreamer_GetMempoolStreamClient interface { - Recv() (*RawTransaction, error) - grpc.ClientStream -} - -type compactTxStreamerGetMempoolStreamClient struct { - grpc.ClientStream -} - -func (x *compactTxStreamerGetMempoolStreamClient) Recv() (*RawTransaction, error) { - m := new(RawTransaction) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type CompactTxStreamer_GetMempoolStreamClient = grpc.ServerStreamingClient[RawTransaction] func (c *compactTxStreamerClient) GetTreeState(ctx context.Context, in *BlockID, opts ...grpc.CallOption) (*TreeState, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(TreeState) - err := c.cc.Invoke(ctx, CompactTxStreamer_GetTreeState_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, CompactTxStreamer_GetTreeState_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -416,20 +324,22 @@ func (c *compactTxStreamerClient) GetTreeState(ctx context.Context, in *BlockID, } func (c *compactTxStreamerClient) GetLatestTreeState(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*TreeState, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(TreeState) - err := c.cc.Invoke(ctx, CompactTxStreamer_GetLatestTreeState_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, CompactTxStreamer_GetLatestTreeState_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *compactTxStreamerClient) GetSubtreeRoots(ctx context.Context, in *GetSubtreeRootsArg, opts ...grpc.CallOption) (CompactTxStreamer_GetSubtreeRootsClient, error) { - stream, err := c.cc.NewStream(ctx, &CompactTxStreamer_ServiceDesc.Streams[7], CompactTxStreamer_GetSubtreeRoots_FullMethodName, opts...) +func (c *compactTxStreamerClient) GetSubtreeRoots(ctx context.Context, in *GetSubtreeRootsArg, opts ...grpc.CallOption) (grpc.ServerStreamingClient[SubtreeRoot], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &CompactTxStreamer_ServiceDesc.Streams[7], CompactTxStreamer_GetSubtreeRoots_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &compactTxStreamerGetSubtreeRootsClient{stream} + x := &grpc.GenericClientStream[GetSubtreeRootsArg, SubtreeRoot]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -439,38 +349,26 @@ func (c *compactTxStreamerClient) GetSubtreeRoots(ctx context.Context, in *GetSu return x, nil } -type CompactTxStreamer_GetSubtreeRootsClient interface { - Recv() (*SubtreeRoot, error) - grpc.ClientStream -} - -type compactTxStreamerGetSubtreeRootsClient struct { - grpc.ClientStream -} - -func (x *compactTxStreamerGetSubtreeRootsClient) Recv() (*SubtreeRoot, error) { - m := new(SubtreeRoot) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type CompactTxStreamer_GetSubtreeRootsClient = grpc.ServerStreamingClient[SubtreeRoot] func (c *compactTxStreamerClient) GetAddressUtxos(ctx context.Context, in *GetAddressUtxosArg, opts ...grpc.CallOption) (*GetAddressUtxosReplyList, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetAddressUtxosReplyList) - err := c.cc.Invoke(ctx, CompactTxStreamer_GetAddressUtxos_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, CompactTxStreamer_GetAddressUtxos_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *compactTxStreamerClient) GetAddressUtxosStream(ctx context.Context, in *GetAddressUtxosArg, opts ...grpc.CallOption) (CompactTxStreamer_GetAddressUtxosStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &CompactTxStreamer_ServiceDesc.Streams[8], CompactTxStreamer_GetAddressUtxosStream_FullMethodName, opts...) +func (c *compactTxStreamerClient) GetAddressUtxosStream(ctx context.Context, in *GetAddressUtxosArg, opts ...grpc.CallOption) (grpc.ServerStreamingClient[GetAddressUtxosReply], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &CompactTxStreamer_ServiceDesc.Streams[8], CompactTxStreamer_GetAddressUtxosStream_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &compactTxStreamerGetAddressUtxosStreamClient{stream} + x := &grpc.GenericClientStream[GetAddressUtxosArg, GetAddressUtxosReply]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -480,26 +378,13 @@ func (c *compactTxStreamerClient) GetAddressUtxosStream(ctx context.Context, in return x, nil } -type CompactTxStreamer_GetAddressUtxosStreamClient interface { - Recv() (*GetAddressUtxosReply, error) - grpc.ClientStream -} - -type compactTxStreamerGetAddressUtxosStreamClient struct { - grpc.ClientStream -} - -func (x *compactTxStreamerGetAddressUtxosStreamClient) Recv() (*GetAddressUtxosReply, error) { - m := new(GetAddressUtxosReply) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type CompactTxStreamer_GetAddressUtxosStreamClient = grpc.ServerStreamingClient[GetAddressUtxosReply] func (c *compactTxStreamerClient) GetLightdInfo(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*LightdInfo, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(LightdInfo) - err := c.cc.Invoke(ctx, CompactTxStreamer_GetLightdInfo_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, CompactTxStreamer_GetLightdInfo_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -507,8 +392,9 @@ func (c *compactTxStreamerClient) GetLightdInfo(ctx context.Context, in *Empty, } func (c *compactTxStreamerClient) Ping(ctx context.Context, in *Duration, opts ...grpc.CallOption) (*PingResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(PingResponse) - err := c.cc.Invoke(ctx, CompactTxStreamer_Ping_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, CompactTxStreamer_Ping_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -517,7 +403,7 @@ func (c *compactTxStreamerClient) Ping(ctx context.Context, in *Duration, opts . // CompactTxStreamerServer is the server API for CompactTxStreamer service. // All implementations must embed UnimplementedCompactTxStreamerServer -// for forward compatibility +// for forward compatibility. type CompactTxStreamerServer interface { // Return the BlockID of the block at the tip of the best chain GetLatestBlock(context.Context, *ChainSpec) (*BlockID, error) @@ -534,13 +420,13 @@ type CompactTxStreamerServer interface { // // If range.start <= range.end, blocks are returned increasing height order; // otherwise blocks are returned in decreasing height order. - GetBlockRange(*BlockRange, CompactTxStreamer_GetBlockRangeServer) error + GetBlockRange(*BlockRange, grpc.ServerStreamingServer[CompactBlock]) error // Same as GetBlockRange except the returned CompactBlock values contain // only nullifiers. // // Note: this method is deprecated. Implementations should ignore any // `PoolType::TRANSPARENT` member of the `poolTypes` argument. - GetBlockRangeNullifiers(*BlockRange, CompactTxStreamer_GetBlockRangeNullifiersServer) error + GetBlockRangeNullifiers(*BlockRange, grpc.ServerStreamingServer[CompactBlock]) error // Return the requested full (not compact) transaction (as from zcashd) GetTransaction(context.Context, *TxFilter) (*RawTransaction, error) // Submit the given transaction to the Zcash network @@ -549,12 +435,12 @@ type CompactTxStreamerServer interface { // // Note: This function is misnamed, it returns complete `RawTransaction` values, not TxIds. // NOTE: this method is deprecated, please use GetTaddressTransactions instead. - GetTaddressTxids(*TransparentAddressBlockFilter, CompactTxStreamer_GetTaddressTxidsServer) error + GetTaddressTxids(*TransparentAddressBlockFilter, grpc.ServerStreamingServer[RawTransaction]) error // Return the transactions corresponding to the given t-address within the given block range. // Mempool transactions are not included in the results. - GetTaddressTransactions(*TransparentAddressBlockFilter, CompactTxStreamer_GetTaddressTransactionsServer) error + GetTaddressTransactions(*TransparentAddressBlockFilter, grpc.ServerStreamingServer[RawTransaction]) error GetTaddressBalance(context.Context, *AddressList) (*Balance, error) - GetTaddressBalanceStream(CompactTxStreamer_GetTaddressBalanceStreamServer) error + GetTaddressBalanceStream(grpc.ClientStreamingServer[Address, Balance]) error // Returns a stream of the compact transaction representation for transactions // currently in the mempool. The results of this operation may be a few // seconds out of date. If the `exclude_txid_suffixes` list is empty, @@ -567,10 +453,10 @@ type CompactTxStreamerServer interface { // txid suffix, none of the matching transactions are excluded. Txid // suffixes in the exclude list that don't match any transactions in the // mempool are ignored. - GetMempoolTx(*GetMempoolTxRequest, CompactTxStreamer_GetMempoolTxServer) error + GetMempoolTx(*GetMempoolTxRequest, grpc.ServerStreamingServer[CompactTx]) error // Return a stream of current Mempool transactions. This will keep the output stream open while // there are mempool transactions. It will close the returned stream when a new block is mined. - GetMempoolStream(*Empty, CompactTxStreamer_GetMempoolStreamServer) error + GetMempoolStream(*Empty, grpc.ServerStreamingServer[RawTransaction]) error // GetTreeState returns the note commitment tree state corresponding to the given block. // See section 3.7 of the Zcash protocol specification. It returns several other useful // values also (even though they can be obtained using GetBlock). @@ -579,9 +465,9 @@ type CompactTxStreamerServer interface { GetLatestTreeState(context.Context, *Empty) (*TreeState, error) // Returns a stream of information about roots of subtrees of the note commitment tree // for the specified shielded protocol (Sapling or Orchard). - GetSubtreeRoots(*GetSubtreeRootsArg, CompactTxStreamer_GetSubtreeRootsServer) error + GetSubtreeRoots(*GetSubtreeRootsArg, grpc.ServerStreamingServer[SubtreeRoot]) error GetAddressUtxos(context.Context, *GetAddressUtxosArg) (*GetAddressUtxosReplyList, error) - GetAddressUtxosStream(*GetAddressUtxosArg, CompactTxStreamer_GetAddressUtxosStreamServer) error + GetAddressUtxosStream(*GetAddressUtxosArg, grpc.ServerStreamingServer[GetAddressUtxosReply]) error // Return information about this lightwalletd instance and the blockchain GetLightdInfo(context.Context, *Empty) (*LightdInfo, error) // Testing-only, requires lightwalletd --ping-very-insecure (do not enable in production) @@ -589,71 +475,75 @@ type CompactTxStreamerServer interface { mustEmbedUnimplementedCompactTxStreamerServer() } -// UnimplementedCompactTxStreamerServer must be embedded to have forward compatible implementations. -type UnimplementedCompactTxStreamerServer struct { -} +// UnimplementedCompactTxStreamerServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedCompactTxStreamerServer struct{} func (UnimplementedCompactTxStreamerServer) GetLatestBlock(context.Context, *ChainSpec) (*BlockID, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetLatestBlock not implemented") + return nil, status.Error(codes.Unimplemented, "method GetLatestBlock not implemented") } func (UnimplementedCompactTxStreamerServer) GetBlock(context.Context, *BlockID) (*CompactBlock, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetBlock not implemented") + return nil, status.Error(codes.Unimplemented, "method GetBlock not implemented") } func (UnimplementedCompactTxStreamerServer) GetBlockNullifiers(context.Context, *BlockID) (*CompactBlock, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetBlockNullifiers not implemented") + return nil, status.Error(codes.Unimplemented, "method GetBlockNullifiers not implemented") } -func (UnimplementedCompactTxStreamerServer) GetBlockRange(*BlockRange, CompactTxStreamer_GetBlockRangeServer) error { - return status.Errorf(codes.Unimplemented, "method GetBlockRange not implemented") +func (UnimplementedCompactTxStreamerServer) GetBlockRange(*BlockRange, grpc.ServerStreamingServer[CompactBlock]) error { + return status.Error(codes.Unimplemented, "method GetBlockRange not implemented") } -func (UnimplementedCompactTxStreamerServer) GetBlockRangeNullifiers(*BlockRange, CompactTxStreamer_GetBlockRangeNullifiersServer) error { - return status.Errorf(codes.Unimplemented, "method GetBlockRangeNullifiers not implemented") +func (UnimplementedCompactTxStreamerServer) GetBlockRangeNullifiers(*BlockRange, grpc.ServerStreamingServer[CompactBlock]) error { + return status.Error(codes.Unimplemented, "method GetBlockRangeNullifiers not implemented") } func (UnimplementedCompactTxStreamerServer) GetTransaction(context.Context, *TxFilter) (*RawTransaction, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetTransaction not implemented") + return nil, status.Error(codes.Unimplemented, "method GetTransaction not implemented") } func (UnimplementedCompactTxStreamerServer) SendTransaction(context.Context, *RawTransaction) (*SendResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SendTransaction not implemented") + return nil, status.Error(codes.Unimplemented, "method SendTransaction not implemented") } -func (UnimplementedCompactTxStreamerServer) GetTaddressTxids(*TransparentAddressBlockFilter, CompactTxStreamer_GetTaddressTxidsServer) error { - return status.Errorf(codes.Unimplemented, "method GetTaddressTxids not implemented") +func (UnimplementedCompactTxStreamerServer) GetTaddressTxids(*TransparentAddressBlockFilter, grpc.ServerStreamingServer[RawTransaction]) error { + return status.Error(codes.Unimplemented, "method GetTaddressTxids not implemented") } -func (UnimplementedCompactTxStreamerServer) GetTaddressTransactions(*TransparentAddressBlockFilter, CompactTxStreamer_GetTaddressTransactionsServer) error { - return status.Errorf(codes.Unimplemented, "method GetTaddressTransactions not implemented") +func (UnimplementedCompactTxStreamerServer) GetTaddressTransactions(*TransparentAddressBlockFilter, grpc.ServerStreamingServer[RawTransaction]) error { + return status.Error(codes.Unimplemented, "method GetTaddressTransactions not implemented") } func (UnimplementedCompactTxStreamerServer) GetTaddressBalance(context.Context, *AddressList) (*Balance, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetTaddressBalance not implemented") + return nil, status.Error(codes.Unimplemented, "method GetTaddressBalance not implemented") } -func (UnimplementedCompactTxStreamerServer) GetTaddressBalanceStream(CompactTxStreamer_GetTaddressBalanceStreamServer) error { - return status.Errorf(codes.Unimplemented, "method GetTaddressBalanceStream not implemented") +func (UnimplementedCompactTxStreamerServer) GetTaddressBalanceStream(grpc.ClientStreamingServer[Address, Balance]) error { + return status.Error(codes.Unimplemented, "method GetTaddressBalanceStream not implemented") } -func (UnimplementedCompactTxStreamerServer) GetMempoolTx(*GetMempoolTxRequest, CompactTxStreamer_GetMempoolTxServer) error { - return status.Errorf(codes.Unimplemented, "method GetMempoolTx not implemented") +func (UnimplementedCompactTxStreamerServer) GetMempoolTx(*GetMempoolTxRequest, grpc.ServerStreamingServer[CompactTx]) error { + return status.Error(codes.Unimplemented, "method GetMempoolTx not implemented") } -func (UnimplementedCompactTxStreamerServer) GetMempoolStream(*Empty, CompactTxStreamer_GetMempoolStreamServer) error { - return status.Errorf(codes.Unimplemented, "method GetMempoolStream not implemented") +func (UnimplementedCompactTxStreamerServer) GetMempoolStream(*Empty, grpc.ServerStreamingServer[RawTransaction]) error { + return status.Error(codes.Unimplemented, "method GetMempoolStream not implemented") } func (UnimplementedCompactTxStreamerServer) GetTreeState(context.Context, *BlockID) (*TreeState, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetTreeState not implemented") + return nil, status.Error(codes.Unimplemented, "method GetTreeState not implemented") } func (UnimplementedCompactTxStreamerServer) GetLatestTreeState(context.Context, *Empty) (*TreeState, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetLatestTreeState not implemented") + return nil, status.Error(codes.Unimplemented, "method GetLatestTreeState not implemented") } -func (UnimplementedCompactTxStreamerServer) GetSubtreeRoots(*GetSubtreeRootsArg, CompactTxStreamer_GetSubtreeRootsServer) error { - return status.Errorf(codes.Unimplemented, "method GetSubtreeRoots not implemented") +func (UnimplementedCompactTxStreamerServer) GetSubtreeRoots(*GetSubtreeRootsArg, grpc.ServerStreamingServer[SubtreeRoot]) error { + return status.Error(codes.Unimplemented, "method GetSubtreeRoots not implemented") } func (UnimplementedCompactTxStreamerServer) GetAddressUtxos(context.Context, *GetAddressUtxosArg) (*GetAddressUtxosReplyList, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetAddressUtxos not implemented") + return nil, status.Error(codes.Unimplemented, "method GetAddressUtxos not implemented") } -func (UnimplementedCompactTxStreamerServer) GetAddressUtxosStream(*GetAddressUtxosArg, CompactTxStreamer_GetAddressUtxosStreamServer) error { - return status.Errorf(codes.Unimplemented, "method GetAddressUtxosStream not implemented") +func (UnimplementedCompactTxStreamerServer) GetAddressUtxosStream(*GetAddressUtxosArg, grpc.ServerStreamingServer[GetAddressUtxosReply]) error { + return status.Error(codes.Unimplemented, "method GetAddressUtxosStream not implemented") } func (UnimplementedCompactTxStreamerServer) GetLightdInfo(context.Context, *Empty) (*LightdInfo, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetLightdInfo not implemented") + return nil, status.Error(codes.Unimplemented, "method GetLightdInfo not implemented") } func (UnimplementedCompactTxStreamerServer) Ping(context.Context, *Duration) (*PingResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Ping not implemented") + return nil, status.Error(codes.Unimplemented, "method Ping not implemented") } func (UnimplementedCompactTxStreamerServer) mustEmbedUnimplementedCompactTxStreamerServer() {} +func (UnimplementedCompactTxStreamerServer) testEmbeddedByValue() {} // UnsafeCompactTxStreamerServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to CompactTxStreamerServer will @@ -663,6 +553,13 @@ type UnsafeCompactTxStreamerServer interface { } func RegisterCompactTxStreamerServer(s grpc.ServiceRegistrar, srv CompactTxStreamerServer) { + // If the following call panics, it indicates UnimplementedCompactTxStreamerServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&CompactTxStreamer_ServiceDesc, srv) } @@ -725,42 +622,22 @@ func _CompactTxStreamer_GetBlockRange_Handler(srv interface{}, stream grpc.Serve if err := stream.RecvMsg(m); err != nil { return err } - return srv.(CompactTxStreamerServer).GetBlockRange(m, &compactTxStreamerGetBlockRangeServer{stream}) -} - -type CompactTxStreamer_GetBlockRangeServer interface { - Send(*CompactBlock) error - grpc.ServerStream -} - -type compactTxStreamerGetBlockRangeServer struct { - grpc.ServerStream + return srv.(CompactTxStreamerServer).GetBlockRange(m, &grpc.GenericServerStream[BlockRange, CompactBlock]{ServerStream: stream}) } -func (x *compactTxStreamerGetBlockRangeServer) Send(m *CompactBlock) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type CompactTxStreamer_GetBlockRangeServer = grpc.ServerStreamingServer[CompactBlock] func _CompactTxStreamer_GetBlockRangeNullifiers_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(BlockRange) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(CompactTxStreamerServer).GetBlockRangeNullifiers(m, &compactTxStreamerGetBlockRangeNullifiersServer{stream}) -} - -type CompactTxStreamer_GetBlockRangeNullifiersServer interface { - Send(*CompactBlock) error - grpc.ServerStream -} - -type compactTxStreamerGetBlockRangeNullifiersServer struct { - grpc.ServerStream + return srv.(CompactTxStreamerServer).GetBlockRangeNullifiers(m, &grpc.GenericServerStream[BlockRange, CompactBlock]{ServerStream: stream}) } -func (x *compactTxStreamerGetBlockRangeNullifiersServer) Send(m *CompactBlock) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type CompactTxStreamer_GetBlockRangeNullifiersServer = grpc.ServerStreamingServer[CompactBlock] func _CompactTxStreamer_GetTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(TxFilter) @@ -803,42 +680,22 @@ func _CompactTxStreamer_GetTaddressTxids_Handler(srv interface{}, stream grpc.Se if err := stream.RecvMsg(m); err != nil { return err } - return srv.(CompactTxStreamerServer).GetTaddressTxids(m, &compactTxStreamerGetTaddressTxidsServer{stream}) + return srv.(CompactTxStreamerServer).GetTaddressTxids(m, &grpc.GenericServerStream[TransparentAddressBlockFilter, RawTransaction]{ServerStream: stream}) } -type CompactTxStreamer_GetTaddressTxidsServer interface { - Send(*RawTransaction) error - grpc.ServerStream -} - -type compactTxStreamerGetTaddressTxidsServer struct { - grpc.ServerStream -} - -func (x *compactTxStreamerGetTaddressTxidsServer) Send(m *RawTransaction) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type CompactTxStreamer_GetTaddressTxidsServer = grpc.ServerStreamingServer[RawTransaction] func _CompactTxStreamer_GetTaddressTransactions_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(TransparentAddressBlockFilter) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(CompactTxStreamerServer).GetTaddressTransactions(m, &compactTxStreamerGetTaddressTransactionsServer{stream}) -} - -type CompactTxStreamer_GetTaddressTransactionsServer interface { - Send(*RawTransaction) error - grpc.ServerStream -} - -type compactTxStreamerGetTaddressTransactionsServer struct { - grpc.ServerStream + return srv.(CompactTxStreamerServer).GetTaddressTransactions(m, &grpc.GenericServerStream[TransparentAddressBlockFilter, RawTransaction]{ServerStream: stream}) } -func (x *compactTxStreamerGetTaddressTransactionsServer) Send(m *RawTransaction) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type CompactTxStreamer_GetTaddressTransactionsServer = grpc.ServerStreamingServer[RawTransaction] func _CompactTxStreamer_GetTaddressBalance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(AddressList) @@ -859,72 +716,33 @@ func _CompactTxStreamer_GetTaddressBalance_Handler(srv interface{}, ctx context. } func _CompactTxStreamer_GetTaddressBalanceStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(CompactTxStreamerServer).GetTaddressBalanceStream(&compactTxStreamerGetTaddressBalanceStreamServer{stream}) -} - -type CompactTxStreamer_GetTaddressBalanceStreamServer interface { - SendAndClose(*Balance) error - Recv() (*Address, error) - grpc.ServerStream -} - -type compactTxStreamerGetTaddressBalanceStreamServer struct { - grpc.ServerStream + return srv.(CompactTxStreamerServer).GetTaddressBalanceStream(&grpc.GenericServerStream[Address, Balance]{ServerStream: stream}) } -func (x *compactTxStreamerGetTaddressBalanceStreamServer) SendAndClose(m *Balance) error { - return x.ServerStream.SendMsg(m) -} - -func (x *compactTxStreamerGetTaddressBalanceStreamServer) Recv() (*Address, error) { - m := new(Address) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type CompactTxStreamer_GetTaddressBalanceStreamServer = grpc.ClientStreamingServer[Address, Balance] func _CompactTxStreamer_GetMempoolTx_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(GetMempoolTxRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(CompactTxStreamerServer).GetMempoolTx(m, &compactTxStreamerGetMempoolTxServer{stream}) -} - -type CompactTxStreamer_GetMempoolTxServer interface { - Send(*CompactTx) error - grpc.ServerStream + return srv.(CompactTxStreamerServer).GetMempoolTx(m, &grpc.GenericServerStream[GetMempoolTxRequest, CompactTx]{ServerStream: stream}) } -type compactTxStreamerGetMempoolTxServer struct { - grpc.ServerStream -} - -func (x *compactTxStreamerGetMempoolTxServer) Send(m *CompactTx) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type CompactTxStreamer_GetMempoolTxServer = grpc.ServerStreamingServer[CompactTx] func _CompactTxStreamer_GetMempoolStream_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(Empty) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(CompactTxStreamerServer).GetMempoolStream(m, &compactTxStreamerGetMempoolStreamServer{stream}) + return srv.(CompactTxStreamerServer).GetMempoolStream(m, &grpc.GenericServerStream[Empty, RawTransaction]{ServerStream: stream}) } -type CompactTxStreamer_GetMempoolStreamServer interface { - Send(*RawTransaction) error - grpc.ServerStream -} - -type compactTxStreamerGetMempoolStreamServer struct { - grpc.ServerStream -} - -func (x *compactTxStreamerGetMempoolStreamServer) Send(m *RawTransaction) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type CompactTxStreamer_GetMempoolStreamServer = grpc.ServerStreamingServer[RawTransaction] func _CompactTxStreamer_GetTreeState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(BlockID) @@ -967,21 +785,11 @@ func _CompactTxStreamer_GetSubtreeRoots_Handler(srv interface{}, stream grpc.Ser if err := stream.RecvMsg(m); err != nil { return err } - return srv.(CompactTxStreamerServer).GetSubtreeRoots(m, &compactTxStreamerGetSubtreeRootsServer{stream}) -} - -type CompactTxStreamer_GetSubtreeRootsServer interface { - Send(*SubtreeRoot) error - grpc.ServerStream + return srv.(CompactTxStreamerServer).GetSubtreeRoots(m, &grpc.GenericServerStream[GetSubtreeRootsArg, SubtreeRoot]{ServerStream: stream}) } -type compactTxStreamerGetSubtreeRootsServer struct { - grpc.ServerStream -} - -func (x *compactTxStreamerGetSubtreeRootsServer) Send(m *SubtreeRoot) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type CompactTxStreamer_GetSubtreeRootsServer = grpc.ServerStreamingServer[SubtreeRoot] func _CompactTxStreamer_GetAddressUtxos_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetAddressUtxosArg) @@ -1006,21 +814,11 @@ func _CompactTxStreamer_GetAddressUtxosStream_Handler(srv interface{}, stream gr if err := stream.RecvMsg(m); err != nil { return err } - return srv.(CompactTxStreamerServer).GetAddressUtxosStream(m, &compactTxStreamerGetAddressUtxosStreamServer{stream}) -} - -type CompactTxStreamer_GetAddressUtxosStreamServer interface { - Send(*GetAddressUtxosReply) error - grpc.ServerStream + return srv.(CompactTxStreamerServer).GetAddressUtxosStream(m, &grpc.GenericServerStream[GetAddressUtxosArg, GetAddressUtxosReply]{ServerStream: stream}) } -type compactTxStreamerGetAddressUtxosStreamServer struct { - grpc.ServerStream -} - -func (x *compactTxStreamerGetAddressUtxosStreamServer) Send(m *GetAddressUtxosReply) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type CompactTxStreamer_GetAddressUtxosStreamServer = grpc.ServerStreamingServer[GetAddressUtxosReply] func _CompactTxStreamer_GetLightdInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(Empty)