fix merge conflicts while rebasing onto file-cache branch
This commit is contained in:
parent
ccb7211712
commit
8974cd1586
14
cmd/root.go
14
cmd/root.go
|
@ -48,6 +48,7 @@ var rootCmd = &cobra.Command{
|
|||
NoTLSVeryInsecure: viper.GetBool("no-tls-very-insecure"),
|
||||
DataDir: viper.GetString("data-dir"),
|
||||
Redownload: viper.GetBool("redownload"),
|
||||
DarkSide: viper.GetBool("darkside-very-insecure"),
|
||||
}
|
||||
|
||||
common.Log.Debugf("Options: %#v\n", opts)
|
||||
|
@ -56,12 +57,14 @@ var rootCmd = &cobra.Command{
|
|||
opts.TLSCertPath,
|
||||
opts.TLSKeyPath,
|
||||
opts.LogFile,
|
||||
opts.ZcashConfPath,
|
||||
}
|
||||
|
||||
if !fileExists(opts.LogFile) {
|
||||
os.OpenFile(opts.LogFile, os.O_RDWR|os.O_CREATE|os.O_EXCL, 0666)
|
||||
}
|
||||
if !opts.DarkSide {
|
||||
filesThatShouldExist = append(filesThatShouldExist, opts.ZcashConfPath)
|
||||
}
|
||||
|
||||
for _, filename := range filesThatShouldExist {
|
||||
if opts.NoTLSVeryInsecure && (filename == opts.TLSCertPath || filename == opts.TLSKeyPath) {
|
||||
continue
|
||||
|
@ -159,6 +162,9 @@ func startServer(opts *common.Options) error {
|
|||
// sending transactions, but in the future it could back a different type
|
||||
// of block streamer.
|
||||
|
||||
if opts.DarkSide {
|
||||
common.RawRequest = common.DarkSideRawRequest
|
||||
} else {
|
||||
rpcClient, err := frontend.NewZRPCFromConf(opts.ZcashConfPath)
|
||||
if err != nil {
|
||||
common.Log.WithFields(logrus.Fields{
|
||||
|
@ -167,6 +173,7 @@ func startServer(opts *common.Options) error {
|
|||
}
|
||||
// Indirect function for test mocking (so unit tests can talk to stub functions).
|
||||
common.RawRequest = rpcClient.RawRequest
|
||||
}
|
||||
|
||||
// Get the sapling activation height from the RPC
|
||||
// (this first RPC also verifies that we can communicate with zcashd)
|
||||
|
@ -249,6 +256,7 @@ func init() {
|
|||
rootCmd.Flags().Bool("no-tls-very-insecure", false, "run without the required TLS certificate, only for debugging, DO NOT use in production")
|
||||
rootCmd.Flags().Bool("redownload", false, "re-fetch all blocks from zcashd; reinitialize local cache files")
|
||||
rootCmd.Flags().String("data-dir", "/var/lib/lightwalletd", "data directory (such as db)")
|
||||
rootCmd.Flags().Bool("darkside-very-insecure", false, "run with GRPC-controllable mock zcashd for integration testing (shuts down after 30 minutes)")
|
||||
|
||||
viper.BindPFlag("grpc-bind-addr", rootCmd.Flags().Lookup("grpc-bind-addr"))
|
||||
viper.SetDefault("grpc-bind-addr", "127.0.0.1:9067")
|
||||
|
@ -270,6 +278,8 @@ func init() {
|
|||
viper.SetDefault("redownload", false)
|
||||
viper.BindPFlag("data-dir", rootCmd.Flags().Lookup("data-dir"))
|
||||
viper.SetDefault("data-dir", "/var/lib/lightwalletd")
|
||||
viper.BindPFlag("darkside-very-insecure", rootCmd.Flags().Lookup("darkside-very-insecure"))
|
||||
viper.SetDefault("darkside-very-insecure", false)
|
||||
|
||||
logger.SetFormatter(&logrus.TextFormatter{
|
||||
//DisableColors: true,
|
||||
|
|
|
@ -1,266 +0,0 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"flag"
|
||||
"fmt"
|
||||
"net"
|
||||
"os"
|
||||
"os/signal"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/credentials"
|
||||
"google.golang.org/grpc/peer"
|
||||
"google.golang.org/grpc/reflection"
|
||||
|
||||
"github.com/zcash/lightwalletd/common"
|
||||
"github.com/zcash/lightwalletd/frontend"
|
||||
"github.com/zcash/lightwalletd/walletrpc"
|
||||
)
|
||||
|
||||
var logger = logrus.New()
|
||||
|
||||
func init() {
|
||||
logger.SetFormatter(&logrus.TextFormatter{
|
||||
//DisableColors: true,
|
||||
FullTimestamp: true,
|
||||
DisableLevelTruncation: true,
|
||||
})
|
||||
|
||||
onexit := func() {
|
||||
fmt.Println("Lightwalletd died with a Fatal error. Check logfile for details.")
|
||||
}
|
||||
|
||||
common.Log = logger.WithFields(logrus.Fields{
|
||||
"app": "frontend-grpc",
|
||||
})
|
||||
|
||||
logrus.RegisterExitHandler(onexit)
|
||||
}
|
||||
|
||||
// TODO stream logging
|
||||
|
||||
func LoggingInterceptor() grpc.ServerOption {
|
||||
return grpc.UnaryInterceptor(logInterceptor)
|
||||
}
|
||||
|
||||
func logInterceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) {
|
||||
reqLog := loggerFromContext(ctx)
|
||||
start := time.Now()
|
||||
|
||||
resp, err := handler(ctx, req)
|
||||
|
||||
entry := reqLog.WithFields(logrus.Fields{
|
||||
"method": info.FullMethod,
|
||||
"duration": time.Since(start),
|
||||
"error": err,
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
entry.Error("call failed")
|
||||
} else {
|
||||
entry.Info("method called")
|
||||
}
|
||||
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func loggerFromContext(ctx context.Context) *logrus.Entry {
|
||||
// TODO: anonymize the addresses. cryptopan?
|
||||
if peerInfo, ok := peer.FromContext(ctx); ok {
|
||||
return common.Log.WithFields(logrus.Fields{"peer_addr": peerInfo.Addr})
|
||||
}
|
||||
return common.Log.WithFields(logrus.Fields{"peer_addr": "unknown"})
|
||||
}
|
||||
|
||||
type Options struct {
|
||||
bindAddr string `json:"bind_address,omitempty"`
|
||||
tlsCertPath string `json:"tls_cert_path,omitempty"`
|
||||
tlsKeyPath string `json:"tls_cert_key,omitempty"`
|
||||
logLevel uint64 `json:"log_level,omitempty"`
|
||||
logPath string `json:"log_file,omitempty"`
|
||||
zcashConfPath string `json:"zcash_conf,omitempty"`
|
||||
veryInsecure bool `json:"very_insecure,omitempty"`
|
||||
darkSide bool `json:"very_insecure,omitempty"`
|
||||
cacheSize int `json:"cache_size,omitempty"`
|
||||
wantVersion bool
|
||||
}
|
||||
|
||||
func fileExists(filename string) bool {
|
||||
info, err := os.Stat(filename)
|
||||
if os.IsNotExist(err) {
|
||||
return false
|
||||
}
|
||||
return !info.IsDir()
|
||||
}
|
||||
|
||||
func main() {
|
||||
opts := &Options{}
|
||||
flag.StringVar(&opts.bindAddr, "bind-addr", "127.0.0.1:9067", "the address to listen on")
|
||||
flag.StringVar(&opts.tlsCertPath, "tls-cert", "", "the path to a TLS certificate")
|
||||
flag.StringVar(&opts.tlsKeyPath, "tls-key", "", "the path to a TLS key file")
|
||||
flag.Uint64Var(&opts.logLevel, "log-level", uint64(logrus.InfoLevel), "log level (logrus 1-7)")
|
||||
flag.StringVar(&opts.logPath, "log-file", "./server.log", "log file to write to")
|
||||
flag.StringVar(&opts.zcashConfPath, "conf-file", "./zcash.conf", "conf file to pull RPC creds from")
|
||||
flag.BoolVar(&opts.veryInsecure, "no-tls-very-insecure", false, "run without the required TLS certificate, only for debugging, DO NOT use in production")
|
||||
flag.BoolVar(&opts.darkSide, "darkside-very-insecure", false, "run with GRPC-controllable mock zcashd for integration testing (shuts down after 30 minutes)")
|
||||
flag.BoolVar(&opts.wantVersion, "version", false, "version (major.minor.patch)")
|
||||
flag.IntVar(&opts.cacheSize, "cache-size", 80000, "number of blocks to hold in the cache")
|
||||
|
||||
// TODO prod metrics
|
||||
// TODO support config from file and env vars
|
||||
flag.Parse()
|
||||
|
||||
if opts.wantVersion {
|
||||
fmt.Println("lightwalletd version v0.3.0")
|
||||
return
|
||||
}
|
||||
|
||||
// production (unlike unit tests) use the real sleep function
|
||||
common.Sleep = time.Sleep
|
||||
|
||||
if opts.logPath != "" {
|
||||
// instead write parsable logs for logstash/splunk/etc
|
||||
output, err := os.OpenFile(opts.logPath, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
|
||||
if err != nil {
|
||||
os.Stderr.WriteString(fmt.Sprintf("Cannot open log file %s: %v\n",
|
||||
opts.logPath, err))
|
||||
os.Exit(1)
|
||||
}
|
||||
defer output.Close()
|
||||
logger.SetOutput(output)
|
||||
logger.SetFormatter(&logrus.JSONFormatter{})
|
||||
}
|
||||
logger.SetLevel(logrus.Level(opts.logLevel))
|
||||
|
||||
filesThatShouldExist := []string{}
|
||||
|
||||
if !opts.darkSide {
|
||||
filesThatShouldExist = append(filesThatShouldExist, opts.zcashConfPath)
|
||||
}
|
||||
if opts.tlsCertPath != "" {
|
||||
filesThatShouldExist = append(filesThatShouldExist, opts.tlsCertPath)
|
||||
}
|
||||
if opts.tlsKeyPath != "" {
|
||||
filesThatShouldExist = append(filesThatShouldExist, opts.tlsKeyPath)
|
||||
}
|
||||
|
||||
for _, filename := range filesThatShouldExist {
|
||||
if !fileExists(filename) {
|
||||
common.Log.WithFields(logrus.Fields{
|
||||
"filename": filename,
|
||||
}).Error("cannot open required file")
|
||||
os.Stderr.WriteString("Cannot open required file: " + filename + "\n")
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
|
||||
// gRPC initialization
|
||||
var server *grpc.Server
|
||||
var err error
|
||||
|
||||
if opts.veryInsecure {
|
||||
server = grpc.NewServer(LoggingInterceptor())
|
||||
} else {
|
||||
var transportCreds credentials.TransportCredentials
|
||||
if (opts.tlsCertPath == "") && (opts.tlsKeyPath == "") {
|
||||
common.Log.Warning("Certificate and key not provided, generating self signed values")
|
||||
tlsCert := common.GenerateCerts()
|
||||
transportCreds = credentials.NewServerTLSFromCert(tlsCert)
|
||||
} else {
|
||||
transportCreds, err = credentials.NewServerTLSFromFile(opts.tlsCertPath, opts.tlsKeyPath)
|
||||
if err != nil {
|
||||
common.Log.WithFields(logrus.Fields{
|
||||
"cert_file": opts.tlsCertPath,
|
||||
"key_path": opts.tlsKeyPath,
|
||||
"error": err,
|
||||
}).Fatal("couldn't load TLS credentials")
|
||||
}
|
||||
}
|
||||
server = grpc.NewServer(grpc.Creds(transportCreds), LoggingInterceptor())
|
||||
}
|
||||
|
||||
// Enable reflection for debugging
|
||||
if opts.logLevel >= uint64(logrus.WarnLevel) {
|
||||
reflection.Register(server)
|
||||
}
|
||||
|
||||
if opts.darkSide {
|
||||
common.RawRequest = common.DarkSideRawRequest
|
||||
} else {
|
||||
// Initialize Zcash RPC client. Right now (Jan 2018) this is only for
|
||||
// sending transactions, but in the future it could back a different type
|
||||
// of block streamer.
|
||||
|
||||
rpcClient, err := frontend.NewZRPCFromConf(opts.zcashConfPath)
|
||||
if err != nil {
|
||||
common.Log.WithFields(logrus.Fields{
|
||||
"error": err,
|
||||
}).Fatal("setting up RPC connection to zcashd")
|
||||
}
|
||||
|
||||
// indirect function for test mocking (so unit tests can talk to stub functions)
|
||||
common.RawRequest = rpcClient.RawRequest
|
||||
}
|
||||
|
||||
// Get the sapling activation height from the RPC
|
||||
// (this first RPC also verifies that we can communicate with zcashd)
|
||||
saplingHeight, blockHeight, chainName, branchID := common.GetSaplingInfo()
|
||||
common.Log.Info("Got sapling height ", saplingHeight, " chain ", chainName, " branchID ", branchID)
|
||||
|
||||
// Initialize the cache
|
||||
cache := common.NewBlockCache(opts.cacheSize)
|
||||
|
||||
// Start the block cache importer at cacheSize blocks before current height
|
||||
cacheStart := blockHeight - opts.cacheSize
|
||||
if cacheStart < saplingHeight {
|
||||
cacheStart = saplingHeight
|
||||
}
|
||||
|
||||
// The last argument, repetition count, is only nonzero for testing
|
||||
go common.BlockIngestor(cache, cacheStart, 0)
|
||||
|
||||
// Compact transaction service initialization
|
||||
service, err := frontend.NewLwdStreamer(cache)
|
||||
if err != nil {
|
||||
common.Log.WithFields(logrus.Fields{
|
||||
"error": err,
|
||||
}).Fatal("couldn't create backend")
|
||||
}
|
||||
|
||||
// Register service
|
||||
walletrpc.RegisterCompactTxStreamerServer(server, service)
|
||||
|
||||
// Start listening
|
||||
listener, err := net.Listen("tcp", opts.bindAddr)
|
||||
if err != nil {
|
||||
common.Log.WithFields(logrus.Fields{
|
||||
"bind_addr": opts.bindAddr,
|
||||
"error": err,
|
||||
}).Fatal("couldn't create listener")
|
||||
}
|
||||
|
||||
// Signal handler for graceful stops
|
||||
signals := make(chan os.Signal, 1)
|
||||
signal.Notify(signals, syscall.SIGINT, syscall.SIGTERM)
|
||||
go func() {
|
||||
s := <-signals
|
||||
common.Log.WithFields(logrus.Fields{
|
||||
"signal": s.String(),
|
||||
}).Info("caught signal, stopping gRPC server")
|
||||
os.Stderr.WriteString("Caught signal: " + s.String() + "\n")
|
||||
os.Exit(1)
|
||||
}()
|
||||
|
||||
common.Log.Infof("Starting gRPC server on %s", opts.bindAddr)
|
||||
|
||||
err = server.Serve(listener)
|
||||
if err != nil {
|
||||
common.Log.WithFields(logrus.Fields{
|
||||
"error": err,
|
||||
}).Fatal("gRPC server exited")
|
||||
}
|
||||
}
|
|
@ -33,6 +33,7 @@ type Options struct {
|
|||
NoTLSVeryInsecure bool `json:"no_tls_very_insecure,omitempty"`
|
||||
Redownload bool `json:"redownload"`
|
||||
DataDir string `json:"data-dir"`
|
||||
DarkSide bool `json:"darkside"`
|
||||
}
|
||||
|
||||
// RawRequest points to the function to send a an RPC request to zcashd;
|
||||
|
@ -131,6 +132,7 @@ func getBlockFromRPC(height int) (*walletrpc.CompactBlock, error) {
|
|||
if len(rest) != 0 {
|
||||
return nil, errors.New("received overlong message")
|
||||
}
|
||||
|
||||
// TODO COINBASE-HEIGHT: restore this check after coinbase height is fixed
|
||||
if false && block.GetHeight() != height {
|
||||
return nil, errors.New("received unexpected height block")
|
||||
|
|
|
@ -192,7 +192,7 @@ func getblockStub(method string, params []json.RawMessage) (json.RawMessage, err
|
|||
if sleepCount != 2 || sleepDuration != 11*time.Second {
|
||||
testT.Error("unexpected sleeps", sleepCount, sleepDuration)
|
||||
}
|
||||
// should re-request the same height
|
||||
// Back up to 41.
|
||||
if height != "380641" {
|
||||
testT.Error("unexpected height", height)
|
||||
}
|
||||
|
|
|
@ -256,9 +256,7 @@ func (s *LwdStreamer) Ping(ctx context.Context, in *walletrpc.Duration) (*wallet
|
|||
return &response, nil
|
||||
}
|
||||
|
||||
|
||||
// Darkside
|
||||
|
||||
func (s *LwdStreamer) DarksideGetIncomingTransactions(in *walletrpc.Empty, resp walletrpc.CompactTxStreamer_DarksideGetIncomingTransactionsServer) error {
|
||||
// Get all of the new incoming transactions evil zcashd has accepted.
|
||||
result, rpcErr := common.RawRequest("x_getincomingtransactions", nil)
|
||||
|
@ -307,7 +305,7 @@ func (s *LwdStreamer) DarksideSetState(ctx context.Context, state *walletrpc.Dar
|
|||
|
||||
for i, block := range state.Blocks {
|
||||
st += "\"" + block + "\""
|
||||
if i < len(state.Blocks) - 1 {
|
||||
if i < len(state.Blocks)-1 {
|
||||
st += ", "
|
||||
}
|
||||
}
|
||||
|
|
2
go.sum
2
go.sum
|
@ -245,8 +245,6 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8
|
|||
google.golang.org/grpc v1.28.1 h1:C1QC6KzgSiLyBabDi87BbjaGreoRgGUF5nOyvfrAZ1k=
|
||||
google.golang.org/grpc v1.28.1/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=
|
||||
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
|
||||
google.golang.org/grpc v1.27.1 h1:zvIju4sqAGvwKspUQOhwnpcqSbzi7/H6QomNNjTL4sk=
|
||||
google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
|
||||
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-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
|
||||
|
|
|
@ -8,4 +8,4 @@ JSON="{\"startHeight\": $1, \"saplingActivation\": $2, \"branchID\": \"2bb40e60\
|
|||
JSON="$JSON$(cat "$3" | sed 's/^/"/' | sed 's/$/"/' | sed '1s/^/[/;$!s/$/,/;$s/$/]/')"
|
||||
JSON="$JSON}"
|
||||
|
||||
grpcurl -insecure -import-path ./walletrpc/ -proto service.proto -d "$JSON" localhost:9067 cash.z.wallet.sdk.rpc.CompactTxStreamer/DarksideSetState
|
||||
grpcurl -plaintext -import-path ./walletrpc/ -proto service.proto -d "$JSON" localhost:9067 cash.z.wallet.sdk.rpc.CompactTxStreamer/DarksideSetState
|
||||
|
|
|
@ -486,12 +486,6 @@ func (m *TransparentAddressBlockFilter) GetRange() *BlockRange {
|
|||
// are microseconds.
|
||||
type Duration struct {
|
||||
IntervalUs int64 `protobuf:"varint,1,opt,name=intervalUs,proto3" json:"intervalUs,omitempty"`
|
||||
type DarksideLightwalletdState struct {
|
||||
StartHeight int32 `protobuf:"varint,1,opt,name=startHeight,proto3" json:"startHeight,omitempty"`
|
||||
SaplingActivation int32 `protobuf:"varint,2,opt,name=saplingActivation,proto3" json:"saplingActivation,omitempty"`
|
||||
BranchID string `protobuf:"bytes,3,opt,name=branchID,proto3" json:"branchID,omitempty"`
|
||||
ChainName string `protobuf:"bytes,4,opt,name=chainName,proto3" json:"chainName,omitempty"`
|
||||
Blocks []string `protobuf:"bytes,5,rep,name=blocks,proto3" json:"blocks,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
|
@ -502,47 +496,29 @@ func (m *Duration) String() string { return proto.CompactTextString(m) }
|
|||
func (*Duration) ProtoMessage() {}
|
||||
func (*Duration) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_a0b84a42fa06f626, []int{9}
|
||||
func (m *DarksideLightwalletdState) Reset() { *m = DarksideLightwalletdState{} }
|
||||
func (m *DarksideLightwalletdState) String() string { return proto.CompactTextString(m) }
|
||||
func (*DarksideLightwalletdState) ProtoMessage() {}
|
||||
func (*DarksideLightwalletdState) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_a0b84a42fa06f626, []int{10}
|
||||
}
|
||||
|
||||
func (m *Duration) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_Duration.Unmarshal(m, b)
|
||||
func (m *DarksideLightwalletdState) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_DarksideLightwalletdState.Unmarshal(m, b)
|
||||
}
|
||||
func (m *Duration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_Duration.Marshal(b, m, deterministic)
|
||||
func (m *DarksideLightwalletdState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_DarksideLightwalletdState.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *Duration) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_Duration.Merge(m, src)
|
||||
func (m *DarksideLightwalletdState) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_DarksideLightwalletdState.Merge(m, src)
|
||||
}
|
||||
func (m *Duration) XXX_Size() int {
|
||||
return xxx_messageInfo_Duration.Size(m)
|
||||
func (m *DarksideLightwalletdState) XXX_Size() int {
|
||||
return xxx_messageInfo_DarksideLightwalletdState.Size(m)
|
||||
}
|
||||
func (m *Duration) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_Duration.DiscardUnknown(m)
|
||||
func (m *DarksideLightwalletdState) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_DarksideLightwalletdState.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_Duration proto.InternalMessageInfo
|
||||
var xxx_messageInfo_DarksideLightwalletdState proto.InternalMessageInfo
|
||||
|
||||
func (m *Duration) GetIntervalUs() int64 {
|
||||
func (m *DarksideLightwalletdState) GetStartHeight() int32 {
|
||||
if m != nil {
|
||||
return m.IntervalUs
|
||||
return m.StartHeight
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
@ -556,11 +532,6 @@ type PingResponse struct {
|
|||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
func (m *DarksideLightwalletdState) GetSaplingActivation() int32 {
|
||||
if m != nil {
|
||||
return m.SaplingActivation
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *PingResponse) Reset() { *m = PingResponse{} }
|
||||
|
@ -568,11 +539,6 @@ func (m *PingResponse) String() string { return proto.CompactTextString(m) }
|
|||
func (*PingResponse) ProtoMessage() {}
|
||||
func (*PingResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_a0b84a42fa06f626, []int{10}
|
||||
func (m *DarksideLightwalletdState) GetBranchID() string {
|
||||
if m != nil {
|
||||
return m.BranchID
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *PingResponse) XXX_Unmarshal(b []byte) error {
|
||||
|
@ -594,22 +560,87 @@ func (m *PingResponse) XXX_DiscardUnknown() {
|
|||
var xxx_messageInfo_PingResponse proto.InternalMessageInfo
|
||||
|
||||
func (m *PingResponse) GetEntry() int64 {
|
||||
func (m *DarksideLightwalletdState) GetChainName() string {
|
||||
if m != nil {
|
||||
return m.Entry
|
||||
return m.ChainName
|
||||
}
|
||||
return 0
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *PingResponse) GetExit() int64 {
|
||||
func (m *DarksideLightwalletdState) GetBlocks() []string {
|
||||
if m != nil {
|
||||
return m.Exit
|
||||
return m.Blocks
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type DarksideLightwalletdState struct {
|
||||
StartHeight int32 `protobuf:"varint,1,opt,name=startHeight,proto3" json:"startHeight,omitempty"`
|
||||
SaplingActivation int32 `protobuf:"varint,2,opt,name=saplingActivation,proto3" json:"saplingActivation,omitempty"`
|
||||
BranchID string `protobuf:"bytes,3,opt,name=branchID,proto3" json:"branchID,omitempty"`
|
||||
ChainName string `protobuf:"bytes,4,opt,name=chainName,proto3" json:"chainName,omitempty"`
|
||||
Blocks []string `protobuf:"bytes,5,rep,name=blocks,proto3" json:"blocks,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *DarksideLightwalletdState) Reset() { *m = DarksideLightwalletdState{} }
|
||||
func (m *DarksideLightwalletdState) String() string { return proto.CompactTextString(m) }
|
||||
func (*DarksideLightwalletdState) ProtoMessage() {}
|
||||
func (*DarksideLightwalletdState) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_a0b84a42fa06f626, []int{11}
|
||||
}
|
||||
|
||||
func (m *DarksideLightwalletdState) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_DarksideLightwalletdState.Unmarshal(m, b)
|
||||
}
|
||||
func (m *DarksideLightwalletdState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_DarksideLightwalletdState.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *DarksideLightwalletdState) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_DarksideLightwalletdState.Merge(m, src)
|
||||
}
|
||||
func (m *DarksideLightwalletdState) XXX_Size() int {
|
||||
return xxx_messageInfo_DarksideLightwalletdState.Size(m)
|
||||
}
|
||||
func (m *DarksideLightwalletdState) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_DarksideLightwalletdState.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_DarksideLightwalletdState proto.InternalMessageInfo
|
||||
|
||||
func (m *DarksideLightwalletdState) GetStartHeight() int32 {
|
||||
if m != nil {
|
||||
return m.StartHeight
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *DarksideLightwalletdState) GetSaplingActivation() int32 {
|
||||
if m != nil {
|
||||
return m.SaplingActivation
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *DarksideLightwalletdState) GetBranchID() string {
|
||||
if m != nil {
|
||||
return m.BranchID
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *DarksideLightwalletdState) GetChainName() string {
|
||||
if m != nil {
|
||||
return m.ChainName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *DarksideLightwalletdState) GetBlocks() []string {
|
||||
if m != nil {
|
||||
return m.Blocks
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -633,101 +664,59 @@ func init() {
|
|||
}
|
||||
|
||||
var fileDescriptor_a0b84a42fa06f626 = []byte{
|
||||
// 708 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0x5f, 0x4f, 0x13, 0x41,
|
||||
0x10, 0xef, 0xbf, 0xa3, 0xed, 0x50, 0x20, 0x6c, 0x40, 0x9b, 0x06, 0xb1, 0xae, 0x31, 0x21, 0xc6,
|
||||
0x34, 0x04, 0x31, 0xf2, 0xe0, 0x0b, 0x7f, 0x14, 0x49, 0x90, 0xe0, 0xb6, 0xbe, 0xe0, 0x03, 0x59,
|
||||
0xee, 0x86, 0xde, 0x49, 0xbb, 0x77, 0xd9, 0x5d, 0x4a, 0xf1, 0x23, 0xf8, 0x91, 0xfc, 0x50, 0x7e,
|
||||
0x06, 0xb3, 0xbb, 0x57, 0x38, 0xa2, 0x47, 0xfb, 0x76, 0x33, 0x3b, 0xf3, 0x9b, 0xd9, 0xdf, 0xfe,
|
||||
0x66, 0x0e, 0x16, 0x14, 0xca, 0x51, 0xe4, 0x63, 0x27, 0x91, 0xb1, 0x8e, 0xc9, 0xaa, 0xcf, 0x55,
|
||||
0xd8, 0xf9, 0xd9, 0xb9, 0xe1, 0x83, 0x01, 0xea, 0x8e, 0x0a, 0xae, 0x3a, 0x32, 0xf1, 0x5b, 0xab,
|
||||
0x7e, 0x3c, 0x4c, 0xb8, 0xaf, 0xcf, 0x2f, 0x63, 0x39, 0xe4, 0x5a, 0xb9, 0x68, 0xfa, 0x0e, 0xaa,
|
||||
0x7b, 0x83, 0xd8, 0xbf, 0x3a, 0x3a, 0x20, 0x4f, 0x60, 0x2e, 0xc4, 0xa8, 0x1f, 0xea, 0x66, 0xb1,
|
||||
0x5d, 0xdc, 0xa8, 0xb0, 0xd4, 0x22, 0x04, 0x2a, 0x21, 0x57, 0x61, 0xb3, 0xd4, 0x2e, 0x6e, 0x34,
|
||||
0x98, 0xfd, 0xa6, 0x1a, 0xc0, 0xa6, 0x31, 0x2e, 0xfa, 0x48, 0xb6, 0xc1, 0x53, 0x9a, 0x4b, 0x97,
|
||||
0x38, 0xbf, 0xb5, 0xde, 0xf9, 0x6f, 0x0b, 0x9d, 0xb4, 0x10, 0x73, 0xc1, 0x64, 0x13, 0xca, 0x28,
|
||||
0x02, 0x0b, 0x3b, 0x3d, 0xc7, 0x84, 0xd2, 0x1f, 0x50, 0xeb, 0x8d, 0x3f, 0x45, 0x03, 0x8d, 0xd2,
|
||||
0xd4, 0xbc, 0x30, 0x67, 0xb3, 0xd6, 0xb4, 0xc1, 0x64, 0x05, 0xbc, 0x48, 0x04, 0x38, 0xb6, 0x55,
|
||||
0x2b, 0xcc, 0x19, 0x77, 0x37, 0x2c, 0x67, 0x6e, 0xf8, 0x01, 0x16, 0x19, 0xbf, 0xe9, 0x49, 0x2e,
|
||||
0x14, 0xf7, 0x75, 0x14, 0x0b, 0x13, 0x15, 0x70, 0xcd, 0x6d, 0xc1, 0x06, 0xb3, 0xdf, 0x19, 0xce,
|
||||
0x4a, 0x59, 0xce, 0xe8, 0x29, 0x34, 0xba, 0x28, 0x02, 0x86, 0x2a, 0x89, 0x85, 0x42, 0xb2, 0x06,
|
||||
0x75, 0x94, 0x32, 0x96, 0xfb, 0x71, 0x80, 0x16, 0xc0, 0x63, 0xf7, 0x0e, 0x42, 0xa1, 0x61, 0x8d,
|
||||
0x2f, 0xa8, 0x14, 0xef, 0xa3, 0xc5, 0xaa, 0xb3, 0x07, 0x3e, 0x3a, 0x0f, 0xf5, 0xfd, 0x90, 0x47,
|
||||
0xa2, 0x9b, 0xa0, 0x4f, 0xab, 0xe0, 0x7d, 0x1c, 0x26, 0xfa, 0x96, 0xfe, 0x2a, 0x01, 0x1c, 0x9b,
|
||||
0x8a, 0xc1, 0x91, 0xb8, 0x8c, 0x49, 0x13, 0xaa, 0x23, 0x94, 0x2a, 0x8a, 0x85, 0x2d, 0x52, 0x67,
|
||||
0x13, 0xd3, 0x34, 0x3a, 0x42, 0x11, 0xc4, 0x32, 0x05, 0x4f, 0x2d, 0x53, 0x5a, 0xf3, 0x20, 0x90,
|
||||
0xdd, 0xeb, 0x24, 0x89, 0xa5, 0xb6, 0x14, 0xd4, 0xd8, 0x03, 0x9f, 0x69, 0xde, 0x37, 0xa5, 0x4f,
|
||||
0xf8, 0x10, 0x9b, 0x15, 0x9b, 0x7e, 0xef, 0x20, 0x3b, 0xf0, 0x54, 0xf1, 0x64, 0x10, 0x89, 0xfe,
|
||||
0xae, 0xaf, 0xa3, 0x11, 0x37, 0x5c, 0x7d, 0x76, 0x9c, 0x78, 0x96, 0x93, 0xbc, 0x63, 0xf2, 0x06,
|
||||
0x96, 0x7d, 0xc3, 0x8e, 0x50, 0xd7, 0x6a, 0x4f, 0x72, 0xe1, 0x87, 0x47, 0x41, 0x73, 0xce, 0xe2,
|
||||
0xff, 0x7b, 0x40, 0xda, 0x30, 0x6f, 0xdf, 0x30, 0xc5, 0xae, 0x5a, 0xec, 0xac, 0x8b, 0x4a, 0x78,
|
||||
0x66, 0xdf, 0x2b, 0xe1, 0x12, 0x85, 0xde, 0x0d, 0x02, 0x89, 0x4a, 0x59, 0x01, 0xa4, 0x9a, 0x69,
|
||||
0x42, 0x95, 0x3b, 0xef, 0x84, 0x9e, 0xd4, 0x24, 0xef, 0xc1, 0x93, 0x46, 0xca, 0xa9, 0x1a, 0x5f,
|
||||
0x3c, 0xa6, 0x26, 0xab, 0x79, 0xe6, 0xe2, 0xe9, 0x6b, 0xa8, 0x1d, 0x5c, 0x4b, 0x7b, 0x2b, 0xb2,
|
||||
0x0e, 0x10, 0x09, 0x8d, 0x72, 0xc4, 0x07, 0xdf, 0x5c, 0x85, 0x32, 0xcb, 0x78, 0xe8, 0x0e, 0x34,
|
||||
0x4e, 0x23, 0xd1, 0xbf, 0x13, 0xc5, 0x0a, 0x78, 0x28, 0xb4, 0xbc, 0x4d, 0x43, 0x9d, 0x61, 0x64,
|
||||
0x86, 0xe3, 0xc8, 0x09, 0xaa, 0xcc, 0xec, 0xf7, 0xd6, 0x1f, 0x0f, 0x96, 0xf7, 0xdd, 0xfc, 0xf6,
|
||||
0xc6, 0x5d, 0x2d, 0x91, 0x0f, 0x51, 0x92, 0x1e, 0x2c, 0x1e, 0xa2, 0x3e, 0xe6, 0x1a, 0x95, 0xb6,
|
||||
0x9d, 0x91, 0x76, 0x4e, 0xdf, 0x77, 0xca, 0x69, 0x4d, 0x99, 0x13, 0x5a, 0x20, 0x5f, 0xa1, 0x76,
|
||||
0x88, 0x29, 0xde, 0x94, 0xe8, 0xd6, 0xcb, 0xbc, 0x7a, 0xae, 0x57, 0x1b, 0x46, 0x0b, 0xe4, 0x3b,
|
||||
0x2c, 0x4c, 0x20, 0xdd, 0xc2, 0x98, 0xce, 0xef, 0x8c, 0xd0, 0x9b, 0x45, 0x72, 0x66, 0x59, 0xc8,
|
||||
0x0e, 0xea, 0xf3, 0x9c, 0xd4, 0xc9, 0xee, 0x68, 0xbd, 0xca, 0x09, 0x78, 0x38, 0xf0, 0xb4, 0x40,
|
||||
0xce, 0x61, 0xc9, 0x8c, 0x71, 0x16, 0x7c, 0xb6, 0xdc, 0xdc, 0xf6, 0xb3, 0x5b, 0x81, 0x16, 0x88,
|
||||
0x84, 0xa5, 0x43, 0x9c, 0x48, 0xb5, 0x37, 0x8e, 0x02, 0x45, 0xb6, 0xf3, 0xba, 0x7f, 0x4c, 0xda,
|
||||
0x33, 0x5f, 0x69, 0xb3, 0x48, 0x98, 0x7d, 0x8d, 0xcc, 0xd6, 0x58, 0xcb, 0xc9, 0xb5, 0x2b, 0xa6,
|
||||
0x95, 0xf7, 0x56, 0xf7, 0x00, 0xb4, 0x40, 0x4e, 0xa0, 0x62, 0xa4, 0x9d, 0x4b, 0xfd, 0x64, 0x46,
|
||||
0x72, 0x79, 0xc9, 0x0e, 0x06, 0x2d, 0xec, 0x2d, 0x9e, 0xd5, 0x5d, 0x80, 0x4c, 0xfc, 0xdf, 0xa5,
|
||||
0xc2, 0xc5, 0x9c, 0xfd, 0x5b, 0xbd, 0xfd, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x3f, 0xd2, 0xc0, 0xf7,
|
||||
0xec, 0x06, 0x00, 0x00,
|
||||
// 760 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xdd, 0x4e, 0x23, 0x37,
|
||||
0x14, 0x4e, 0x42, 0x26, 0x3f, 0x87, 0x00, 0xc5, 0x2a, 0x34, 0x8d, 0x68, 0x49, 0x5d, 0x55, 0xe2,
|
||||
0xa2, 0x1a, 0x45, 0x94, 0xaa, 0xbd, 0xe8, 0x0d, 0x3f, 0x6d, 0x88, 0x44, 0xab, 0xd6, 0xc9, 0x15,
|
||||
0xbd, 0x40, 0x66, 0x6c, 0x92, 0x81, 0xc4, 0x33, 0xb2, 0x4d, 0xc8, 0xee, 0x23, 0xec, 0x23, 0xad,
|
||||
0xb4, 0xef, 0xb4, 0x8f, 0xb0, 0xf2, 0x99, 0x09, 0x19, 0x94, 0x1d, 0x92, 0xbd, 0x9b, 0x63, 0x9f,
|
||||
0xf3, 0x7d, 0xc7, 0xdf, 0xf9, 0x19, 0xd8, 0x32, 0x52, 0x4f, 0xc3, 0x40, 0xfa, 0xb1, 0x8e, 0x6c,
|
||||
0x44, 0xf6, 0x02, 0x6e, 0x46, 0xfe, 0x5b, 0xff, 0x89, 0x8f, 0xc7, 0xd2, 0xfa, 0x46, 0x3c, 0xf8,
|
||||
0x3a, 0x0e, 0x5a, 0x7b, 0x41, 0x34, 0x89, 0x79, 0x60, 0x6f, 0xee, 0x22, 0x3d, 0xe1, 0xd6, 0x24,
|
||||
0xde, 0xf4, 0x57, 0xa8, 0x9e, 0x8d, 0xa3, 0xe0, 0xa1, 0x77, 0x41, 0xf6, 0xa1, 0x32, 0x92, 0xe1,
|
||||
0x70, 0x64, 0x9b, 0xc5, 0x76, 0xf1, 0xa8, 0xcc, 0x52, 0x8b, 0x10, 0x28, 0x8f, 0xb8, 0x19, 0x35,
|
||||
0x4b, 0xed, 0xe2, 0x51, 0x83, 0xe1, 0x37, 0xb5, 0x00, 0x18, 0xc6, 0xb8, 0x1a, 0x4a, 0x72, 0x02,
|
||||
0x9e, 0xb1, 0x5c, 0x27, 0x81, 0x9b, 0xc7, 0xdf, 0xfb, 0x9f, 0x4d, 0xc1, 0x4f, 0x89, 0x58, 0xe2,
|
||||
0x4c, 0x3a, 0xb0, 0x21, 0x95, 0x40, 0xd8, 0xd5, 0x31, 0xce, 0x95, 0xde, 0x43, 0x6d, 0x30, 0xfb,
|
||||
0x2b, 0x1c, 0x5b, 0xa9, 0x1d, 0xe7, 0xad, 0xbb, 0x5b, 0x97, 0x13, 0x9d, 0xc9, 0xd7, 0xe0, 0x85,
|
||||
0x4a, 0xc8, 0x19, 0xb2, 0x96, 0x59, 0x62, 0x3c, 0xbf, 0x70, 0x23, 0xf3, 0xc2, 0x3f, 0x60, 0x9b,
|
||||
0xf1, 0xa7, 0x81, 0xe6, 0xca, 0xf0, 0xc0, 0x86, 0x91, 0x72, 0x5e, 0x82, 0x5b, 0x8e, 0x84, 0x0d,
|
||||
0x86, 0xdf, 0x19, 0xcd, 0x4a, 0x59, 0xcd, 0xe8, 0xbf, 0xd0, 0xe8, 0x4b, 0x25, 0x98, 0x34, 0x71,
|
||||
0xa4, 0x8c, 0x24, 0x07, 0x50, 0x97, 0x5a, 0x47, 0xfa, 0x3c, 0x12, 0x12, 0x01, 0x3c, 0xb6, 0x38,
|
||||
0x20, 0x14, 0x1a, 0x68, 0xfc, 0x2d, 0x8d, 0xe1, 0x43, 0x89, 0x58, 0x75, 0xf6, 0xe2, 0x8c, 0x6e,
|
||||
0x42, 0xfd, 0x7c, 0xc4, 0x43, 0xd5, 0x8f, 0x65, 0x40, 0xab, 0xe0, 0xfd, 0x39, 0x89, 0xed, 0x1b,
|
||||
0xfa, 0xae, 0x04, 0x70, 0xe5, 0x18, 0x45, 0x4f, 0xdd, 0x45, 0xa4, 0x09, 0xd5, 0xa9, 0xd4, 0x26,
|
||||
0x8c, 0x14, 0x92, 0xd4, 0xd9, 0xdc, 0x74, 0x89, 0x4e, 0xa5, 0x12, 0x91, 0x4e, 0xc1, 0x53, 0xcb,
|
||||
0x51, 0x5b, 0x2e, 0x84, 0xee, 0x3f, 0xc6, 0x71, 0xa4, 0x2d, 0x4a, 0x50, 0x63, 0x2f, 0xce, 0x5c,
|
||||
0xf2, 0x81, 0xa3, 0xfe, 0x87, 0x4f, 0x64, 0xb3, 0x8c, 0xe1, 0x8b, 0x03, 0xf2, 0x3b, 0x7c, 0x63,
|
||||
0x78, 0x3c, 0x0e, 0xd5, 0xf0, 0x34, 0xb0, 0xe1, 0x94, 0x3b, 0xad, 0x2e, 0x13, 0x4d, 0x3c, 0xd4,
|
||||
0x24, 0xef, 0x9a, 0xfc, 0x0c, 0xbb, 0x81, 0x53, 0x47, 0x99, 0x47, 0x73, 0xa6, 0xb9, 0x0a, 0x46,
|
||||
0x3d, 0xd1, 0xac, 0x20, 0xfe, 0xf2, 0x05, 0x69, 0xc3, 0x26, 0xd6, 0x30, 0xc5, 0xae, 0x22, 0x76,
|
||||
0xf6, 0x88, 0xfa, 0x40, 0xb0, 0x5e, 0x31, 0xd7, 0x52, 0xd9, 0x53, 0x21, 0xb4, 0x34, 0xc6, 0x69,
|
||||
0xc2, 0x93, 0xcf, 0xb9, 0x26, 0xa9, 0x49, 0x35, 0x7c, 0xb7, 0xec, 0x8f, 0x0d, 0x93, 0xf6, 0x58,
|
||||
0x6e, 0x28, 0xf9, 0x0d, 0x3c, 0xed, 0x5a, 0x3f, 0xed, 0xde, 0x1f, 0x5e, 0xeb, 0x3e, 0x9c, 0x11,
|
||||
0x96, 0xf8, 0xd3, 0x0f, 0x45, 0xf8, 0xf6, 0x82, 0xeb, 0x07, 0x13, 0x0a, 0x89, 0x85, 0x4b, 0x22,
|
||||
0x44, 0xdf, 0x72, 0x2b, 0xdd, 0x1b, 0x71, 0x36, 0x2e, 0x17, 0x73, 0xe8, 0xb1, 0xec, 0x91, 0xd3,
|
||||
0x6c, 0x49, 0x4e, 0x4c, 0xc2, 0x63, 0xcb, 0x17, 0xa4, 0x05, 0xb5, 0xdb, 0x44, 0xbf, 0x0b, 0xac,
|
||||
0x6c, 0x9d, 0x3d, 0xdb, 0x2b, 0xaa, 0xba, 0x0f, 0x15, 0x94, 0xd6, 0x34, 0xbd, 0xf6, 0x86, 0xeb,
|
||||
0x97, 0xc4, 0x3a, 0xfe, 0x58, 0x81, 0xdd, 0xf3, 0x64, 0x93, 0x0c, 0x66, 0x7d, 0xab, 0x25, 0x9f,
|
||||
0x48, 0x4d, 0x06, 0xb0, 0xdd, 0x95, 0xf6, 0x8a, 0x5b, 0x69, 0x2c, 0xbe, 0x99, 0xb4, 0x73, 0x14,
|
||||
0x79, 0xee, 0xe1, 0xd6, 0x8a, 0x89, 0xa5, 0x05, 0xf2, 0x1f, 0xd4, 0xba, 0x32, 0xc5, 0x5b, 0xe1,
|
||||
0xdd, 0xfa, 0x31, 0x8f, 0x2f, 0xc9, 0x15, 0xdd, 0x68, 0x81, 0xfc, 0x0f, 0x5b, 0x73, 0xc8, 0x64,
|
||||
0x75, 0xad, 0xae, 0xdc, 0x9a, 0xd0, 0x9d, 0x22, 0xb9, 0x46, 0x15, 0xb2, 0x2b, 0xe3, 0x30, 0x27,
|
||||
0x74, 0xbe, 0xc5, 0x5a, 0x3f, 0xe5, 0x38, 0xbc, 0x5c, 0x3d, 0xb4, 0x40, 0x6e, 0x60, 0xc7, 0x2d,
|
||||
0x94, 0x2c, 0xf8, 0x7a, 0xb1, 0xb9, 0xe9, 0x67, 0xf7, 0x13, 0x2d, 0x10, 0x0d, 0x3b, 0x5d, 0x39,
|
||||
0x1f, 0x82, 0xc1, 0x2c, 0x14, 0x86, 0x9c, 0xe4, 0x65, 0xff, 0xda, 0xd0, 0xac, 0xfd, 0xa4, 0x4e,
|
||||
0x91, 0x30, 0xac, 0x46, 0x66, 0x7f, 0x1d, 0xe4, 0xc4, 0xe2, 0xb2, 0x6b, 0xe5, 0xd5, 0x6a, 0x01,
|
||||
0x40, 0x0b, 0xe4, 0x1e, 0x0e, 0xe7, 0xf3, 0xd5, 0x95, 0xb6, 0xa7, 0x82, 0x68, 0x12, 0xaa, 0x61,
|
||||
0x86, 0xd9, 0xac, 0x60, 0xf9, 0x82, 0xfc, 0x05, 0x7c, 0x35, 0xe7, 0xea, 0x4b, 0x9b, 0x8c, 0x70,
|
||||
0x27, 0x27, 0x3c, 0x77, 0xe8, 0x5b, 0xaf, 0xa6, 0x43, 0x0b, 0x67, 0xdb, 0xd7, 0xf5, 0xe4, 0x46,
|
||||
0xc7, 0xc1, 0xfb, 0x52, 0xe1, 0xb6, 0x82, 0x7f, 0xee, 0x5f, 0x3e, 0x05, 0x00, 0x00, 0xff, 0xff,
|
||||
0x18, 0x08, 0xc2, 0x0c, 0xf8, 0x07, 0x00, 0x00,
|
||||
// 823 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0x51, 0x6f, 0x1b, 0x45,
|
||||
0x10, 0x3e, 0xc7, 0xbe, 0xd8, 0x9e, 0xb8, 0x29, 0x5d, 0xb5, 0xc5, 0x58, 0xa5, 0x35, 0x8b, 0x90,
|
||||
0x2a, 0x84, 0xac, 0xa8, 0x14, 0xd1, 0x07, 0x5e, 0x9a, 0x04, 0xd2, 0x48, 0xa5, 0x2a, 0x6b, 0xf3,
|
||||
0x52, 0x1e, 0xaa, 0xcd, 0xed, 0xd4, 0xbe, 0xc6, 0xde, 0x3b, 0xed, 0x6e, 0x5c, 0x97, 0x9f, 0xc0,
|
||||
0x4f, 0x42, 0x42, 0xe2, 0xa7, 0xa1, 0x9d, 0xbd, 0x8b, 0x2f, 0x0a, 0x17, 0xbb, 0x6f, 0x37, 0xb3,
|
||||
0xb3, 0xf3, 0xcd, 0x7e, 0xf3, 0xcd, 0xe8, 0xe0, 0x96, 0x45, 0xb3, 0x4c, 0x13, 0x1c, 0xe5, 0x26,
|
||||
0x73, 0x19, 0xbb, 0x97, 0x48, 0x3b, 0x1b, 0xfd, 0x39, 0xfa, 0x20, 0xe7, 0x73, 0x74, 0x23, 0xab,
|
||||
0xce, 0x47, 0x26, 0x4f, 0x06, 0xf7, 0x92, 0x6c, 0x91, 0xcb, 0xc4, 0xbd, 0x7d, 0x97, 0x99, 0x85,
|
||||
0x74, 0x36, 0x44, 0xf3, 0x1f, 0xa0, 0x7d, 0x38, 0xcf, 0x92, 0xf3, 0xd3, 0x63, 0x76, 0x1f, 0x76,
|
||||
0x67, 0x98, 0x4e, 0x67, 0xae, 0xdf, 0x18, 0x36, 0x1e, 0xb7, 0x44, 0x61, 0x31, 0x06, 0xad, 0x99,
|
||||
0xb4, 0xb3, 0xfe, 0xce, 0xb0, 0xf1, 0xb8, 0x27, 0xe8, 0x9b, 0x3b, 0x00, 0xba, 0x26, 0xa4, 0x9e,
|
||||
0x22, 0x7b, 0x0a, 0xb1, 0x75, 0xd2, 0x84, 0x8b, 0x7b, 0x4f, 0x1e, 0x8e, 0xfe, 0xb7, 0x84, 0x51,
|
||||
0x01, 0x24, 0x42, 0x30, 0x3b, 0x80, 0x26, 0x6a, 0x45, 0x69, 0x37, 0xdf, 0xf1, 0xa1, 0xfc, 0x3d,
|
||||
0x74, 0x26, 0xab, 0x5f, 0xd2, 0xb9, 0x43, 0xe3, 0x31, 0xcf, 0xfc, 0xd9, 0xb6, 0x98, 0x14, 0xcc,
|
||||
0xee, 0x42, 0x9c, 0x6a, 0x85, 0x2b, 0x42, 0x6d, 0x89, 0x60, 0x5c, 0xbe, 0xb0, 0x59, 0x79, 0xe1,
|
||||
0x4f, 0xb0, 0x2f, 0xe4, 0x87, 0x89, 0x91, 0xda, 0xca, 0xc4, 0xa5, 0x99, 0xf6, 0x51, 0x4a, 0x3a,
|
||||
0x49, 0x80, 0x3d, 0x41, 0xdf, 0x15, 0xce, 0x76, 0xaa, 0x9c, 0xf1, 0xd7, 0xd0, 0x1b, 0xa3, 0x56,
|
||||
0x02, 0x6d, 0x9e, 0x69, 0x8b, 0xec, 0x01, 0x74, 0xd1, 0x98, 0xcc, 0x1c, 0x65, 0x0a, 0x29, 0x41,
|
||||
0x2c, 0xd6, 0x0e, 0xc6, 0xa1, 0x47, 0xc6, 0xaf, 0x68, 0xad, 0x9c, 0x22, 0xe5, 0xea, 0x8a, 0x2b,
|
||||
0x3e, 0xbe, 0x07, 0xdd, 0xa3, 0x99, 0x4c, 0xf5, 0x38, 0xc7, 0x84, 0xb7, 0x21, 0xfe, 0x79, 0x91,
|
||||
0xbb, 0x8f, 0xfc, 0xaf, 0x1d, 0x80, 0x97, 0x1e, 0x51, 0x9d, 0xea, 0x77, 0x19, 0xeb, 0x43, 0x7b,
|
||||
0x89, 0xc6, 0xa6, 0x99, 0x26, 0x90, 0xae, 0x28, 0x4d, 0x5f, 0xe8, 0x12, 0xb5, 0xca, 0x4c, 0x91,
|
||||
0xbc, 0xb0, 0x3c, 0xb4, 0x93, 0x4a, 0x99, 0xf1, 0x45, 0x9e, 0x67, 0xc6, 0x11, 0x05, 0x1d, 0x71,
|
||||
0xc5, 0xe7, 0x8b, 0x4f, 0x3c, 0xf4, 0x2b, 0xb9, 0xc0, 0x7e, 0x8b, 0xae, 0xaf, 0x1d, 0xec, 0x19,
|
||||
0x7c, 0x6e, 0x65, 0x3e, 0x4f, 0xf5, 0xf4, 0x79, 0xe2, 0xd2, 0xa5, 0xf4, 0x5c, 0xbd, 0x08, 0x9c,
|
||||
0xc4, 0xc4, 0x49, 0xdd, 0x31, 0xfb, 0x0e, 0xee, 0x24, 0x9e, 0x1d, 0x6d, 0x2f, 0xec, 0xa1, 0x91,
|
||||
0x3a, 0x99, 0x9d, 0xaa, 0xfe, 0x2e, 0xe5, 0xbf, 0x7e, 0xc0, 0x86, 0xb0, 0x47, 0x3d, 0x2c, 0x72,
|
||||
0xb7, 0x29, 0x77, 0xd5, 0xc5, 0x0d, 0x7c, 0x49, 0xfd, 0xca, 0xa5, 0x41, 0xed, 0x9e, 0x2b, 0x65,
|
||||
0xd0, 0x5a, 0x12, 0x40, 0xa1, 0x99, 0x3e, 0xb4, 0x65, 0xf0, 0x96, 0xf4, 0x14, 0x26, 0xfb, 0x11,
|
||||
0x62, 0xe3, 0xa5, 0x5c, 0xa8, 0xf1, 0xab, 0x9b, 0xd4, 0x44, 0x9a, 0x17, 0x21, 0x9e, 0x7f, 0x0b,
|
||||
0x9d, 0xe3, 0x0b, 0x43, 0xaf, 0x62, 0x0f, 0x01, 0x52, 0xed, 0xd0, 0x2c, 0xe5, 0xfc, 0xf7, 0x80,
|
||||
0xd0, 0x14, 0x15, 0x0f, 0x7f, 0x06, 0xbd, 0xd7, 0xa9, 0x9e, 0x5e, 0x8a, 0xe2, 0x2e, 0xc4, 0xa8,
|
||||
0x9d, 0xf9, 0x58, 0x84, 0x06, 0xc3, 0xcb, 0x0c, 0x57, 0x69, 0x10, 0x54, 0x53, 0xd0, 0x37, 0xff,
|
||||
0xa7, 0x01, 0x5f, 0x1c, 0x4b, 0x73, 0x6e, 0x53, 0x85, 0xd4, 0xee, 0x50, 0x97, 0x1a, 0x3b, 0xe9,
|
||||
0xd0, 0x33, 0x43, 0x13, 0xf5, 0x62, 0x3d, 0xbd, 0xb1, 0xa8, 0xba, 0x3c, 0xd3, 0xd7, 0x9a, 0x40,
|
||||
0x00, 0xb1, 0xb8, 0x7e, 0xc0, 0x06, 0xd0, 0x39, 0x0b, 0xac, 0x1f, 0x93, 0x1e, 0xba, 0xe2, 0xd2,
|
||||
0xde, 0xa0, 0x85, 0xfb, 0xb0, 0x4b, 0x0d, 0xb1, 0xfd, 0x78, 0xd8, 0xf4, 0x2a, 0x0b, 0xd6, 0x93,
|
||||
0x7f, 0xdb, 0x70, 0xe7, 0x28, 0xec, 0x9f, 0xc9, 0x6a, 0xec, 0x0c, 0xca, 0x05, 0x1a, 0x36, 0x81,
|
||||
0xfd, 0x13, 0x74, 0x2f, 0xa5, 0x43, 0xeb, 0x88, 0x59, 0x36, 0xac, 0xe1, 0xfd, 0x52, 0xf9, 0x83,
|
||||
0x0d, 0x73, 0xce, 0x23, 0xf6, 0x1b, 0x74, 0x4e, 0xb0, 0xc8, 0xb7, 0x21, 0x7a, 0xf0, 0x75, 0x1d,
|
||||
0x5e, 0xa8, 0x95, 0xc2, 0x78, 0xc4, 0xfe, 0x80, 0x5b, 0x65, 0xca, 0xb0, 0xf0, 0x36, 0xeb, 0x63,
|
||||
0xcb, 0xd4, 0x07, 0x0d, 0xf6, 0x86, 0x58, 0xa8, 0x2e, 0x9a, 0x47, 0x35, 0x57, 0xcb, 0xdd, 0x37,
|
||||
0xf8, 0xa6, 0x26, 0xe0, 0xea, 0xc2, 0xe2, 0x11, 0x7b, 0x0b, 0xb7, 0xfd, 0x1a, 0xaa, 0x26, 0xdf,
|
||||
0xee, 0x6e, 0x6d, 0xf9, 0xd5, 0xad, 0xc6, 0x23, 0x66, 0xe0, 0xf6, 0x09, 0x96, 0xa3, 0x36, 0x59,
|
||||
0xa5, 0xca, 0xb2, 0xa7, 0x75, 0xd5, 0xdf, 0x34, 0x9a, 0x5b, 0x3f, 0xe9, 0xa0, 0xc1, 0x04, 0x75,
|
||||
0xa3, 0xb2, 0xf5, 0x1e, 0xd4, 0xdc, 0xa5, 0x15, 0x39, 0xa8, 0xeb, 0xd5, 0x3a, 0x01, 0x8f, 0xd8,
|
||||
0x2b, 0x68, 0xf9, 0xd1, 0xac, 0xa5, 0xbe, 0x9c, 0xf1, 0x5a, 0x5e, 0xaa, 0x83, 0xcd, 0x23, 0xf6,
|
||||
0x1e, 0x1e, 0x95, 0xf3, 0x7a, 0x82, 0xee, 0x54, 0x27, 0xd9, 0x22, 0xd5, 0xd3, 0xca, 0x4b, 0xec,
|
||||
0x86, 0xaa, 0x3f, 0x81, 0x0f, 0x05, 0x9f, 0x95, 0x58, 0x63, 0x74, 0x61, 0x25, 0x1c, 0xd4, 0xbd,
|
||||
0xa3, 0x6e, 0x89, 0x0c, 0x6e, 0x2c, 0x87, 0x47, 0x87, 0xfb, 0x6f, 0xba, 0xe1, 0xc4, 0xe4, 0xc9,
|
||||
0xdf, 0x3b, 0xd1, 0xd9, 0x2e, 0xfd, 0x3f, 0x7c, 0xff, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xed,
|
||||
0x14, 0xda, 0xc7, 0x7e, 0x08, 0x00, 0x00,
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
@ -883,6 +872,12 @@ func (c *compactTxStreamerClient) GetLightdInfo(ctx context.Context, in *Empty,
|
|||
func (c *compactTxStreamerClient) Ping(ctx context.Context, in *Duration, opts ...grpc.CallOption) (*PingResponse, error) {
|
||||
out := new(PingResponse)
|
||||
err := c.cc.Invoke(ctx, "/cash.z.wallet.sdk.rpc.CompactTxStreamer/Ping", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *compactTxStreamerClient) DarksideGetIncomingTransactions(ctx context.Context, in *Empty, opts ...grpc.CallOption) (CompactTxStreamer_DarksideGetIncomingTransactionsClient, error) {
|
||||
stream, err := c.cc.NewStream(ctx, &_CompactTxStreamer_serviceDesc.Streams[2], "/cash.z.wallet.sdk.rpc.CompactTxStreamer/DarksideGetIncomingTransactions", opts...)
|
||||
if err != nil {
|
||||
|
@ -974,6 +969,7 @@ func (*UnimplementedCompactTxStreamerServer) GetLightdInfo(ctx context.Context,
|
|||
}
|
||||
func (*UnimplementedCompactTxStreamerServer) Ping(ctx context.Context, req *Duration) (*PingResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method Ping not implemented")
|
||||
}
|
||||
func (*UnimplementedCompactTxStreamerServer) DarksideGetIncomingTransactions(req *Empty, srv CompactTxStreamer_DarksideGetIncomingTransactionsServer) error {
|
||||
return status.Errorf(codes.Unimplemented, "method DarksideGetIncomingTransactions not implemented")
|
||||
}
|
||||
|
@ -1119,6 +1115,22 @@ func _CompactTxStreamer_GetLightdInfo_Handler(srv interface{}, ctx context.Conte
|
|||
|
||||
func _CompactTxStreamer_Ping_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(Duration)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(CompactTxStreamerServer).Ping(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/cash.z.wallet.sdk.rpc.CompactTxStreamer/Ping",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(CompactTxStreamerServer).Ping(ctx, req.(*Duration))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _CompactTxStreamer_DarksideGetIncomingTransactions_Handler(srv interface{}, stream grpc.ServerStream) error {
|
||||
m := new(Empty)
|
||||
if err := stream.RecvMsg(m); err != nil {
|
||||
|
@ -1146,16 +1158,13 @@ func _CompactTxStreamer_DarksideSetState_Handler(srv interface{}, ctx context.Co
|
|||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(CompactTxStreamerServer).Ping(ctx, in)
|
||||
return srv.(CompactTxStreamerServer).DarksideSetState(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/cash.z.wallet.sdk.rpc.CompactTxStreamer/Ping",
|
||||
FullMethod: "/cash.z.wallet.sdk.rpc.CompactTxStreamer/DarksideSetState",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(CompactTxStreamerServer).Ping(ctx, req.(*Duration))
|
||||
return srv.(CompactTxStreamerServer).DarksideSetState(ctx, req.(*DarksideLightwalletdState))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
|
@ -1188,6 +1197,8 @@ var _CompactTxStreamer_serviceDesc = grpc.ServiceDesc{
|
|||
{
|
||||
MethodName: "Ping",
|
||||
Handler: _CompactTxStreamer_Ping_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "DarksideSetState",
|
||||
Handler: _CompactTxStreamer_DarksideSetState_Handler,
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue