Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
ChainGrpcPro
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
duanjinfei
ChainGrpcPro
Commits
d4249455
Commit
d4249455
authored
Mar 28, 2023
by
duanjinfei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
change grpc bath sign tx
parent
077f0efa
Changes
38
Hide whitespace changes
Inline
Side-by-side
Showing
38 changed files
with
2139 additions
and
694 deletions
+2139
-694
.gitignore
.gitignore
+1
-0
Makefile
MetaCryptor-main/Makefile
+8
-3
main.go
MetaCryptor-main/cmd/metacryptor/main.go
+8
-0
misccmd.go
MetaCryptor-main/cmd/metacryptor/misccmd.go
+28
-0
rootcmd.go
MetaCryptor-main/cmd/metacryptor/rootcmd.go
+119
-0
main.go
MetaCryptor-main/cmd/testclient/main.go
+88
-0
Account.go
MetaCryptor-main/common/Account.go
+8
-8
log.go
MetaCryptor-main/common/log/log.go
+3
-9
config.toml
MetaCryptor-main/config.toml
+2
-0
Config.go
MetaCryptor-main/config/Config.go
+49
-0
signTx.go
MetaCryptor-main/crypto/signTx.go
+37
-0
go.mod
MetaCryptor-main/go.mod
+21
-3
go.sum
MetaCryptor-main/go.sum
+393
-9
main.go
MetaCryptor-main/main.go
+0
-75
service.go
MetaCryptor-main/service/service.go
+20
-46
task.go
MetaCryptor-main/worker/task.go
+63
-0
worker.go
MetaCryptor-main/worker/worker.go
+142
-0
.gitignore
MetaProtocol-main/.gitignore
+1
-0
request_response.proto
...rotocol-main/crypterapi/crypter/v1/request_response.proto
+8
-0
service.proto
MetaProtocol-main/crypterapi/crypter/v1/service.proto
+1
-0
request_response.pb.go
...tocol-main/gen/proto/go/crypter/v1/request_response.pb.go
+122
-33
service.pb.go
MetaProtocol-main/gen/proto/go/crypter/v1/service.pb.go
+21
-20
service_grpc.pb.go
MetaProtocol-main/gen/proto/go/crypter/v1/service_grpc.pb.go
+36
-0
account_req_res.pb.go
...rotocol-main/gen/proto/go/nebula/v1/account_req_res.pb.go
+150
-123
account_req_res.pb.go
MetaProtocol-main/gen/proto/go/ring/v1/account_req_res.pb.go
+134
-130
service.pb.go
MetaProtocol-main/gen/proto/go/ring/v1/service.pb.go
+338
-167
service_grpc.pb.go
MetaProtocol-main/gen/proto/go/ring/v1/service_grpc.pb.go
+74
-2
go.mod
MetaProtocol-main/go.mod
+7
-0
go.sum
MetaProtocol-main/go.sum
+63
-0
account_req_res.proto
MetaProtocol-main/nebulaapi/nebula/v1/account_req_res.proto
+6
-9
account_req_res.proto
MetaProtocol-main/ringapi/ring/v1/account_req_res.proto
+14
-7
service.proto
MetaProtocol-main/ringapi/ring/v1/service.proto
+45
-7
app.json
config/app.json
+2
-1
main.go
main.go
+1
-1
startTest.go
startTest.go
+5
-4
Config.go
tool/Config.go
+1
-0
bathTest.go
transaction/bathTest.go
+11
-24
signedTx.go
transaction/signedTx.go
+109
-13
No files found.
.gitignore
View file @
d4249455
...
...
@@ -2,3 +2,4 @@
logs
root
cpuProfile.prof
*.DS_Store
\ No newline at end of file
MetaCryptor-main/Makefile
View file @
d4249455
...
...
@@ -4,18 +4,23 @@ GOBIN = $(shell pwd)/build/bin
GO
?=
latest
GOFILES_NOVENDOR
:=
$(
shell
go list
-f
"{{.Dir}}"
./...
)
default
:
metacryptor
default
:
metacryptor
testclient
all
:
metacryptor metacryptor-ocl
all
:
metacryptor metacryptor-ocl
testclient
metacryptor-ocl
:
go build
-tags
opencl
-o
=
${
GOBIN
}
/
$@
@
echo
"Done building."
metacryptor
:
go build
-o
=
${
GOBIN
}
/
$@
go build
-o
=
${
GOBIN
}
/
$@
./cmd/metacryptor
@
echo
"Done building."
testclient
:
go build
-o
=
${
GOBIN
}
/
$@
./cmd/testclient
@
echo
"Done building."
clean
:
rm
-fr
build/
*
docker
:
...
...
MetaCryptor-main/cmd/metacryptor/main.go
0 → 100644
View file @
d4249455
package
main
import
"runtime"
func
main
()
{
runtime
.
GOMAXPROCS
(
runtime
.
NumCPU
())
Execute
()
}
MetaCryptor-main/cmd/metacryptor/misccmd.go
0 → 100644
View file @
d4249455
package
main
import
(
"fmt"
"github.com/spf13/cobra"
)
var
versionDetail
bool
func
init
()
{
RootCmd
.
AddCommand
(
versionCmd
)
versionDetail
=
*
versionCmd
.
Flags
()
.
BoolP
(
"detail"
,
"d"
,
true
,
"Print detail version info"
)
}
// versionCmd represents the base command when called without any subcommands
var
versionCmd
=
&
cobra
.
Command
{
Use
:
"version"
,
Short
:
"Print version number"
,
Long
:
``
,
Run
:
func
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
if
versionDetail
{
fmt
.
Println
(
"detail version:v1.0.0"
)
}
else
{
fmt
.
Println
(
"version:v1.0.0"
)
}
},
}
MetaCryptor-main/cmd/metacryptor/rootcmd.go
0 → 100644
View file @
d4249455
package
main
import
(
"fmt"
"github.com/CaduceusMetaverseProtocol/MetaCryptor/common/log"
"github.com/CaduceusMetaverseProtocol/MetaCryptor/config"
"github.com/CaduceusMetaverseProtocol/MetaCryptor/service"
"github.com/CaduceusMetaverseProtocol/MetaCryptor/worker"
"github.com/CaduceusMetaverseProtocol/MetaCryptor/xecc"
"github.com/fsnotify/fsnotify"
"github.com/spf13/cobra"
"github.com/spf13/viper"
"google.golang.org/grpc"
"net"
"os"
"path"
"path/filepath"
"sync"
)
var
cfgFile
string
var
Verbose
bool
var
routineCount
uint
// RootCmd represents the base command when called without any subcommands
var
RootCmd
=
&
cobra
.
Command
{
Use
:
"metacryptor"
,
Short
:
"The MetaCryptor command-line interface"
,
Long
:
``
,
Run
:
func
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
runNode
()
},
// Uncomment the following line if your bare application
// has an action associated with it:
// Run: func(cmd *cobra.Command, args []string) { },
}
func
Execute
()
{
if
err
:=
RootCmd
.
Execute
();
err
!=
nil
{
log
.
Fatal
(
err
)
os
.
Exit
(
-
1
)
}
}
func
init
()
{
cobra
.
OnInitialize
(
initConfig
)
RootCmd
.
PersistentFlags
()
.
UintVar
(
&
routineCount
,
"routine"
,
2
,
"routine count for corrupt do task"
)
RootCmd
.
PersistentFlags
()
.
StringVar
(
&
cfgFile
,
"config"
,
"config.toml"
,
"config file (default is ./config.yaml)"
)
RootCmd
.
PersistentFlags
()
.
BoolVarP
(
&
Verbose
,
"verbose"
,
"v"
,
false
,
"verbose output"
)
}
// initConfig reads in config file and ENV variables if set.
func
initConfig
()
{
log
.
InitLog
()
dir
,
err
:=
filepath
.
Abs
(
filepath
.
Dir
(
os
.
Args
[
0
]))
if
err
!=
nil
{
log
.
Fatal
(
err
)
}
viper
.
SetConfigName
(
"config"
)
// name of config file (without extension)
if
cfgFile
!=
""
{
// enable ability to specify config file via flag
//log.Warn(">>> cfgFile: ", cfgFile)
viper
.
SetConfigFile
(
cfgFile
)
configDir
:=
path
.
Dir
(
cfgFile
)
if
configDir
!=
"."
&&
configDir
!=
dir
{
viper
.
AddConfigPath
(
configDir
)
}
}
viper
.
AddConfigPath
(
"."
)
viper
.
AutomaticEnv
()
// read in environment variables that match
// If a config file is found, read it in.
if
err
:=
viper
.
ReadInConfig
();
err
==
nil
{
log
.
Info
(
"Using config file:"
,
viper
.
ConfigFileUsed
())
}
else
{
log
.
Error
(
"Read config failed"
,
"error"
,
err
)
return
}
_
,
err
=
config
.
ParseConfig
(
viper
.
ConfigFileUsed
())
if
err
!=
nil
{
log
.
WithField
(
"error"
,
err
)
.
Fatal
(
"parse config failed"
)
return
}
//log.Info("config is", config.GetConfig())
config
.
GetConfig
()
.
SetRoutineCount
(
routineCount
)
viper
.
WatchConfig
()
viper
.
OnConfigChange
(
func
(
e
fsnotify
.
Event
)
{
log
.
Warn
(
"Config file changed:"
,
e
.
Name
)
})
}
func
runNode
()
{
xecc
.
XeccInstance
()
wk
:=
worker
.
NewWorker
()
wk
.
Start
()
lis
,
err
:=
net
.
Listen
(
"tcp"
,
config
.
GetConfig
()
.
GpcAddress
)
if
err
!=
nil
{
fmt
.
Printf
(
"failed to listen: %v"
,
err
)
return
}
s
:=
grpc
.
NewServer
()
service
.
RegisterCrypter
(
s
,
wk
)
err
=
s
.
Serve
(
lis
)
if
err
!=
nil
{
fmt
.
Printf
(
"failed to serve: %v"
,
err
)
return
}
wg
:=
sync
.
WaitGroup
{}
wg
.
Add
(
1
)
wg
.
Wait
()
}
MetaCryptor-main/cmd/testclient/main.go
0 → 100644
View file @
d4249455
package
main
import
(
"context"
"github.com/CaduceusMetaverseProtocol/MetaCryptor/common"
"github.com/CaduceusMetaverseProtocol/MetaCryptor/common/log"
basetype
"github.com/CaduceusMetaverseProtocol/MetaProtocol/gen/proto/go/base/v1"
metacrypter
"github.com/CaduceusMetaverseProtocol/MetaProtocol/gen/proto/go/crypter/v1"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
"math/big"
)
func
main
()
{
client
,
err
:=
grpc
.
Dial
(
"127.0.0.1:38001"
,
grpc
.
WithTransportCredentials
(
insecure
.
NewCredentials
()))
if
err
!=
nil
{
log
.
Error
(
"dial server failed"
,
err
)
}
accounts
:=
common
.
CreateAccounts
(
1
)
log
.
Info
(
"account address is "
,
accounts
[
0
]
.
Address
.
String
())
tmptx
:=
accounts
[
0
]
.
MakeInitTx
(
big
.
NewInt
(
100
))
crypterclient
:=
metacrypter
.
NewCrypterServiceClient
(
client
)
signTxReq
:=
new
(
metacrypter
.
BatchSignTxRequest
)
signTxReq
.
RawTx
=
make
([]
*
basetype
.
MetaTxBase
,
0
)
{
var
err
error
stx
:=
&
basetype
.
MetaTxBase
{
TxHash
:
common
.
ToHash
(
tmptx
.
Hash
()
.
Bytes
()),
TxType
:
1
,
ChainId
:
common
.
FromBigInt
(
big
.
NewInt
(
100
)),
Gas
:
tmptx
.
Gas
(),
GasPrice
:
common
.
FromBigInt
(
tmptx
.
GasPrice
()),
Value
:
common
.
FromBigInt
(
tmptx
.
Value
()),
Data
:
tmptx
.
Data
(),
Nonce
:
tmptx
.
Nonce
(),
To
:
common
.
FromEthAddress
(
tmptx
.
To
()),
}
signTxReq
.
RawTx
=
append
(
signTxReq
.
RawTx
,
stx
)
signTxReq
.
Private
=
common
.
FromHex
(
accounts
[
0
]
.
Private
)
signRes
,
err
:=
crypterclient
.
BatchSignTx
(
context
.
Background
(),
signTxReq
)
if
err
!=
nil
{
log
.
Errorf
(
"batch sign tx failed with error:(%s)"
,
err
)
return
}
recoverReq
:=
new
(
metacrypter
.
BatchRecoverTxRequest
)
recoverReq
.
RawTx
=
signRes
.
SignedTx
recoverRes
,
err
:=
crypterclient
.
BatchRecoverTx
(
context
.
Background
(),
recoverReq
,
grpc
.
EmptyCallOption
{})
if
err
!=
nil
{
log
.
Error
(
"batch recover batch signed tx failed"
,
err
)
}
else
{
log
.
Info
(
"recover batch signed tx got from "
,
recoverRes
.
RecoverdTx
[
0
]
.
From
)
}
}
{
req
:=
new
(
metacrypter
.
BatchRecoverTxRequest
)
req
.
RawTx
=
make
([]
*
basetype
.
MetaTxBase
,
0
)
v
,
r
,
s
:=
tmptx
.
RawSignatureValues
()
log
.
WithField
(
"txhash"
,
tmptx
.
Hash
()
.
String
())
.
Info
(
"txhash"
)
log
.
WithField
(
"r"
,
common
.
Bytes2Hex
(
r
.
Bytes
()))
.
Info
(
"tx r"
)
log
.
WithField
(
"s"
,
common
.
Bytes2Hex
(
s
.
Bytes
()))
.
Info
(
"tx s"
)
log
.
WithField
(
"v"
,
common
.
Bytes2Hex
(
v
.
Bytes
()))
.
Info
(
"tx v"
)
rtx
:=
&
basetype
.
MetaTxBase
{
TxHash
:
common
.
ToHash
(
tmptx
.
Hash
()
.
Bytes
()),
TxType
:
1
,
ChainId
:
common
.
FromBigInt
(
big
.
NewInt
(
100
)),
Gas
:
tmptx
.
Gas
(),
GasPrice
:
common
.
FromBigInt
(
tmptx
.
GasPrice
()),
Value
:
common
.
FromBigInt
(
tmptx
.
Value
()),
Data
:
tmptx
.
Data
(),
Nonce
:
tmptx
.
Nonce
(),
To
:
common
.
FromEthAddress
(
tmptx
.
To
()),
R
:
common
.
FromBigInt
(
r
),
S
:
common
.
FromBigInt
(
s
),
V
:
common
.
FromBigInt
(
v
),
}
req
.
RawTx
=
append
(
req
.
RawTx
,
rtx
)
res
,
err
:=
crypterclient
.
BatchRecoverTx
(
context
.
Background
(),
req
,
grpc
.
EmptyCallOption
{})
if
err
!=
nil
{
log
.
Error
(
"batch recover tx failed"
,
err
)
}
log
.
Info
(
"recover got from "
,
res
.
RecoverdTx
[
0
]
.
From
)
}
}
MetaCryptor-main/Account.go
→
MetaCryptor-main/
common/
Account.go
View file @
d4249455
package
mai
n
package
commo
n
import
(
"crypto/ecdsa"
...
...
@@ -10,10 +10,10 @@ import (
)
type
Account
struct
{
Address
common
.
Address
`json:"address"`
Private
string
`json:"private"`
Nonce
uint64
`json:"nonce"`
PK
*
ecdsa
.
PrivateKey
`json:"-"`
Address
common
.
Address
`json:"address"`
Private
string
`json:"private"`
Nonce
uint64
`json:"nonce"`
PK
*
ecdsa
.
PrivateKey
`json:"-"`
}
func
(
acc
*
Account
)
MakeInitTx
(
chainid
*
big
.
Int
)
*
types
.
Transaction
{
...
...
@@ -33,7 +33,7 @@ func (acc *Account) MakeInitTx(chainid *big.Int) *types.Transaction {
return
tx
}
func
(
acc
*
Account
)
SignTx
(
tx
*
types
.
Transaction
,
chainid
*
big
.
Int
)
(
*
types
.
Transaction
,
error
){
func
(
acc
*
Account
)
SignTx
(
tx
*
types
.
Transaction
,
chainid
*
big
.
Int
)
(
*
types
.
Transaction
,
error
)
{
signedTx
,
err
:=
types
.
SignTx
(
tx
,
types
.
NewEIP155Signer
(
chainid
),
acc
.
PK
)
if
err
!=
nil
{
return
nil
,
err
...
...
@@ -43,8 +43,8 @@ func (acc *Account) SignTx(tx *types.Transaction, chainid *big.Int) (*types.Tran
func
CreateAccounts
(
count
int
)
[]
*
Account
{
accs
:=
make
([]
*
Account
,
0
,
count
)
for
i
:=
0
;
i
<
count
;
i
++
{
pk
,
_
:=
crypto
.
GenerateKey
()
for
i
:=
0
;
i
<
count
;
i
++
{
pk
,
_
:=
crypto
.
GenerateKey
()
addr
:=
crypto
.
PubkeyToAddress
(
pk
.
PublicKey
)
private
:=
hexutil
.
Encode
(
crypto
.
FromECDSA
(
pk
))
accs
=
append
(
accs
,
&
Account
{
Address
:
addr
,
Private
:
private
,
PK
:
pk
})
...
...
MetaCryptor-main/common/log/log.go
View file @
d4249455
...
...
@@ -16,20 +16,14 @@ var (
type
LogConfig
struct
{
Save
uint
`json:"save"`
Path
string
`json:"path"`
Level
string
`json:"level"`
}
func
InitLog
(
logConfig
LogConfig
)
{
func
InitLog
()
{
mlog
.
Out
=
os
.
Stdout
var
loglevel
logrus
.
Level
err
:=
loglevel
.
UnmarshalText
([]
byte
(
logConfig
.
Level
))
if
err
!=
nil
{
mlog
.
Panicf
(
"set log level failed: %v"
,
err
)
}
mlog
.
SetLevel
(
loglevel
)
mlog
.
SetLevel
(
logrus
.
InfoLevel
)
mlog
.
Formatter
=
&
logrus
.
TextFormatter
{
FullTimestamp
:
true
,
TimestampFormat
:
"2006-01-2 15:04:05.000"
}
localFilesystemLogger
(
mlog
,
logConfig
.
Path
,
logConfig
.
Save
)
//
localFilesystemLogger(mlog, logConfig.Path, logConfig.Save)
}
func
logWriter
(
logPath
string
,
level
string
,
save
uint
)
*
rotatelogs
.
RotateLogs
{
...
...
MetaCryptor-main/config.toml
0 → 100644
View file @
d4249455
grpc_addr
=
":38002"
chain_id
=
512512
\ No newline at end of file
MetaCryptor-main/config/Config.go
0 → 100644
View file @
d4249455
package
config
import
(
"github.com/BurntSushi/toml"
"github.com/CaduceusMetaverseProtocol/MetaCryptor/common/log"
"github.com/spf13/viper"
"io/ioutil"
"runtime"
)
type
Config
struct
{
GpcAddress
string
`json:"grpc_addr" toml:"grpc_addr"`
ChainId
int64
`json:"chain_id" toml:"chain_id"`
RootDir
string
}
var
_cfg
*
Config
=
nil
func
(
conf
*
Config
)
SetRoutineCount
(
n
uint
)
{
viper
.
Set
(
"routine_count"
,
n
)
}
func
(
conf
*
Config
)
GetRoutineCount
()
uint
{
root
:=
viper
.
GetUint
(
"routine_count"
)
if
root
<=
0
{
root
=
uint
(
runtime
.
NumCPU
())
}
return
root
}
func
ParseConfig
(
path
string
)
(
*
Config
,
error
)
{
data
,
err
:=
ioutil
.
ReadFile
(
path
)
if
err
!=
nil
{
log
.
Error
(
"get config failed"
,
"err"
,
err
)
panic
(
err
)
}
err
=
toml
.
Unmarshal
(
data
,
&
_cfg
)
//err = json.Unmarshal(data, &_cfg)
if
err
!=
nil
{
log
.
Error
(
"unmarshal config failed"
,
"err"
,
err
)
panic
(
err
)
}
return
_cfg
,
nil
}
func
GetConfig
()
*
Config
{
return
_cfg
}
MetaCryptor-main/crypto/signTx.go
0 → 100644
View file @
d4249455
package
crypto
import
(
"github.com/CaduceusMetaverseProtocol/MetaCryptor/common"
basev1
"github.com/CaduceusMetaverseProtocol/MetaProtocol/gen/proto/go/base/v1"
"github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/crypto"
"math/big"
)
func
SignTx
(
pk
[]
byte
,
tx
*
basev1
.
MetaTxBase
,
chainid
*
big
.
Int
)
error
{
txdata
:=
&
types
.
LegacyTx
{
Nonce
:
tx
.
Nonce
,
GasPrice
:
common
.
ToBigInt
(
tx
.
GasPrice
),
Gas
:
tx
.
Gas
,
To
:
common
.
ToEthAddress
(
tx
.
To
),
Value
:
common
.
ToBigInt
(
tx
.
Value
),
Data
:
tx
.
Data
,
}
ntx
:=
types
.
NewTx
(
txdata
)
signer
:=
types
.
NewEIP155Signer
(
chainid
)
privk
,
err
:=
crypto
.
ToECDSA
(
pk
)
if
err
!=
nil
{
return
err
}
signedTx
,
err
:=
types
.
SignTx
(
ntx
,
signer
,
privk
)
if
err
!=
nil
{
return
err
}
v
,
r
,
s
:=
signedTx
.
RawSignatureValues
()
tx
.
R
=
common
.
FromBigInt
(
r
)
tx
.
S
=
common
.
FromBigInt
(
s
)
tx
.
V
=
common
.
FromBigInt
(
v
)
return
nil
}
MetaCryptor-main/go.mod
View file @
d4249455
...
...
@@ -3,34 +3,52 @@ module github.com/CaduceusMetaverseProtocol/MetaCryptor
go 1.18
require (
github.com/BurntSushi/toml v0.3.1
github.com/CaduceusMetaverseProtocol/MetaProtocol v0.0.1
github.com/CaduceusMetaverseProtocol/MetaTypes v1.0.0
github.com/btcsuite/btcd v0.21.0-beta
github.com/ethereum/go-ethereum v1.10.26
github.com/fsnotify/fsnotify v1.6.0
github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible
github.com/rakyll/statik v0.1.7
github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5
github.com/sirupsen/logrus v1.9.0
github.com/spf13/cobra v1.6.1
github.com/spf13/viper v1.15.0
github.com/tjfoc/gmsm v1.4.1
golang.org/x/crypto v0.5.0
google.golang.org/grpc v1.5
1
.0
google.golang.org/grpc v1.5
2
.0
)
require (
github.com/CaduceusMetaverseProtocol/MetaTypes v1.0.0 // indirect
github.com/btcsuite/btcd/btcec/v2 v2.2.0 // indirect
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/protobuf v1.5.2 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/inconshreveable/mousetrap v1.0.1 // indirect
github.com/jonboulle/clockwork v0.3.0 // indirect
github.com/lestrrat-go/strftime v1.0.6 // indirect
github.com/magiconair/properties v1.8.7 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/pelletier/go-toml/v2 v2.0.6 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/spf13/afero v1.9.3 // indirect
github.com/spf13/cast v1.5.0 // indirect
github.com/spf13/jwalterweatherman v1.1.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/subosito/gotenv v1.4.2 // indirect
golang.org/x/net v0.5.0 // indirect
golang.org/x/sys v0.4.0 // indirect
golang.org/x/text v0.6.0 // indirect
google.golang.org/genproto v0.0.0-202212
05194025-8222ab48f5fc
// indirect
google.golang.org/genproto v0.0.0-202212
27171554-f9683d7f8bef
// indirect
google.golang.org/protobuf v1.28.1 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
replace github.com/CaduceusMetaverseProtocol/MetaProtocol => ../MetaProtocol-main
replace github.com/CaduceusMetaverseProtocol/MetaTypes => ../MetaTypes-main
replace github.com/ethereum/go-ethereum => github.com/CaduceusMetaverseProtocol/go-ethereum v1.10.26
MetaCryptor-main/go.sum
View file @
d4249455
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To=
cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4=
cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M=
cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc=
cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk=
cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs=
cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc=
cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI=
cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk=
cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY=
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU=
cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos=
cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/CaduceusMetaverseProtocol/go-ethereum v1.10.26 h1:+bPap43xrI8JBvlzEaAcBvhBZN5z0keRRd7lEn9UkqQ=
github.com/CaduceusMetaverseProtocol/go-ethereum v1.10.26/go.mod h1:EYFyF19u3ezGLD4RqOkLq+ZCXzYbLoNDdZlMt7kyKFg=
github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 h1:fLjPD/aNc3UIOA6tDi6QXUemppXK3P9BI7mr2hd6gx8=
github.com/VictoriaMetrics/fastcache v1.6.0 h1:C/3Oi3EiBCqufydp1neRZkqcwmEiuRT9c3fqvvgKm5o=
github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII=
...
...
@@ -20,8 +61,14 @@ github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtE
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.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
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/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
...
...
@@ -32,59 +79,128 @@ github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 h1:YLtO71vCjJRCBcrPMtQ9nqBsqpA1
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs=
github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po=
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/ethereum/go-ethereum v1.10.26 h1:i/7d9RBBwiXCEuyduBQzJw/mKmnvzsN14jqBmytw72s=
github.com/ethereum/go-ethereum v1.10.26/go.mod h1:EYFyF19u3ezGLD4RqOkLq+ZCXzYbLoNDdZlMt7kyKFg=
github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-ole/go-ole v1.2.1 h1:2lOsA72HgjxAuMlKpFiCbHTvu44PIVkZ5hqm3RSdI/E=
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
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=
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
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.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
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.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.4/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.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc=
github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
github.com/jonboulle/clockwork v0.3.0 h1:9BSCMi8C+0qdApAp4auwX0RkLGUjs956h0EkuQymUhg=
github.com/jonboulle/clockwork v0.3.0/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8=
github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4=
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc h1:RKf14vYWi2ttpEmkA4aQ3j4u9dStX2t4M8UM6qqNsG8=
github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc/go.mod h1:kopuH9ugFRkIXf3YoqHKyrJ9YfUFsckUU9S7B+XP+is=
github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible h1:Y6sqxHMyB1D2YSzWkLibYKgg+SwmyFU9dF2hn6MdTj4=
github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible/go.mod h1:ZQnN8lSECaebrkQytbHj4xNgtg8CR7RYXnPok8e0EHA=
github.com/lestrrat-go/strftime v1.0.6 h1:CFGsDEt1pOpFNU+TJB0nhz9jl+K0hZSLE205AhTIGQQ=
github.com/lestrrat-go/strftime v1.0.6/go.mod h1:f7jQKgV5nnJpYgdEasS+/y7EsTb8ykN2z68n3TtcTaw=
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU=
github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
...
...
@@ -93,106 +209,374 @@ github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ=
github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc=
github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5 h1:mZHayPoR0lNmnHyvtYjDeq0zlVHn9K/ZXoy17ylucdo=
github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5/go.mod h1:GEXHk5HgEKCvEIIrSpFI3ozzG5xOKA2DVlEX/gGnewM=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible h1:Bn1aCHHRnjv4Bl16T8rcaFjYSrGrIZvpiGO6P3Q4GpU=
github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0=
github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk=
github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y=
github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA=
github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY=
github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU=
github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.2 h1:4jaiDzPyXQvSd7D0EjG45355tLlV3VOECpq10pLC+8s=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8=
github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY=
github.com/tjfoc/gmsm v1.4.1 h1:aMe1GlZb+0bLjn+cKTPEvvn9oUEBlJitaZiiBwsbgho=
github.com/tjfoc/gmsm v1.4.1/go.mod h1:j4INPkHWMrhJb38G+J6W4Tw0AbuN8Thu3PbdVYhVcTE=
github.com/tklauser/go-sysconf v0.3.5 h1:uu3Xl4nkLzQfXNsWn15rPc/HQCJKObbt1dKJeWp3vU4=
github.com/tklauser/numcpus v0.2.2 h1:oyhllyrScuYI6g+h/zUvNXNp1wy7x8qQy3t/piefldA=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.5.0 h1:U/0M97KRkSFvyD/3FSmdP5W5swImpNgle/EHFhOsQPE=
golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek=
golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.5.0 h1:GyT4nK/YDHSqa1c4753ouYCDajOYKTja9Xb/OHtgvSw=
golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18=
golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.6.0 h1:3XmdazWV+ubf7QgHSTWeykHOci5oeekaGJBLkrkaw4k=
golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE=
golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
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=
golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df h1:5Pf6pFKu98ODmgnpvkJ3kFUOQGGLIzLIkbzUHp47618=
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg=
google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE=
google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8=
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/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20221205194025-8222ab48f5fc h1:nUKKji0AarrQKh6XpFEpG3p1TNztxhe7C8TcUvDgXqw=
google.golang.org/genproto v0.0.0-20221205194025-8222ab48f5fc/go.mod h1:1dOng4TWOomJrDGhpXjfCD35wQC6jnC7HpRmOFRqEV0=
google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA=
google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef h1:uQ2vjV/sHTsWSqdKeLqmwitzgvjMl7o4IdtHwUDXSJY=
google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
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.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
google.golang.org/grpc v1.51.0 h1:E1eGv1FTqoLIdnBCZufiSHgKjlqG6fKFf6pPWtMTh8U=
google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww=
google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8=
google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.52.0 h1:kd48UiU7EHsV4rnLyOJRuP/Il/UHE7gdDAQ+SZI7nZk=
google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY=
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.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
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.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w=
google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
MetaCryptor-main/main.go
deleted
100644 → 0
View file @
077f0efa
package
main
import
(
"context"
"fmt"
"github.com/CaduceusMetaverseProtocol/MetaCryptor/common"
"github.com/CaduceusMetaverseProtocol/MetaCryptor/common/log"
"github.com/CaduceusMetaverseProtocol/MetaCryptor/service"
"github.com/CaduceusMetaverseProtocol/MetaCryptor/xecc"
basetype
"github.com/CaduceusMetaverseProtocol/MetaProtocol/gen/proto/go/base/v1"
metacrypter
"github.com/CaduceusMetaverseProtocol/MetaProtocol/gen/proto/go/crypter/v1"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
"math/big"
"net"
"time"
)
func
test
()
{
time
.
Sleep
(
time
.
Second
*
4
)
client
,
err
:=
grpc
.
Dial
(
"127.0.0.1:38001"
,
grpc
.
WithTransportCredentials
(
insecure
.
NewCredentials
()))
if
err
!=
nil
{
log
.
Error
(
"dial server failed"
,
err
)
}
accounts
:=
CreateAccounts
(
1
)
log
.
Info
(
"account address is "
,
accounts
[
0
]
.
Address
.
String
())
tx
:=
accounts
[
0
]
.
MakeInitTx
(
big
.
NewInt
(
100
))
crypterclient
:=
metacrypter
.
NewCrypterServiceClient
(
client
)
req
:=
new
(
metacrypter
.
BatchRecoverTxRequest
)
req
.
RawTx
=
make
([]
*
basetype
.
MetaTxBase
,
0
)
v
,
r
,
s
:=
tx
.
RawSignatureValues
()
log
.
WithField
(
"txhash"
,
tx
.
Hash
()
.
String
())
.
Info
(
"txhash"
)
log
.
WithField
(
"r"
,
common
.
Bytes2Hex
(
r
.
Bytes
()))
.
Info
(
"tx r"
)
log
.
WithField
(
"s"
,
common
.
Bytes2Hex
(
s
.
Bytes
()))
.
Info
(
"tx s"
)
log
.
WithField
(
"v"
,
common
.
Bytes2Hex
(
v
.
Bytes
()))
.
Info
(
"tx v"
)
rtx
:=
&
basetype
.
MetaTxBase
{
TxHash
:
common
.
ToHash
(
tx
.
Hash
()
.
Bytes
()),
TxType
:
1
,
ChainId
:
common
.
FromBigInt
(
big
.
NewInt
(
100
)),
Gas
:
tx
.
Gas
(),
GasPrice
:
common
.
FromBigInt
(
tx
.
GasPrice
()),
Value
:
common
.
FromBigInt
(
tx
.
Value
()),
Data
:
tx
.
Data
(),
Nonce
:
tx
.
Nonce
(),
To
:
common
.
FromEthAddress
(
tx
.
To
()),
R
:
common
.
FromBigInt
(
r
),
S
:
common
.
FromBigInt
(
s
),
V
:
common
.
FromBigInt
(
v
),
}
req
.
RawTx
=
append
(
req
.
RawTx
,
rtx
)
res
,
err
:=
crypterclient
.
BatchRecoverTx
(
context
.
Background
(),
req
,
grpc
.
EmptyCallOption
{})
if
err
!=
nil
{
log
.
Error
(
"batch recover tx failed"
,
err
)
}
log
.
Info
(
"recover got from "
,
res
.
RecoverdTx
[
0
]
.
From
)
}
func
main
()
{
xecc
.
XeccInstance
()
lis
,
err
:=
net
.
Listen
(
"tcp"
,
":38001"
)
if
err
!=
nil
{
fmt
.
Printf
(
"failed to listen: %v"
,
err
)
return
}
s
:=
grpc
.
NewServer
()
service
.
RegisterCrypter
(
s
)
go
test
()
err
=
s
.
Serve
(
lis
)
if
err
!=
nil
{
fmt
.
Printf
(
"failed to serve: %v"
,
err
)
return
}
}
MetaCryptor-main/service/service.go
View file @
d4249455
...
...
@@ -2,74 +2,48 @@ package service
import
(
"context"
"encoding/hex"
"github.com/CaduceusMetaverseProtocol/MetaCryptor/common"
"github.com/CaduceusMetaverseProtocol/MetaCryptor/common/log"
metatypes
"github.com/CaduceusMetaverseProtocol/MetaTypes/types"
"math/big"
"github.com/CaduceusMetaverseProtocol/MetaCryptor/crypto"
"github.com/CaduceusMetaverseProtocol/MetaCryptor/worker"
metacrypter
"github.com/CaduceusMetaverseProtocol/MetaProtocol/gen/proto/go/crypter/v1"
metatypes
"github.com/CaduceusMetaverseProtocol/MetaTypes/types"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)
type
CrypterServer
struct
{
worker
*
worker
.
Worker
metacrypter
.
UnimplementedCrypterServiceServer
}
func
(
*
CrypterServer
)
BatchSign
(
ctx
context
.
Context
,
req
*
metacrypter
.
BatchSignRequest
)
(
*
metacrypter
.
BatchSignResponse
,
error
)
{
func
(
s
*
CrypterServer
)
BatchSign
(
ctx
context
.
Context
,
req
*
metacrypter
.
BatchSignRequest
)
(
*
metacrypter
.
BatchSignResponse
,
error
)
{
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method BatchSign not implemented"
)
}
func
(
*
CrypterServer
)
BatchVerify
(
ctx
context
.
Context
,
req
*
metacrypter
.
BatchVerifyRequest
)
(
*
metacrypter
.
BatchVerifyResponse
,
error
)
{
func
(
s
*
CrypterServer
)
BatchVerify
(
ctx
context
.
Context
,
req
*
metacrypter
.
BatchVerifyRequest
)
(
*
metacrypter
.
BatchVerifyResponse
,
error
)
{
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method BatchVerify not implemented"
)
}
func
(
*
CrypterServer
)
BatchRecover
(
ctx
context
.
Context
,
req
*
metacrypter
.
BatchRecoverRequest
)
(
*
metacrypter
.
BatchRecoverResponse
,
error
)
{
func
(
s
*
CrypterServer
)
BatchRecover
(
ctx
context
.
Context
,
req
*
metacrypter
.
BatchRecoverRequest
)
(
*
metacrypter
.
BatchRecoverResponse
,
error
)
{
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method BatchRecover not implemented"
)
}
func
(
*
CrypterServer
)
BatchRecoverTx
(
ctx
context
.
Context
,
req
*
metacrypter
.
BatchRecoverTxRequest
)
(
*
metacrypter
.
BatchRecoverTxResponse
,
error
)
{
func
(
s
*
CrypterServer
)
BatchSignTx
(
ctx
context
.
Context
,
req
*
metacrypter
.
BatchSignTxRequest
)
(
*
metacrypter
.
BatchSignTxResponse
,
error
)
{
log
.
Info
(
"server get batch recover tx request"
)
signedTxs
:=
s
.
worker
.
BatchSignTx
(
req
.
RawTx
,
req
.
Private
)
response
:=
new
(
metacrypter
.
BatchSignTxResponse
)
response
.
SignedTx
=
signedTxs
return
response
,
nil
}
func
(
s
*
CrypterServer
)
BatchRecoverTx
(
ctx
context
.
Context
,
req
*
metacrypter
.
BatchRecoverTxRequest
)
(
*
metacrypter
.
BatchRecoverTxResponse
,
error
)
{
//tasks := make([]*XTaskSecp256k1RPubkey, len(req.RawTx))
//big8 := big.NewInt(8)
log
.
Info
(
"server get batch recover tx request"
)
froms
:=
make
([][]
byte
,
len
(
req
.
RawTx
))
for
i
,
tx
:=
range
req
.
RawTx
{
log
.
WithField
(
"txhash"
,
tx
.
TxHash
.
String
())
.
Info
(
"txhash"
)
log
.
WithField
(
"r"
,
tx
.
R
.
String
())
.
Info
(
"tx r"
)
log
.
WithField
(
"s"
,
tx
.
S
.
String
())
.
Info
(
"tx s"
)
log
.
WithField
(
"v"
,
tx
.
V
.
String
())
.
Info
(
"tx v"
)
log
.
WithField
(
"chainid"
,
tx
.
ChainId
.
String
())
.
Info
(
"tx chainid"
)
froms
:=
s
.
worker
.
BatchRecoverTx
(
req
.
RawTx
)
V
:=
common
.
ToBigInt
(
tx
.
V
)
chainid
:=
common
.
ToBigInt
(
tx
.
ChainId
)
chainIdMul
:=
new
(
big
.
Int
)
.
Mul
(
chainid
,
big
.
NewInt
(
2
))
v
:=
new
(
big
.
Int
)
.
Sub
(
V
,
chainIdMul
)
vb
:=
byte
(
v
.
Uint64
()
-
35
)
log
.
WithField
(
"vb is "
,
vb
)
.
Info
(
"vb"
)
signature
:=
make
([]
byte
,
65
)
copy
(
signature
[
:
32
],
common
.
LeftPadBytes
(
tx
.
R
.
Bytes
(),
32
))
copy
(
signature
[
32
:
64
],
common
.
LeftPadBytes
(
tx
.
S
.
Bytes
(),
32
))
signature
[
64
]
=
vb
pubk
,
err
:=
crypto
.
RecoverPubkey
(
common
.
LeftPadBytes
(
crypto
.
SignedHash
(
tx
,
chainid
),
32
),
signature
)
if
err
!=
nil
{
log
.
Info
(
"recover failed for tx"
,
"index"
,
i
,
"err"
,
err
)
}
else
{
froms
[
i
]
=
common
.
CopyBytes
(
crypto
.
Keccak256
(
pubk
[
1
:
])[
12
:
])
log
.
Info
(
"recover address is "
,
hex
.
EncodeToString
(
froms
[
i
]))
}
//task := &XTaskSecp256k1RPubkey{
// Msg: tx.TxHash.Hash,
// Rsig: crypto.BytesCombine(common.LeftPadBytes(tx.R.Data, 32), common.LeftPadBytes(tx.S.Data, 32), []byte{vb}),
//}
//tasks[i] = task
}
response
:=
new
(
metacrypter
.
BatchRecoverTxResponse
)
response
.
RecoverdTx
=
req
.
RawTx
//resps, err := xecc.XeccInstance().BatchSecp256k1RecoverPubkey(tasks)
//if err != nil {
// return response, err
//}
for
i
:=
0
;
i
<
len
(
response
.
RecoverdTx
);
i
++
{
a
:=
metatypes
.
BytesToAddress
(
froms
[
i
])
...
...
@@ -79,6 +53,6 @@ func (*CrypterServer) BatchRecoverTx(ctx context.Context, req *metacrypter.Batch
return
response
,
nil
}
func
RegisterCrypter
(
server
*
grpc
.
Server
)
{
metacrypter
.
RegisterCrypterServiceServer
(
server
,
&
CrypterServer
{})
func
RegisterCrypter
(
server
*
grpc
.
Server
,
worker
*
worker
.
Worker
)
{
metacrypter
.
RegisterCrypterServiceServer
(
server
,
&
CrypterServer
{
worker
:
worker
})
}
MetaCryptor-main/worker/task.go
0 → 100644
View file @
d4249455
package
worker
import
(
"errors"
"sync"
)
var
(
ErrTaskPoolIsFull
=
errors
.
New
(
"task pool is full"
)
)
type
TaskHandle
func
(
interface
{})
type
Tasks
struct
{
tasknum
uint
handler
TaskHandle
taskpool
chan
interface
{}
wg
sync
.
WaitGroup
}
func
NewTasks
(
routine
uint
,
handle
TaskHandle
)
*
Tasks
{
return
&
Tasks
{
tasknum
:
routine
,
handler
:
handle
,
taskpool
:
make
(
chan
interface
{},
1000000
),
}
}
func
(
t
*
Tasks
)
AddTask
(
task
interface
{})
error
{
select
{
case
t
.
taskpool
<-
task
:
return
nil
default
:
return
ErrTaskPoolIsFull
}
}
func
(
t
*
Tasks
)
Stop
()
{
close
(
t
.
taskpool
)
}
func
(
t
*
Tasks
)
Run
()
{
for
i
:=
uint
(
0
);
i
<
t
.
tasknum
;
i
++
{
t
.
wg
.
Add
(
1
)
go
func
()
{
defer
t
.
wg
.
Done
()
for
{
select
{
case
task
,
ok
:=
<-
t
.
taskpool
:
if
!
ok
{
return
}
t
.
handler
(
task
)
}
}
}()
}
}
func
(
t
*
Tasks
)
Done
()
{
t
.
wg
.
Wait
()
}
MetaCryptor-main/worker/worker.go
0 → 100644
View file @
d4249455
package
worker
import
(
"github.com/CaduceusMetaverseProtocol/MetaCryptor/common"
"github.com/CaduceusMetaverseProtocol/MetaCryptor/common/log"
"github.com/CaduceusMetaverseProtocol/MetaCryptor/config"
"github.com/CaduceusMetaverseProtocol/MetaCryptor/crypto"
basev1
"github.com/CaduceusMetaverseProtocol/MetaProtocol/gen/proto/go/base/v1"
"math/big"
"sync"
)
type
Worker
struct
{
recoverTask
*
Tasks
signTask
*
Tasks
}
func
NewWorker
()
*
Worker
{
w
:=
new
(
Worker
)
w
.
recoverTask
=
NewTasks
(
config
.
GetConfig
()
.
GetRoutineCount
(),
w
.
handleRecoverTx
)
w
.
signTask
=
NewTasks
(
config
.
GetConfig
()
.
GetRoutineCount
(),
w
.
handleSignTx
)
return
w
}
func
(
w
*
Worker
)
handleRecoverTx
(
t
interface
{})
{
defChainId
:=
big
.
NewInt
(
config
.
GetConfig
()
.
ChainId
)
item
,
ok
:=
t
.
(
*
ItemRecover
)
if
!
ok
{
return
}
tx
:=
item
.
tx
log
.
WithField
(
"txHash"
,
tx
.
TxHash
.
String
())
.
Info
(
"txHash"
)
log
.
WithField
(
"r"
,
tx
.
R
.
String
())
.
Info
(
"tx r"
)
log
.
WithField
(
"s"
,
tx
.
S
.
String
())
.
Info
(
"tx s"
)
log
.
WithField
(
"v"
,
tx
.
V
.
String
())
.
Info
(
"tx v"
)
log
.
WithField
(
"chainId"
,
tx
.
ChainId
.
String
())
.
Info
(
"tx chainId"
)
var
chainid
*
big
.
Int
if
tx
.
ChainId
==
nil
{
chainid
=
defChainId
}
else
{
chainid
=
common
.
ToBigInt
(
tx
.
ChainId
)
}
V
:=
common
.
ToBigInt
(
tx
.
V
)
chainIdMul
:=
new
(
big
.
Int
)
.
Mul
(
chainid
,
big
.
NewInt
(
2
))
v
:=
new
(
big
.
Int
)
.
Sub
(
V
,
chainIdMul
)
vb
:=
byte
(
v
.
Uint64
()
-
35
)
signature
:=
make
([]
byte
,
65
)
copy
(
signature
[
:
32
],
common
.
LeftPadBytes
(
tx
.
R
.
Bytes
(),
32
))
copy
(
signature
[
32
:
64
],
common
.
LeftPadBytes
(
tx
.
S
.
Bytes
(),
32
))
signature
[
64
]
=
vb
pubk
,
err
:=
crypto
.
RecoverPubkey
(
common
.
LeftPadBytes
(
crypto
.
SignedHash
(
tx
,
chainid
),
32
),
signature
)
if
err
!=
nil
{
item
.
response
<-
err
}
else
{
item
.
response
<-
common
.
CopyBytes
(
crypto
.
Keccak256
(
pubk
[
1
:
])[
12
:
])
}
}
func
(
w
*
Worker
)
handleSignTx
(
t
interface
{})
{
defChainId
:=
big
.
NewInt
(
config
.
GetConfig
()
.
ChainId
)
item
:=
t
.
(
*
ItemSignTx
)
tx
:=
item
.
tx
var
chainid
*
big
.
Int
if
tx
.
ChainId
==
nil
{
chainid
=
defChainId
}
else
{
chainid
=
common
.
ToBigInt
(
tx
.
ChainId
)
}
err
:=
crypto
.
SignTx
(
item
.
pk
,
tx
,
chainid
)
if
err
!=
nil
{
item
.
response
<-
err
}
else
{
item
.
response
<-
tx
}
}
func
(
w
*
Worker
)
Start
()
{
w
.
recoverTask
.
Run
()
w
.
signTask
.
Run
()
}
type
ItemRecover
struct
{
tx
*
basev1
.
MetaTxBase
response
chan
interface
{}
}
type
ItemSignTx
struct
{
tx
*
basev1
.
MetaTxBase
pk
[]
byte
response
chan
interface
{}
}
func
(
w
*
Worker
)
BatchRecoverTx
(
txs
[]
*
basev1
.
MetaTxBase
)
[][]
byte
{
results
:=
make
([][]
byte
,
len
(
txs
))
wg
:=
sync
.
WaitGroup
{}
for
i
,
tx
:=
range
txs
{
wg
.
Add
(
1
)
go
func
(
tx
*
basev1
.
MetaTxBase
,
froms
[][]
byte
,
index
int
)
{
defer
wg
.
Done
()
res
:=
make
(
chan
interface
{})
if
err
:=
w
.
recoverTask
.
AddTask
(
&
ItemRecover
{
tx
:
tx
,
response
:
res
});
err
!=
nil
{
res
<-
err
}
data
:=
<-
res
switch
msg
:=
(
data
)
.
(
type
)
{
case
error
:
froms
[
index
]
=
[]
byte
{}
case
[]
byte
:
froms
[
index
]
=
common
.
CopyBytes
(
msg
)
}
}(
tx
,
results
,
i
)
}
wg
.
Wait
()
return
results
}
func
(
w
*
Worker
)
BatchSignTx
(
txs
[]
*
basev1
.
MetaTxBase
,
pk
[]
byte
)
[]
*
basev1
.
MetaTxBase
{
results
:=
make
([]
*
basev1
.
MetaTxBase
,
len
(
txs
))
wg
:=
sync
.
WaitGroup
{}
for
i
,
tx
:=
range
txs
{
wg
.
Add
(
1
)
go
func
(
tx
*
basev1
.
MetaTxBase
,
signedTxs
[]
*
basev1
.
MetaTxBase
,
index
int
)
{
defer
wg
.
Done
()
res
:=
make
(
chan
interface
{})
if
err
:=
w
.
signTask
.
AddTask
(
&
ItemSignTx
{
pk
:
pk
,
tx
:
tx
,
response
:
res
});
err
!=
nil
{
res
<-
err
}
data
:=
<-
res
switch
msg
:=
(
data
)
.
(
type
)
{
case
error
:
//froms[index] = []byte{}
case
*
basev1
.
MetaTxBase
:
signedTxs
[
index
]
=
msg
}
}(
tx
,
results
,
i
)
}
wg
.
Wait
()
return
results
}
MetaProtocol-main/.gitignore
View file @
d4249455
.idea
.vscode
protocol
gen
MetaProtocol-main/crypterapi/crypter/v1/request_response.proto
View file @
d4249455
...
...
@@ -38,6 +38,14 @@ message BatchRecoverResponse {
repeated
bytes
pubkey
=
1
;
}
message
BatchSignTxRequest
{
repeated
base.v1.MetaTxBase
raw_tx
=
1
;
bytes
private
=
2
;
}
message
BatchSignTxResponse
{
repeated
base.v1.MetaTxBase
signed_tx
=
1
;
}
message
BatchRecoverTxRequest
{
repeated
base.v1.MetaTxBase
raw_tx
=
1
;
}
...
...
MetaProtocol-main/crypterapi/crypter/v1/service.proto
View file @
d4249455
...
...
@@ -8,5 +8,6 @@ service CrypterService {
rpc
BatchSign
(
BatchSignRequest
)
returns
(
BatchSignResponse
)
{}
rpc
BatchVerify
(
BatchVerifyRequest
)
returns
(
BatchVerifyResponse
)
{}
rpc
BatchRecover
(
BatchRecoverRequest
)
returns
(
BatchRecoverResponse
)
{}
rpc
BatchSignTx
(
BatchSignTxRequest
)
returns
(
BatchSignTxResponse
)
{}
rpc
BatchRecoverTx
(
BatchRecoverTxRequest
)
returns
(
BatchRecoverTxResponse
)
{}
}
MetaProtocol-main/gen/proto/go/crypter/v1/request_response.pb.go
View file @
d4249455
...
...
@@ -299,6 +299,90 @@ func (m *BatchRecoverResponse) GetPubkey() [][]byte {
return
nil
}
type
BatchSignTxRequest
struct
{
RawTx
[]
*
v1
.
MetaTxBase
`protobuf:"bytes,1,rep,name=raw_tx,json=rawTx,proto3" json:"raw_tx,omitempty"`
Private
[]
byte
`protobuf:"bytes,2,opt,name=private,proto3" json:"private,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
m
*
BatchSignTxRequest
)
Reset
()
{
*
m
=
BatchSignTxRequest
{}
}
func
(
m
*
BatchSignTxRequest
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
BatchSignTxRequest
)
ProtoMessage
()
{}
func
(
*
BatchSignTxRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_c54a21c4b8afb3e6
,
[]
int
{
6
}
}
func
(
m
*
BatchSignTxRequest
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_BatchSignTxRequest
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
BatchSignTxRequest
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_BatchSignTxRequest
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
BatchSignTxRequest
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_BatchSignTxRequest
.
Merge
(
m
,
src
)
}
func
(
m
*
BatchSignTxRequest
)
XXX_Size
()
int
{
return
xxx_messageInfo_BatchSignTxRequest
.
Size
(
m
)
}
func
(
m
*
BatchSignTxRequest
)
XXX_DiscardUnknown
()
{
xxx_messageInfo_BatchSignTxRequest
.
DiscardUnknown
(
m
)
}
var
xxx_messageInfo_BatchSignTxRequest
proto
.
InternalMessageInfo
func
(
m
*
BatchSignTxRequest
)
GetRawTx
()
[]
*
v1
.
MetaTxBase
{
if
m
!=
nil
{
return
m
.
RawTx
}
return
nil
}
func
(
m
*
BatchSignTxRequest
)
GetPrivate
()
[]
byte
{
if
m
!=
nil
{
return
m
.
Private
}
return
nil
}
type
BatchSignTxResponse
struct
{
SignedTx
[]
*
v1
.
MetaTxBase
`protobuf:"bytes,1,rep,name=signed_tx,json=signedTx,proto3" json:"signed_tx,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
m
*
BatchSignTxResponse
)
Reset
()
{
*
m
=
BatchSignTxResponse
{}
}
func
(
m
*
BatchSignTxResponse
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
BatchSignTxResponse
)
ProtoMessage
()
{}
func
(
*
BatchSignTxResponse
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_c54a21c4b8afb3e6
,
[]
int
{
7
}
}
func
(
m
*
BatchSignTxResponse
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_BatchSignTxResponse
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
BatchSignTxResponse
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_BatchSignTxResponse
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
BatchSignTxResponse
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_BatchSignTxResponse
.
Merge
(
m
,
src
)
}
func
(
m
*
BatchSignTxResponse
)
XXX_Size
()
int
{
return
xxx_messageInfo_BatchSignTxResponse
.
Size
(
m
)
}
func
(
m
*
BatchSignTxResponse
)
XXX_DiscardUnknown
()
{
xxx_messageInfo_BatchSignTxResponse
.
DiscardUnknown
(
m
)
}
var
xxx_messageInfo_BatchSignTxResponse
proto
.
InternalMessageInfo
func
(
m
*
BatchSignTxResponse
)
GetSignedTx
()
[]
*
v1
.
MetaTxBase
{
if
m
!=
nil
{
return
m
.
SignedTx
}
return
nil
}
type
BatchRecoverTxRequest
struct
{
RawTx
[]
*
v1
.
MetaTxBase
`protobuf:"bytes,1,rep,name=raw_tx,json=rawTx,proto3" json:"raw_tx,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
...
...
@@ -310,7 +394,7 @@ func (m *BatchRecoverTxRequest) Reset() { *m = BatchRecoverTxRequest{} }
func
(
m
*
BatchRecoverTxRequest
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
BatchRecoverTxRequest
)
ProtoMessage
()
{}
func
(
*
BatchRecoverTxRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_c54a21c4b8afb3e6
,
[]
int
{
6
}
return
fileDescriptor_c54a21c4b8afb3e6
,
[]
int
{
8
}
}
func
(
m
*
BatchRecoverTxRequest
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_BatchRecoverTxRequest
.
Unmarshal
(
m
,
b
)
...
...
@@ -348,7 +432,7 @@ func (m *BatchRecoverTxResponse) Reset() { *m = BatchRecoverTxResponse{}
func
(
m
*
BatchRecoverTxResponse
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
BatchRecoverTxResponse
)
ProtoMessage
()
{}
func
(
*
BatchRecoverTxResponse
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_c54a21c4b8afb3e6
,
[]
int
{
7
}
return
fileDescriptor_c54a21c4b8afb3e6
,
[]
int
{
9
}
}
func
(
m
*
BatchRecoverTxResponse
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_BatchRecoverTxResponse
.
Unmarshal
(
m
,
b
)
...
...
@@ -382,6 +466,8 @@ func init() {
proto
.
RegisterType
((
*
BatchVerifyResponse
)(
nil
),
"crypter.v1.BatchVerifyResponse"
)
proto
.
RegisterType
((
*
BatchRecoverRequest
)(
nil
),
"crypter.v1.BatchRecoverRequest"
)
proto
.
RegisterType
((
*
BatchRecoverResponse
)(
nil
),
"crypter.v1.BatchRecoverResponse"
)
proto
.
RegisterType
((
*
BatchSignTxRequest
)(
nil
),
"crypter.v1.BatchSignTxRequest"
)
proto
.
RegisterType
((
*
BatchSignTxResponse
)(
nil
),
"crypter.v1.BatchSignTxResponse"
)
proto
.
RegisterType
((
*
BatchRecoverTxRequest
)(
nil
),
"crypter.v1.BatchRecoverTxRequest"
)
proto
.
RegisterType
((
*
BatchRecoverTxResponse
)(
nil
),
"crypter.v1.BatchRecoverTxResponse"
)
}
...
...
@@ -389,36 +475,39 @@ func init() {
func
init
()
{
proto
.
RegisterFile
(
"crypter/v1/request_response.proto"
,
fileDescriptor_c54a21c4b8afb3e6
)
}
var
fileDescriptor_c54a21c4b8afb3e6
=
[]
byte
{
//
492
bytes of a gzipped FileDescriptorProto
//
533
bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xb4
,
0x93
,
0xcf
,
0x6a
,
0xdb
,
0x40
,
0x10
,
0xc6
,
0x91
,
0xdc
,
0x98
,
0x64
,
0x5c
,
0x42
,
0xab
,
0x38
,
0xc6
,
0x35
,
0x85
,
0xba
,
0x3a
,
0x85
,
0x1e
,
0x24
,
0x94
,
0xe6
,
0x94
,
0xde
,
0xac
,
0x43
,
0x4f
,
0x2d
,
0x46
,
0x11
,
0x26
,
0x94
,
0x80
,
0x59
,
0x49
,
0x63
,
0x45
,
0xd8
,
0xf2
,
0xaa
,
0xbb
,
0x2b
,
0x45
,
0x3a
,
0x14
,
0xfa
,
0x2c
,
0x3d
,
0xf6
,
0x39
,
0x7a
,
0xea
,
0x63
,
0xf4
,
0xd8
,
0xa7
,
0x28
,
0x2b
,
0xad
,
0xfc
,
0x0f
,
0x4a
,
0xa1
,
0x90
,
0xdb
,
0xcc
,
0x68
,
0xe6
,
0xfb
,
0x7e
,
0x3b
,
0xda
,
0x85
,
0xd7
,
0x21
,
0xab
,
0x32
,
0x81
,
0xcc
,
0x2e
,
0x1c
,
0x9b
,
0xe1
,
0xe7
,
0x1c
,
0xb9
,
0x98
,
0x33
,
0xe4
,
0x19
,
0x5d
,
0x73
,
0xb4
,
0x32
,
0x46
,
0x05
,
0x35
,
0x40
,
0xb5
,
0x58
,
0x85
,
0x33
,
0x1a
,
0xc7
,
0x94
,
0xc6
,
0x2b
,
0xb4
,
0xeb
,
0x2f
,
0x41
,
0xbe
,
0xb0
,
0x17
,
0x09
,
0xae
,
0xa2
,
0x79
,
0x4a
,
0xf8
,
0xb2
,
0xe9
,
0x1e
,
0xbd
,
0x3a
,
0xec
,
0x10
,
0x49
,
0x8a
,
0x5c
,
0x90
,
0x34
,
0x53
,
0x0d
,
0x46
,
0x40
,
0x38
,
0x4a
,
0xbb
,
0x14
,
0x05
,
0x51
,
0xb5
,
0x17
,
0x7b
,
0x14
,
0x9c
,
0xe6
,
0x2c
,
0x54
,
0xee
,
0x26
,
0x83
,
0x67
,
0x13
,
0x22
,
0xc2
,
0xfb
,
0x9b
,
0x24
,
0x5e
,
0x7b
,
0x0d
,
0xa0
,
0xd1
,
0x87
,
0xa3
,
0x8c
,
0x25
,
0xc5
,
0x72
,
0xa8
,
0x8d
,
0x3b
,
0x17
,
0x4f
,
0xbd
,
0x26
,
0x31
,
0x0c
,
0x78
,
0x12
,
0x11
,
0x41
,
0x86
,
0x7a
,
0x5d
,
0xac
,
0x63
,
0xe3
,
0x0a
,
0x1a
,
0xfa
,
0xb9
,
0xa8
,
0x32
,
0x1c
,
0x76
,
0xc6
,
0xda
,
0xc5
,
0xe9
,
0xe5
,
0xb9
,
0xb5
,
0x3d
,
0x90
,
0xe5
,
0xca
,
0xd0
,
0xaf
,
0x32
,
0xf4
,
0x4e
,
0xc2
,
0x36
,
0x34
,
0x1d
,
0x78
,
0xbe
,
0xe3
,
0xd9
,
0x2c
,
0xc3
,
0x78
,
0x09
,
0x27
,
0x3c
,
0x89
,
0xd7
,
0x44
,
0xe4
,
0x0c
,
0x95
,
0xf1
,
0xb6
,
0x60
,
0x7e
,
0xd5
,
0xc0
,
0xa8
,
0x67
,
0x66
,
0xc8
,
0x92
,
0x45
,
0xd5
,
0x92
,
0x0e
,
0xa0
,
0x9b
,
0xe5
,
0xc1
,
0x12
,
0x2b
,
0x35
,
0xa1
,
0xb2
,
0x7d
,
0x31
,
0xfd
,
0x40
,
0xec
,
0xbf
,
0xa9
,
0xcf
,
0xf6
,
0x08
,
0x14
,
0xf7
,
0x08
,
0x8e
,
0x0b
,
0x59
,
0x49
,
0x30
,
0xaa
,
0x21
,
0x8e
,
0xbd
,
0x4d
,
0x6e
,
0x7e
,
0x51
,
0x23
,
0x1e
,
0x86
,
0xb4
,
0x40
,
0xd6
,
0x52
,
0xb7
,
0x9b
,
0xd4
,
0x76
,
0x36
,
0xf9
,
0x18
,
0xc4
,
0x16
,
0xf4
,
0xf7
,
0xed
,
0x15
,
0xf2
,
0x5f
,
0xb6
,
0x66
,
0xba
,
0x70
,
0xbe
,
0xdb
,
0xef
,
0x97
,
0x2d
,
0xf0
,
0x1b
,
0xe8
,
0x32
,
0xf2
,
0x30
,
0x17
,
0x65
,
0x3d
,
0xd0
,
0xbb
,
0x3c
,
0xb3
,
0xe4
,
0x25
,
0x93
,
0xbe
,
0x1f
,
0x50
,
0x10
,
0xbf
,
0x9c
,
0x10
,
0x8e
,
0xde
,
0x11
,
0x23
,
0x0f
,
0x7e
,
0x69
,
0x7e
,
0x84
,
0xc1
,
0xa1
,
0x88
,
0xb2
,
0xbd
,
0x82
,
0x1e
,
0x6b
,
0x8a
,
0xd1
,
0x3f
,
0xa4
,
0xa0
,
0xed
,
0xf3
,
0xcb
,
0xc9
,
0x0f
,
0x0d
,
0x4e
,
0x43
,
0x9a
,
0xee
,
0x1c
,
0x76
,
0xd2
,
0x57
,
0x5c
,
0xad
,
0xf2
,
0x54
,
0xde
,
0xe4
,
0xa9
,
0xf6
,
0xe9
,
0x26
,
0x4e
,
0xc4
,
0x7d
,
0x1e
,
0x58
,
0x21
,
0x4d
,
0x6d
,
0x97
,
0x44
,
0x79
,
0x88
,
0x39
,
0x97
,
0xaa
,
0x05
,
0x32
,
0xd5
,
0x14
,
0xd2
,
0x95
,
0x2d
,
0x2b
,
0x9b
,
0x24
,
0xc6
,
0x75
,
0xf3
,
0x94
,
0xec
,
0x98
,
0xda
,
0xdb
,
0x57
,
0xf2
,
0x4e
,
0x85
,
0x85
,
0xf3
,
0x4d
,
0xef
,
0xb8
,
0xb7
,
0xb7
,
0xdf
,
0x75
,
0x70
,
0x95
,
0xff
,
0xcc
,
0xf9
,
0xb9
,
0x49
,
0xee
,
0x66
,
0xce
,
0x2f
,
0x7d
,
0xb0
,
0x4d
,
0xee
,
0xde
,
0x4f
,
0x27
,
0x52
,
0x5e
,
0xfe
,
0xd1
,
0xdf
,
0x7a
,
0x4f
,
0x7d
,
0xb8
,
0xbe
,
0x9e
,
0x39
,
0x41
,
0xb7
,
0x76
,
0x79
,
0xfb
,
0x27
,
0x00
,
0x00
,
0xff
,
0xff
,
0xae
,
0xa0
,
0xe3
,
0xb0
,
0x11
,
0x04
,
0x00
,
0x00
,
0x10
,
0xc6
,
0x91
,
0xd2
,
0xb8
,
0xce
,
0x38
,
0x84
,
0x56
,
0x71
,
0x8c
,
0x6b
,
0x0a
,
0x75
,
0x75
,
0x32
,
0x3d
,
0x48
,
0x55
,
0x9a
,
0x53
,
0x7a
,
0xb3
,
0x0f
,
0x39
,
0xb5
,
0x18
,
0x45
,
0x98
,
0x10
,
0x02
,
0x66
,
0x2d
,
0x8d
,
0x15
,
0x61
,
0xcb
,
0xab
,
0xee
,
0xae
,
0x14
,
0xe9
,
0x50
,
0xe8
,
0xb3
,
0xf4
,
0xd8
,
0xe7
,
0xe8
,
0xa9
,
0x8f
,
0xd1
,
0x63
,
0x9f
,
0xa2
,
0xac
,
0xb4
,
0xf2
,
0x3f
,
0x28
,
0x81
,
0x40
,
0x6f
,
0x3b
,
0xa3
,
0x6f
,
0xbf
,
0xef
,
0xb7
,
0xa3
,
0x5d
,
0x78
,
0xeb
,
0xb3
,
0x22
,
0x11
,
0xc8
,
0xec
,
0xcc
,
0xb1
,
0x19
,
0x7e
,
0x49
,
0x91
,
0x8b
,
0x29
,
0x43
,
0x9e
,
0xd0
,
0x15
,
0x47
,
0x2b
,
0x61
,
0x54
,
0x50
,
0x03
,
0x94
,
0xc4
,
0xca
,
0x9c
,
0x5e
,
0x3f
,
0xa4
,
0x34
,
0x5c
,
0xa2
,
0x5d
,
0x7e
,
0x99
,
0xa5
,
0x73
,
0x7b
,
0x1e
,
0xe1
,
0x32
,
0x98
,
0xc6
,
0x84
,
0x2f
,
0x2a
,
0x75
,
0xef
,
0xcd
,
0xbe
,
0x42
,
0x44
,
0x31
,
0x72
,
0x41
,
0xe2
,
0x44
,
0x09
,
0x8c
,
0x19
,
0xe1
,
0x28
,
0xe3
,
0x62
,
0x14
,
0x44
,
0xf5
,
0x5e
,
0xed
,
0x50
,
0x70
,
0x9a
,
0x32
,
0x5f
,
0xa5
,
0x9b
,
0x0c
,
0x5e
,
0x0c
,
0x89
,
0xf0
,
0xef
,
0xaf
,
0xa3
,
0x70
,
0xe5
,
0x56
,
0x80
,
0x46
,
0x1b
,
0x0e
,
0x13
,
0x16
,
0x65
,
0x8b
,
0xae
,
0xd6
,
0x3f
,
0x18
,
0x1c
,
0xbb
,
0x55
,
0x61
,
0x18
,
0xf0
,
0x2c
,
0x20
,
0x82
,
0x74
,
0xf5
,
0xb2
,
0x59
,
0xae
,
0x8d
,
0x0b
,
0xa8
,
0xe8
,
0xa7
,
0xa2
,
0x48
,
0xb0
,
0x7b
,
0xd0
,
0xd7
,
0x06
,
0x27
,
0xe7
,
0x67
,
0xd6
,
0xe6
,
0x40
,
0xd6
,
0x48
,
0x2e
,
0xbd
,
0x22
,
0x41
,
0xf7
,
0xc8
,
0xaf
,
0x97
,
0xa6
,
0x03
,
0x2f
,
0xb7
,
0x32
,
0xab
,
0x61
,
0x18
,
0xaf
,
0xe1
,
0x88
,
0x47
,
0xe1
,
0x8a
,
0x88
,
0x94
,
0xa1
,
0x0a
,
0xde
,
0x34
,
0xcc
,
0x6f
,
0x1a
,
0x18
,
0xe5
,
0x9e
,
0x09
,
0xb2
,
0x68
,
0x5e
,
0xd4
,
0xa4
,
0x1d
,
0x68
,
0x24
,
0xe9
,
0x6c
,
0x81
,
0x85
,
0xda
,
0xa1
,
0xaa
,
0x5d
,
0x33
,
0x7d
,
0xcf
,
0xec
,
0xc9
,
0xd4
,
0xa7
,
0x3b
,
0x04
,
0x8a
,
0xbb
,
0x07
,
0xcd
,
0x4c
,
0x76
,
0x22
,
0x0c
,
0x4a
,
0x88
,
0xa6
,
0xbb
,
0xae
,
0xcd
,
0xaf
,
0x6a
,
0x8b
,
0x8b
,
0x3e
,
0xcd
,
0x90
,
0xd5
,
0xd4
,
0xf5
,
0x24
,
0xb5
,
0xad
,
0x49
,
0xfe
,
0x0f
,
0x62
,
0x0b
,
0xda
,
0xbb
,
0xf1
,
0x0a
,
0xf9
,
0x1f
,
0x53
,
0x33
,
0x6f
,
0xd5
,
0x8c
,
0xe5
,
0x7f
,
0xf1
,
0xf2
,
0x9a
,
0xf6
,
0x1d
,
0x34
,
0x18
,
0x79
,
0x98
,
0x8a
,
0xbc
,
0x54
,
0xb7
,
0xce
,
0x4f
,
0x2d
,
0x79
,
0xc3
,
0x64
,
0xe8
,
0x27
,
0x14
,
0xc4
,
0xcb
,
0x87
,
0x84
,
0xa3
,
0x7b
,
0xc8
,
0xc8
,
0x83
,
0x97
,
0x1b
,
0x5d
,
0x78
,
0x2e
,
0x2f
,
0x0b
,
0x11
,
0xf2
,
0x0c
,
0xda
,
0xe0
,
0xd8
,
0xad
,
0x4b
,
0xf3
,
0x4a
,
0x8d
,
0xa2
,
0xf6
,
0x56
,
0x28
,
0xef
,
0xab
,
0x63
,
0x63
,
0xf0
,
0x88
,
0x7f
,
0xb3
,
0x52
,
0x79
,
0xb9
,
0x39
,
0x82
,
0xb3
,
0xed
,
0x43
,
0x3d
,
0x89
,
0xd3
,
0xfc
,
0x0c
,
0x9d
,
0x7d
,
0x13
,
0x05
,
0x74
,
0x01
,
0x2d
,
0x56
,
0x35
,
0x1f
,
0x43
,
0x82
,
0x5a
,
0xe7
,
0xe5
,
0xc3
,
0x9f
,
0x1a
,
0x9c
,
0xf8
,
0x34
,
0xde
,
0xfa
,
0x23
,
0xc3
,
0xb6
,
0xe2
,
0xaa
,
0x9d
,
0xc7
,
0xf2
,
0xb9
,
0x8d
,
0xb5
,
0xdb
,
0xeb
,
0x30
,
0x12
,
0xf7
,
0xe9
,
0xcc
,
0xf2
,
0x69
,
0x6c
,
0x8f
,
0x48
,
0x90
,
0xfa
,
0x98
,
0x72
,
0xe9
,
0x9a
,
0x21
,
0x53
,
0x22
,
0x9f
,
0x2e
,
0x6d
,
0xd9
,
0x59
,
0x17
,
0x21
,
0xae
,
0xaa
,
0xf7
,
0x6e
,
0x87
,
0xd4
,
0xde
,
0x3c
,
0xe5
,
0x8f
,
0x6a
,
0x99
,
0x39
,
0xdf
,
0xf5
,
0x83
,
0xd1
,
0xcd
,
0xcd
,
0x0f
,
0x1d
,
0x46
,
0x2a
,
0x7f
,
0xe2
,
0xfc
,
0x5a
,
0x17
,
0x77
,
0x13
,
0xe7
,
0xb7
,
0xde
,
0xd9
,
0x14
,
0x77
,
0x57
,
0xe3
,
0xa1
,
0xb4
,
0x97
,
0xd7
,
0xee
,
0x8f
,
0xde
,
0x52
,
0x1f
,
0x2e
,
0x2f
,
0x27
,
0xce
,
0xac
,
0x51
,
0xa6
,
0x7c
,
0xf8
,
0x1b
,
0x00
,
0x00
,
0xff
,
0xff
,
0x0a
,
0x6e
,
0x4a
,
0x99
,
0xb6
,
0x04
,
0x00
,
0x00
,
}
MetaProtocol-main/gen/proto/go/crypter/v1/service.pb.go
View file @
d4249455
...
...
@@ -23,25 +23,26 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
func
init
()
{
proto
.
RegisterFile
(
"crypter/v1/service.proto"
,
fileDescriptor_05ac8b6606ffe814
)
}
var
fileDescriptor_05ac8b6606ffe814
=
[]
byte
{
// 3
17
bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x7c
,
0x9
1
,
0x4f
,
0x4a
,
0xc3
,
0x40
,
0x14
,
0x
c6
,
0x6d
,
0x04
,
0xc1
,
0x69
,
0xe9
,
0x62
,
0x16
,
0x22
,
0xc5
,
0x7f
,
0xed
,
0x01
,
0x66
,
0x18
,
// 3
31
bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x7c
,
0x9
2
,
0x4f
,
0x4a
,
0xc3
,
0x40
,
0x14
,
0x
87
,
0x6d
,
0x0a
,
0x82
,
0xd3
,
0xd2
,
0xc5
,
0x2c
,
0x44
,
0x8a
,
0xff
,
0xda
,
0x03
,
0x64
,
0x18
,
0xdd
,
0xd5
,
0x5d
,
0xba
,
0x10
,
0x04
,
0x21
,
0x34
,
0x25
,
0x54
,
0x29
,
0x48
,
0x3a
,
0x7d
,
0xa6
,
0x01
,
0xdb
,
0xa9
,
0x33
,
0x93
,
0xa1
,
0xbd
,
0x8e
,
0x4b
,
0xcf
,
0xe0
,
0x09
,
0x3c
,
0x84
,
0x0b
,
0x97
,
0x9e
,
0x42
,
0x9a
,
0x99
,
0xa4
,
0x81
,
0x12
,
0x77
,
0x79
,
0xef
,
0xfb
,
0xcd
,
0xef
,
0x41
,
0x3e
,
0x74
,
0xca
,
0xe5
,
0x66
,
0xa5
,
0x41
,
0x52
,
0xc3
,
0xa8
,
0x02
,
0x69
,
0x52
,
0x0e
,
0x64
,
0x25
,
0x85
,
0x16
,
0x18
,
0xb9
,
0x84
,
0x18
,
0xd6
,
0xe9
,
0x56
,
0x28
,
0x09
,
0x6f
,
0x19
,
0x28
,
0xfd
,
0x2c
,
0x41
,
0xad
,
0xc4
,
0x52
,
0x39
,
0xfc
,
0xfa
,
0xdb
,
0x43
,
0xed
,
0x81
,
0xa5
,
0x42
,
0xeb
,
0xc1
,
0xf7
,
0xe8
,
0xd8
,
0x8f
,
0x35
,
0x9f
,
0x87
,
0x69
,
0xb2
,
0xc4
,
0x67
,
0x64
,
0xe7
,
0x23
,
0xe5
,
0x7a
,
0x68
,
0x65
,
0x9d
,
0xf3
,
0x9a
,
0xd4
,
0x9e
,
0xe8
,
0x1d
,
0xe0
,
0x00
,
0x35
,
0xf3
,
0x75
,
0x04
,
0x32
,
0x7d
,
0xd9
,
0xe0
,
0x8b
,
0x3d
,
0xde
,
0x06
,
0x85
,
0xef
,
0xb2
,
0x36
,
0x2f
,
0x8d
,
0x21
,
0x6a
,
0xe5
,
0xc1
,
0x10
,
0xb8
,
0x30
,
0x20
,
0xf1
,
0xfe
,
0x13
,
0x97
,
0x14
,
0xce
,
0xab
,
0x7a
,
0xa0
,
0x94
,
0x3e
,
0xa2
,
0x76
,
0x35
,
0x19
,
0xad
,
0x71
,
0xb7
,
0xee
,
0xd5
,
0x68
,
0x5d
,
0x88
,
0x7b
,
0xff
,
0x21
,
0x85
,
0xda
,
0xff
,
0x6c
,
0xa0
,
0x36
,
0x17
,
0x8b
,
0x0a
,
0xeb
,
0xb7
,
0xdc
,
0x9f
,
0x0e
,
0xb6
,
0x0d
,
0x04
,
0x8d
,
0xa7
,
0x30
,
0x49
,
0xf5
,
0x3c
,
0x9b
,
0x12
,
0x2e
,
0x16
,
0x74
,
0x10
,
0xcf
,
0x32
,
0x0e
,
0x99
,
0x7a
,
0x00
,
0x1d
,
0x1b
,
0x90
,
0xca
,
0x42
,
0x5c
,
0xbc
,
0xd2
,
0xed
,
0xa6
,
0x1c
,
0x12
,
0x58
,
0xd2
,
0xbc
,
0x40
,
0x9a
,
0x08
,
0xba
,
0x6b
,
0xf9
,
0xd6
,
0x7d
,
0x1a
,
0xf6
,
0xee
,
0x1d
,
0x0e
,
0xc6
,
0xe3
,
0x0f
,
0x0f
,
0xb9
,
0x72
,
0x49
,
0xc4
,
0xbe
,
0xca
,
0x61
,
0x12
,
0xb1
,
0x1f
,
0xef
,
0x64
,
0x37
,
0x4c
,
0xee
,
0x02
,
0x7f
,
0xab
,
0x9f
,
0xc5
,
0x3a
,
0xfe
,
0xf5
,
0x9a
,
0x2e
,
0xe8
,
0xf7
,
0x23
,
0x36
,
0x3d
,
0xca
,
0xaf
,
0xdc
,
0xfc
,
0x05
,
0x00
,
0x00
,
0xff
,
0xff
,
0xbc
,
0x94
,
0xc4
,
0x24
,
0x71
,
0x02
,
0x00
,
0x00
,
0xdb
,
0xa9
,
0x33
,
0x93
,
0xa1
,
0xbd
,
0x8e
,
0x4b
,
0x57
,
0x1e
,
0xc0
,
0x13
,
0x78
,
0x0c
,
0x97
,
0x9e
,
0x42
,
0x92
,
0x99
,
0x24
,
0x85
,
0x1a
,
0x77
,
0x79
,
0xef
,
0xfb
,
0xe5
,
0x7b
,
0x0f
,
0xe6
,
0xa1
,
0x13
,
0x26
,
0xb6
,
0x6b
,
0x05
,
0x82
,
0x68
,
0x4a
,
0x24
,
0x08
,
0x9d
,
0x30
,
0x70
,
0xd7
,
0x82
,
0x2b
,
0x8e
,
0x91
,
0x25
,
0xae
,
0xa6
,
0xdd
,
0xde
,
0x4e
,
0x4a
,
0xc0
,
0x6b
,
0x0a
,
0x52
,
0x3d
,
0x09
,
0x90
,
0x6b
,
0xbe
,
0x92
,
0x36
,
0x7e
,
0xf5
,
0xd1
,
0x44
,
0x9d
,
0xa1
,
0x49
,
0x05
,
0xc6
,
0x83
,
0xef
,
0xd0
,
0x91
,
0x17
,
0x29
,
0xb6
,
0x08
,
0x92
,
0x78
,
0x85
,
0x4f
,
0xdd
,
0xca
,
0xe7
,
0x96
,
0xed
,
0x91
,
0x91
,
0x75
,
0xcf
,
0x6a
,
0xa8
,
0x19
,
0xd1
,
0x3f
,
0xc0
,
0x3e
,
0x6a
,
0xe5
,
0xed
,
0x10
,
0x44
,
0xf2
,
0xbc
,
0xc5
,
0xe7
,
0x7b
,
0x79
,
0x03
,
0x0a
,
0xdf
,
0x45
,
0x2d
,
0x2f
,
0x8d
,
0x01
,
0x6a
,
0xe7
,
0x60
,
0x04
,
0x8c
,
0x6b
,
0x10
,
0x78
,
0xff
,
0x17
,
0x4b
,
0x0a
,
0xe7
,
0x65
,
0x7d
,
0x60
,
0x6f
,
0xcd
,
0x6c
,
0xfb
,
0xf1
,
0xe6
,
0x8f
,
0x35
,
0x0d
,
0xa8
,
0x5f
,
0xb3
,
0xe0
,
0xa5
,
0xf1
,
0x01
,
0x75
,
0x76
,
0x67
,
0x8d
,
0x37
,
0xb8
,
0x57
,
0xb7
,
0x47
,
0xe5
,
0xed
,
0xff
,
0x17
,
0x29
,
0xd4
,
0xde
,
0x67
,
0x03
,
0x75
,
0x18
,
0x5f
,
0xee
,
0x64
,
0xbd
,
0xb6
,
0x7d
,
0x3b
,
0x3f
,
0x7b
,
0x53
,
0xbf
,
0xf1
,
0x18
,
0xc4
,
0x89
,
0x5a
,
0xa4
,
0x33
,
0x97
,
0xf1
,
0x25
,
0x19
,
0x46
,
0xf3
,
0x94
,
0x41
,
0x2a
,
0xef
,
0x41
,
0x45
,
0x1a
,
0x84
,
0x34
,
0x21
,
0xc6
,
0x5f
,
0x48
,
0xd6
,
0x29
,
0x8b
,
0x18
,
0x56
,
0x24
,
0x3f
,
0x09
,
0x12
,
0x73
,
0x52
,
0xdd
,
0xcd
,
0x8d
,
0xfd
,
0xd4
,
0xf4
,
0xcd
,
0x69
,
0x0e
,
0x27
,
0x93
,
0x77
,
0x07
,
0xd9
,
0x73
,
0x71
,
0x43
,
0xfa
,
0x55
,
0x16
,
0xd3
,
0x90
,
0x7e
,
0x3b
,
0xc7
,
0x55
,
0x31
,
0xbd
,
0xf5
,
0xbd
,
0x4c
,
0x3f
,
0x8f
,
0x54
,
0xf4
,
0xe3
,
0xb4
,
0x2c
,
0x18
,
0x0c
,
0x42
,
0x3a
,
0x3b
,
0xcc
,
0xa7
,
0x5c
,
0xff
,
0x06
,
0x00
,
0x00
,
0xff
,
0xff
,
0x0a
,
0xf6
,
0xf3
,
0x8c
,
0xc3
,
0x02
,
0x00
,
0x00
,
}
MetaProtocol-main/gen/proto/go/crypter/v1/service_grpc.pb.go
View file @
d4249455
...
...
@@ -25,6 +25,7 @@ type CrypterServiceClient interface {
BatchSign
(
ctx
context
.
Context
,
in
*
BatchSignRequest
,
opts
...
grpc
.
CallOption
)
(
*
BatchSignResponse
,
error
)
BatchVerify
(
ctx
context
.
Context
,
in
*
BatchVerifyRequest
,
opts
...
grpc
.
CallOption
)
(
*
BatchVerifyResponse
,
error
)
BatchRecover
(
ctx
context
.
Context
,
in
*
BatchRecoverRequest
,
opts
...
grpc
.
CallOption
)
(
*
BatchRecoverResponse
,
error
)
BatchSignTx
(
ctx
context
.
Context
,
in
*
BatchSignTxRequest
,
opts
...
grpc
.
CallOption
)
(
*
BatchSignTxResponse
,
error
)
BatchRecoverTx
(
ctx
context
.
Context
,
in
*
BatchRecoverTxRequest
,
opts
...
grpc
.
CallOption
)
(
*
BatchRecoverTxResponse
,
error
)
}
...
...
@@ -63,6 +64,15 @@ func (c *crypterServiceClient) BatchRecover(ctx context.Context, in *BatchRecove
return
out
,
nil
}
func
(
c
*
crypterServiceClient
)
BatchSignTx
(
ctx
context
.
Context
,
in
*
BatchSignTxRequest
,
opts
...
grpc
.
CallOption
)
(
*
BatchSignTxResponse
,
error
)
{
out
:=
new
(
BatchSignTxResponse
)
err
:=
c
.
cc
.
Invoke
(
ctx
,
"/crypter.v1.CrypterService/BatchSignTx"
,
in
,
out
,
opts
...
)
if
err
!=
nil
{
return
nil
,
err
}
return
out
,
nil
}
func
(
c
*
crypterServiceClient
)
BatchRecoverTx
(
ctx
context
.
Context
,
in
*
BatchRecoverTxRequest
,
opts
...
grpc
.
CallOption
)
(
*
BatchRecoverTxResponse
,
error
)
{
out
:=
new
(
BatchRecoverTxResponse
)
err
:=
c
.
cc
.
Invoke
(
ctx
,
"/crypter.v1.CrypterService/BatchRecoverTx"
,
in
,
out
,
opts
...
)
...
...
@@ -79,6 +89,7 @@ type CrypterServiceServer interface {
BatchSign
(
context
.
Context
,
*
BatchSignRequest
)
(
*
BatchSignResponse
,
error
)
BatchVerify
(
context
.
Context
,
*
BatchVerifyRequest
)
(
*
BatchVerifyResponse
,
error
)
BatchRecover
(
context
.
Context
,
*
BatchRecoverRequest
)
(
*
BatchRecoverResponse
,
error
)
BatchSignTx
(
context
.
Context
,
*
BatchSignTxRequest
)
(
*
BatchSignTxResponse
,
error
)
BatchRecoverTx
(
context
.
Context
,
*
BatchRecoverTxRequest
)
(
*
BatchRecoverTxResponse
,
error
)
mustEmbedUnimplementedCrypterServiceServer
()
}
...
...
@@ -96,6 +107,9 @@ func (UnimplementedCrypterServiceServer) BatchVerify(context.Context, *BatchVeri
func
(
UnimplementedCrypterServiceServer
)
BatchRecover
(
context
.
Context
,
*
BatchRecoverRequest
)
(
*
BatchRecoverResponse
,
error
)
{
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method BatchRecover not implemented"
)
}
func
(
UnimplementedCrypterServiceServer
)
BatchSignTx
(
context
.
Context
,
*
BatchSignTxRequest
)
(
*
BatchSignTxResponse
,
error
)
{
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method BatchSignTx not implemented"
)
}
func
(
UnimplementedCrypterServiceServer
)
BatchRecoverTx
(
context
.
Context
,
*
BatchRecoverTxRequest
)
(
*
BatchRecoverTxResponse
,
error
)
{
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method BatchRecoverTx not implemented"
)
}
...
...
@@ -166,6 +180,24 @@ func _CrypterService_BatchRecover_Handler(srv interface{}, ctx context.Context,
return
interceptor
(
ctx
,
in
,
info
,
handler
)
}
func
_CrypterService_BatchSignTx_Handler
(
srv
interface
{},
ctx
context
.
Context
,
dec
func
(
interface
{})
error
,
interceptor
grpc
.
UnaryServerInterceptor
)
(
interface
{},
error
)
{
in
:=
new
(
BatchSignTxRequest
)
if
err
:=
dec
(
in
);
err
!=
nil
{
return
nil
,
err
}
if
interceptor
==
nil
{
return
srv
.
(
CrypterServiceServer
)
.
BatchSignTx
(
ctx
,
in
)
}
info
:=
&
grpc
.
UnaryServerInfo
{
Server
:
srv
,
FullMethod
:
"/crypter.v1.CrypterService/BatchSignTx"
,
}
handler
:=
func
(
ctx
context
.
Context
,
req
interface
{})
(
interface
{},
error
)
{
return
srv
.
(
CrypterServiceServer
)
.
BatchSignTx
(
ctx
,
req
.
(
*
BatchSignTxRequest
))
}
return
interceptor
(
ctx
,
in
,
info
,
handler
)
}
func
_CrypterService_BatchRecoverTx_Handler
(
srv
interface
{},
ctx
context
.
Context
,
dec
func
(
interface
{})
error
,
interceptor
grpc
.
UnaryServerInterceptor
)
(
interface
{},
error
)
{
in
:=
new
(
BatchRecoverTxRequest
)
if
err
:=
dec
(
in
);
err
!=
nil
{
...
...
@@ -203,6 +235,10 @@ var CrypterService_ServiceDesc = grpc.ServiceDesc{
MethodName
:
"BatchRecover"
,
Handler
:
_CrypterService_BatchRecover_Handler
,
},
{
MethodName
:
"BatchSignTx"
,
Handler
:
_CrypterService_BatchSignTx_Handler
,
},
{
MethodName
:
"BatchRecoverTx"
,
Handler
:
_CrypterService_BatchRecoverTx_Handler
,
...
...
MetaProtocol-main/gen/proto/go/nebula/v1/account_req_res.pb.go
View file @
d4249455
...
...
@@ -1035,12 +1035,12 @@ func (m *NonceResponse) GetNonce() uint64 {
type
RepeatedNonceRequest
struct
{
// request address
Address
[]
github_com_CaduceusMetaverseProtocol_MetaTypes_types
.
Address
`protobuf:"bytes,1,rep,name=address,proto3,customtype=github.com/CaduceusMetaverseProtocol/MetaTypes/types.Address
" json:"address,omitempty"`
Address
[]
[]
byte
`protobuf:"bytes,1,rep,name=address,proto3
" json:"address,omitempty"`
// request block number
BlockId
[]
github_com_CaduceusMetaverseProtocol_MetaTypes_types
.
BigInt
`protobuf:"bytes,2,rep,name=block_id,json=blockId,proto3,customtype=github.com/CaduceusMetaverseProtocol/MetaTypes/types.BigInt
" json:"block_id,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
BlockId
[]
[]
byte
`protobuf:"bytes,2,rep,name=block_id,json=blockId,proto3
" json:"block_id,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
m
*
RepeatedNonceRequest
)
Reset
()
{
*
m
=
RepeatedNonceRequest
{}
}
...
...
@@ -1067,11 +1067,25 @@ func (m *RepeatedNonceRequest) XXX_DiscardUnknown() {
var
xxx_messageInfo_RepeatedNonceRequest
proto
.
InternalMessageInfo
func
(
m
*
RepeatedNonceRequest
)
GetAddress
()
[][]
byte
{
if
m
!=
nil
{
return
m
.
Address
}
return
nil
}
func
(
m
*
RepeatedNonceRequest
)
GetBlockId
()
[][]
byte
{
if
m
!=
nil
{
return
m
.
BlockId
}
return
nil
}
type
RepeatedNonceResponse
struct
{
//
request
address
Address
[]
github_com_CaduceusMetaverseProtocol_MetaTypes_types
.
Address
`protobuf:"bytes,1,rep,name=address,proto3,customtype=github.com/CaduceusMetaverseProtocol/MetaTypes/types.Address
" json:"address,omitempty"`
//
request block number
BlockId
[]
github_com_CaduceusMetaverseProtocol_MetaTypes_types
.
BigInt
`protobuf:"bytes,2,rep,name=block_id,json=blockId,proto3,customtype=github.com/CaduceusMetaverseProtocol/MetaTypes/types.BigInt
" json:"block_id,omitempty"`
//
the
address
Address
[]
[]
byte
`protobuf:"bytes,1,rep,name=address,proto3
" json:"address,omitempty"`
//
block height
BlockId
[]
[]
byte
`protobuf:"bytes,2,rep,name=block_id,json=blockId,proto3
" json:"block_id,omitempty"`
// nonce
Nonce
[]
uint64
`protobuf:"varint,3,rep,packed,name=nonce,proto3" json:"nonce,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
...
...
@@ -1103,6 +1117,20 @@ func (m *RepeatedNonceResponse) XXX_DiscardUnknown() {
var
xxx_messageInfo_RepeatedNonceResponse
proto
.
InternalMessageInfo
func
(
m
*
RepeatedNonceResponse
)
GetAddress
()
[][]
byte
{
if
m
!=
nil
{
return
m
.
Address
}
return
nil
}
func
(
m
*
RepeatedNonceResponse
)
GetBlockId
()
[][]
byte
{
if
m
!=
nil
{
return
m
.
BlockId
}
return
nil
}
func
(
m
*
RepeatedNonceResponse
)
GetNonce
()
[]
uint64
{
if
m
!=
nil
{
return
m
.
Nonce
...
...
@@ -3566,119 +3594,118 @@ func init() {
func
init
()
{
proto
.
RegisterFile
(
"nebula/v1/account_req_res.proto"
,
fileDescriptor_19f8068ca46d164c
)
}
var
fileDescriptor_19f8068ca46d164c
=
[]
byte
{
// 180
9
bytes of a gzipped FileDescriptorProto
// 180
7
bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xe4
,
0x5a
,
0xdd
,
0x6f
,
0x1b
,
0x59
,
0x15
,
0xd7
,
0xd8
,
0x69
,
0x3e
,
0x4e
,
0x9c
,
0x8f
,
0x4e
,
0x12
,
0xdb
,
0x9b
,
0x05
,
0xa5
,
0xbd
,
0x0b
,
0x25
,
0x62
,
0x4b
,
0x5c
,
0x37
,
0xea
,
0x4a
,
0xec
,
0x2e
,
0x2a
,
0x75
,
0xd8
,
0xed
,
0x56
,
0xca
,
0x9a
,
0xec
,
0x24
,
0x5b
,
0xad
,
0x60
,
0x91
,
0xb9
,
0xf6
,
0xdc
,
0x8c
,
0x87
,
0x8e
,
0xe7
,
0xba
,
0x73
,
0xaf
,
0x53
,
0x97
,
0xa7
,
0x16
,
0x10
,
0x5a
,
0x89
,
0x07
,
0xb4
,
0xe2
,
0x19
,
0x21
,
0x21
,
0x84
,
0xd0
,
0x8a
,
0x47
,
0x24
,
0x1e
,
0xf8
,
0x0b
,
0xe0
,
0x1d
,
0x09
,
0xf5
,
0xa1
,
0x0f
,
0xbc
,
0x51
,
0x9e
,
0x90
,
0xf8
,
0x03
,
0xd0
,
0xfd
,
0x9a
,
0x19
,
0x7f
,
0xe4
,
0x83
,
0x48
,
0xb6
,
0xab
,
0xe6
,
0x25
,
0x9a
,
0x7b
,
0x7c
,
0xce
,
0xef
,
0xfc
,
0xce
,
0x47
,
0xee
,
0x3d
,
0xd7
,
0x1e
,
0xd8
,
0x08
,
0x49
,
0xbd
,
0x13
,
0xe0
,
0xd2
,
0x51
,
0xb9
,
0x84
,
0x1b
,
0x0d
,
0xda
,
0x09
,
0x79
,
0x2d
,
0x22
,
0x0f
,
0x6b
,
0x11
,
0x61
,
0x5b
,
0xed
,
0x88
,
0x72
,
0x6a
,
0xcf
,
0x29
,
0x85
,
0xad
,
0xa3
,
0xf2
,
0xfa
,
0x15
,
0x8f
,
0x52
,
0x2f
,
0x20
,
0x25
,
0xf9
,
0x41
,
0xbd
,
0x73
,
0x58
,
0x3a
,
0xf4
,
0x49
,
0xe0
,
0xd6
,
0x5a
,
0x98
,
0x3d
,
0x50
,
0xca
,
0xeb
,
0x1b
,
0xfd
,
0x1a
,
0xdc
,
0x6f
,
0x11
,
0xc6
,
0x71
,
0xab
,
0xad
,
0x15
,
0xf2
,
0x75
,
0xcc
,
0x88
,
0x70
,
0x16
,
0x11
,
0x46
,
0x3b
,
0x51
,
0x83
,
0x68
,
0xb9
,
0x6d
,
0xe4
,
0x2d
,
0xc2
,
0xb1
,
0x96
,
0x2d
,
0x49
,
0x99
,
0x47
,
0x3d
,
0xaa
,
0x05
,
0xc5
,
0x84
,
0x6b
,
0xaf
,
0x39
,
0x5a
,
0x05
,
0xbb
,
0x4a
,
0x5d
,
0x72
,
0x9f
,
0x44
,
0xcc
,
0xa7
,
0xa1
,
0x43
,
0x1e
,
0x76
,
0x08
,
0xe3
,
0xa8
,
0x04
,
0x2b
,
0x3d
,
0x52
,
0xd6
,
0xa6
,
0x21
,
0x23
,
0x76
,
0x11
,
0x66
,
0x8e
,
0x94
,
0xa8
,
0x68
,
0x5d
,
0xb1
,
0x36
,
0xe7
,
0x1c
,
0xb3
,
0x44
,
0x57
,
0x61
,
0x7e
,
0xbf
,
0x89
,
0xb7
,
0xb5
,
0xbd
,
0x6d
,
0xc3
,
0x94
,
0x8b
,
0x39
,
0x96
,
0x5a
,
0x39
,
0x47
,
0x3e
,
0xa3
,
0x36
,
0xe4
,
0x94
,
0x8a
,
0x06
,
0xfb
,
0x21
,
0x4c
,
0x35
,
0x31
,
0x6b
,
0x4a
,
0x9d
,
0xf9
,
0x9b
,
0x0b
,
0x5b
,
0x82
,
0xf3
,
0xd6
,
0x51
,
0x79
,
0xeb
,
0x03
,
0xcc
,
0x9a
,
0x95
,
0x6f
,
0x3d
,
0x7b
,
0xbe
,
0xf1
,
0x4d
,
0xcf
,
0xe7
,
0xcd
,
0x4e
,
0x7d
,
0xab
,
0x41
,
0x5b
,
0xa5
,
0x1d
,
0xec
,
0x76
,
0x1a
,
0xa4
,
0xc3
,
0x3e
,
0x24
,
0x1c
,
0x0b
,
0x9f
,
0x64
,
0x4f
,
0xb0
,
0x6f
,
0xd0
,
0xa0
,
0x24
,
0x24
,
0x07
,
0x8f
,
0xdb
,
0x84
,
0x95
,
0xb8
,
0xf8
,
0x2b
,
0xcd
,
0x1d
,
0x89
,
0x8c
,
0x56
,
0xe0
,
0x72
,
0x95
,
0xf0
,
0xbe
,
0xd0
,
0xb6
,
0xc0
,
0x4e
,
0x0b
,
0x4f
,
0x8d
,
0x6c
,
0x0d
,
0x56
,
0xaa
,
0x84
,
0xef
,
0x11
,
0x12
,
0xed
,
0x88
,
0x1a
,
0x1b
,
0x98
,
0x5b
,
0xb0
,
0xda
,
0x2b
,
0xd6
,
0x40
,
0x5f
,
0x06
,
0x68
,
0x13
,
0x12
,
0xd5
,
0x64
,
0x43
,
0x48
,
0xac
,
0x05
,
0x67
,
0xae
,
0x6d
,
0xd4
,
0x50
,
0x11
,
0xf2
,
0x86
,
0x79
,
0x1f
,
0xaf
,
0x6d
,
0x28
,
0x0c
,
0x7c
,
0x72
,
0x2a
,
0xb9
,
0x65
,
0x58
,
0xdc
,
0x7f
,
0x1c
,
0x36
,
0xfc
,
0xd0
,
0x33
,
0x30
,
0x7f
,
0xcd
,
0xc0
,
0x52
,
0x2c
,
0xd2
,
0xf6
,
0x87
,
0x70
,
0x89
,
0x71
,
0x1c
,
0x71
,
0x9d
,
0xea
,
0xa5
,
0x38
,
0xd5
,
0x15
,
0xdf
,
0xbb
,
0x17
,
0xf2
,
0xca
,
0xed
,
0x67
,
0xcf
,
0x37
,
0xde
,
0x39
,
0x57
,
0xb2
,
0x15
,
0x80
,
0xa3
,
0xe0
,
0xed
,
0x3a
,
0x64
,
0x49
,
0xe8
,
0x16
,
0x33
,
0x23
,
0xf2
,
0x22
,
0xc0
,
0xed
,
0x1f
,
0xc1
,
0x4c
,
0xa3
,
0x13
,
0x45
,
0x24
,
0xe4
,
0xc5
,
0xec
,
0x88
,
0xfc
,
0x18
,
0x07
,
0xe8
,
0x32
,
0x2c
,
0xed
,
0x50
,
0x3f
,
0x14
,
0xf8
,
0x26
,
0xbd
,
0x4f
,
0x2c
,
0x58
,
0x4e
,
0x64
,
0x3a
,
0xbf
,
0x01
,
0xcc
,
0x60
,
0xd7
,
0x8d
,
0x08
,
0x63
,
0x3a
,
0xc3
,
0xcb
,
0x31
,
0xa7
,
0x3b
,
0x4a
,
0x5e
,
0xf9
,
0xf6
,
0xb3
,
0xe7
,
0x1b
,
0xef
,
0x9e
,
0x8b
,
0x94
,
0x46
,
0x70
,
0x8c
,
0x0b
,
0xb4
,
0x04
,
0x0b
,
0x1f
,
0xfa
,
0x61
,
0xaa
,
0xe4
,
0x9b
,
0xb0
,
0x68
,
0x04
,
0x9a
,
0x50
,
0x1e
,
0xa6
,
0x19
,
0xc7
,
0xbc
,
0xc3
,
0x74
,
0xbf
,
0xe8
,
0x95
,
0x08
,
0x48
,
0xfe
,
0x7b
,
0x60
,
0x1e
,
0x07
,
0xf4
,
0x75
,
0x58
,
0x4e
,
0x44
,
0x89
,
0x79
,
0x44
,
0x58
,
0x27
,
0xe0
,
0xc6
,
0x5c
,
0xad
,
0x84
,
0xf9
,
0x5d
,
0xcc
,
0xf6
,
0x22
,
0xbf
,
0x11
,
0x9b
,
0x3f
,
0xb5
,
0x60
,
0x39
,
0x91
,
0x69
,
0xfb
,
0x16
,
0xcc
,
0x79
,
0x98
,
0xd5
,
0xda
,
0x42
,
0x38
,
0xb2
,
0x9e
,
0x9b
,
0xf5
,
0xb4
,
0x5b
,
0x41
,
0xeb
,
0x8e
,
0xda
,
0x80
,
0x59
,
0xba
,
0x4c
,
0x89
,
0x6c
,
0x58
,
0x99
,
0xb2
,
0x63
,
0x28
,
0xd3
,
0x07
,
0xc4
,
0xf7
,
0x9a
,
0xf1
,
0x8e
,
0xf1
,
0x63
,
0x58
,
0x34
,
0x02
,
0x4d
,
0xa8
,
0x09
,
0xd3
,
0x4d
,
0x29
,
0x19
,
0x59
,
0x92
,
0x34
,
0x3e
,
0xfa
,
0xb7
,
0x05
,
0x8b
,
0x15
,
0x1c
,
0xe0
,
0x30
,
0xae
,
0xdc
,
0x78
,
0x9b
,
0xd6
,
0x7e
,
0x00
,
0xb3
,
0xf5
,
0x80
,
0x36
,
0x1e
,
0xd4
,
0xfc
,
0xd1
,
0xed
,
0x0f
,
0x33
,
0xd2
,
0xc3
,
0x3d
,
0x17
,
0xfd
,
0x23
,
0x03
,
0x4b
,
0x71
,
0xb4
,
0x93
,
0xf8
,
0x1f
,
0x1d
,
0x6b
,
0xb8
,
0x62
,
0x4b
,
0xac
,
0xab
,
0x68
,
0x47
,
0xb7
,
0x25
,
0x6a
,
0x07
,
0xe8
,
0xef
,
0x19
,
0x58
,
0xdc
,
0xe7
,
0x34
,
0xc2
,
0xde
,
0x05
,
0x68
,
0x24
,
0xbb
,
0x09
,
0xb3
,
0x6d
,
0xca
,
0x7c
,
0x2e
,
0x4e
,
0xde
,
0xec
,
0x08
,
0xc6
,
0x94
,
0x18
,
0x1d
,
0xbd
,
0x10
,
0xc7
,
0xb6
,
0xc9
,
0xeb
,
0xab
,
0xdf
,
0xb2
,
0x63
,
0x4b
,
0x6c
,
0x3c
,
0x89
,
0x4e
,
0xa5
,
0x26
,
0xd1
,
0x7f
,
0x59
,
0x90
,
0xab
,
0xd2
,
0x8b
,
0xb1
,
0x17
,
0x3e
,
0xc9
,
0xc0
,
0x82
,
0x8e
,
0xf5
,
0xd5
,
0x6f
,
0xab
,
0x55
,
0xb8
,
0x14
,
0x52
,
0xb3
,
0x0f
,
0x4e
,
0x39
,
0x6a
,
0x81
,
0xfe
,
0x63
,
0xc1
,
0xaa
,
0x43
,
0xda
,
0x04
,
0x73
,
0xe2
,
0x1e
,
0x5f
,
0xf6
,
0xec
,
0x78
,
0x33
,
0x91
,
0x1d
,
0x6d
,
0xd9
,
0x3f
,
0xcb
,
0xc0
,
0x5a
,
0x5f
,
0xcc
,
0x93
,
0x98
,
0x82
,
0xc6
,
0x1a
,
0x74
,
0xba
,
0xfc
,
0xd9
,
0xa4
,
0xfc
,
0xff
,
0xb5
,
0xa0
,
0x70
,
0x10
,
0xe1
,
0x90
,
0xe1
,
0x86
,
0xd8
,
0x11
,
0xd2
,
0xb7
,
0xb8
,
0x57
,
0xf9
,
0x1f
,
0xff
,
0x17
,
0x19
,
0x28
,
0x0e
,
0x86
,
0x7d
,
0x21
,
0xf6
,
0x00
,
0x75
,
0xf7
,
0xd6
,
0x7b
,
0x80
,
0x5c
,
0xa0
,
0xcf
,
0x2d
,
0x40
,
0x15
,
0xa1
,
0xd1
,
0x9f
,
0x92
,
0xca
,
0x63
,
0x79
,
0x60
,
0xe8
,
0x7e
,
0x78
,
0x00
,
0xa0
,
0x98
,
0x8e
,
0xec
,
0x9b
,
0x89
,
0x39
,
0x89
,
0x2f
,
0x1e
,
0xd1
,
0x1f
,
0x2c
,
0x78
,
0xe3
,
0x44
,
0x4e
,
0xba
,
0x58
,
0xe3
,
0x24
,
0x95
,
0xa4
,
0x2f
,
0x23
,
0xbf
,
0xba
,
0xd0
,
0xe9
,
0xfb
,
0x95
,
0x05
,
0x5f
,
0x39
,
0x86
,
0x6a
,
0xb5
,
0xd3
,
0xaa
,
0x93
,
0x28
,
0x49
,
0x60
,
0x52
,
0x6a
,
0x6b
,
0xd4
,
0x2d
,
0xfe
,
0x85
,
0x05
,
0x5f
,
0x3d
,
0x85
,
0x55
,
0x9c
,
0xc2
,
0xf1
,
0xd1
,
0x3a
,
0x26
,
0x85
,
0x3f
,
0xb7
,
0xa0
,
0xf0
,
0x71
,
0xd8
,
0x08
,
0xc8
,
0xa4
,
0xdb
,
0xee
,
0xd7
,
0x16
,
0x14
,
0x07
,
0x89
,
0xbc
,
0x3c
,
0xbd
,
0xf6
,
0x99
,
0x05
,
0xaf
,
0xa5
,
0xf9
,
0x4d
,
0xb0
,
0xc1
,
0x7e
,
0x63
,
0xc1
,
0xfa
,
0x30
,
0x2a
,
0x2f
,
0x4f
,
0x57
,
0x89
,
0x8b
,
0xfd
,
0x5d
,
0xc2
,
0x77
,
0xa8
,
0x7b
,
0x41
,
0x86
,
0xd9
,
0xa5
,
0x38
,
0xda
,
0x57
,
0xff
,
0x28
,
0xb3
,
0x61
,
0xaa
,
0x41
,
0x5d
,
0x35
,
0xcd
,
0xe6
,
0x1c
,
0xf9
,
0x8c
,
0x7e
,
0x69
,
0xc1
,
0xfc
,
0xbe
,
0xef
,
0x85
,
0x93
,
0xa9
,
0xb6
,
0xb9
,
0x4d
,
0x65
,
0x52
,
0xb7
,
0xa9
,
0xeb
,
0x90
,
0x53
,
0x84
,
0x74
,
0x41
,
0xbe
,
0x04
,
0x73
,
0xcc
,
0xf7
,
0x42
,
0xcc
,
0x3b
,
0x11
,
0xd1
,
0x3f
,
0x00
,
0x24
,
0x02
,
0xf4
,
0x67
,
0x0b
,
0xf2
,
0x42
,
0x3d
,
0xb5
,
0x65
,
0x4f
,
0x26
,
0x94
,
0x02
,
0xcc
,
0xf0
,
0x6e
,
0x2d
,
0x15
,
0xcd
,
0x34
,
0xef
,
0x7e
,
0x07
,
0x73
,
0x6c
,
0xe7
,
0x61
,
0xba
,
0x45
,
0x78
,
0x93
,
0xba
,
0x3a
,
0xef
,
0x7a
,
0x85
,
0xde
,
0x82
,
0xc2
,
0x00
,
0x71
,
0x1d
,
0xf2
,
0xeb
,
0x2a
,
0x64
,
0xe2
,
0xd6
,
0x78
,
0x57
,
0x87
,
0x3c
,
0xab
,
0x04
,
0x07
,
0x5d
,
0xf4
,
0x27
,
0x11
,
0x31
,
0x09
,
0xdd
,
0x89
,
0x47
,
0x7c
,
0xbd
,
0x37
,
0xe2
,
0xf9
,
0x9b
,
0x2b
,
0xb1
,
0x37
,
0x69
,
0xdb
,
0xad
,
0x60
,
0x46
,
0x4c
,
0x1a
,
0xd0
,
0x13
,
0x0b
,
0x0a
,
0x03
,
0xb4
,
0x75
,
0xbc
,
0x44
,
0x22
,
0x8d
,
0xec
,
0x88
,
0x98
,
0xe6
,
0x5d
,
0x79
,
0x52
,
0x55
,
0xe1
,
0x35
,
0xc1
,
0xc0
,
0xc1
,
0x8f
,
0x86
,
0xe4
,
0xae
,
0xdc
,
0x9f
,
0xf3
,
0xf9
,
0x9b
,
0xab
,
0x3d
,
0xf1
,
0xec
,
0x45
,
0x94
,
0x1e
,
0x1e
,
0x74
,
0x53
,
0x95
,
0xf8
,
0xa9
,
0x05
,
0xeb
,
0xc3
,
0x00
,
0xc7
,
0x1b
,
0xd5
,
0x6d
,
0x98
,
0xdf
,
0xc1
,
0x41
,
0x60
,
0xe2
,
0xb8
,
0x31
,
0x18
,
0xc7
,
0xd0
,
0xba
,
0x24
,
0x61
,
0x5c
,
0x83
,
0x9c
,
0x02
,
0x18
,
0xfa
,
0x75
,
0x7d
,
0x2e
,
0xfe
,
0xba
,
0xfe
,
0x7d
,
0xb0
,
0xdf
,
0x63
,
0xdc
,
0x6f
,
0x61
,
0x4e
,
0xee
,
0x62
,
0x76
,
0x7e
,
0x7f
,
0x9f
,
0x5b
,
0xb0
,
0xd2
,
0x03
,
0x74
,
0xb2
,
0x5f
,
0xbb
,
0x0e
,
0x59
,
0x0f
,
0xb3
,
0xd1
,
0xfd
,
0x0c
,
0xe4
,
0x61
,
0x86
,
0x9e
,
0x5a
,
0x60
,
0xcb
,
0xd1
,
0x6f
,
0x82
,
0x83
,
0xd4
,
0x6d
,
0x58
,
0xe9
,
0xa1
,
0xa0
,
0xd3
,
0xb2
,
0x09
,
0x97
,
0xa4
,
0x8e
,
0x76
,
0x6f
,
0xf7
,
0x24
,
0x57
,
0x1a
,
0x38
,
0x4a
,
0x41
,
0xf4
,
0xe3
,
0xaa
,
0x46
,
0x98
,
0xe0
,
0x90
,
0x73
,
0x07
,
0xd6
,
0xfa
,
0x48
,
0xfc
,
0xdf
,
0x81
,
0x3c
,
0xb5
,
0x7a
,
0xee
,
0x9a
,
0xbd
,
0x35
,
0x19
,
0xdf
,
0x66
,
0x31
,
0x84
,
0x82
,
0x0e
,
0xa5
,
0x9c
,
0x6c
,
0x7d
,
0x8a
,
0x43
,
0xb1
,
0xb7
,
0xe5
,
0x53
,
0xbb
,
0x81
,
0xd9
,
0xff
,
0xc4
,
0xe5
,
0xa2
,
0x07
,
0xb0
,
0x62
,
0x0a
,
0x7f
,
0x27
,
0x74
,
0xef
,
0x85
,
0x2e
,
0xe9
,
0x4e
,
0xa2
,
0xe9
,
0xc4
,
0x18
,
0xe8
,
0x0b
,
0xe7
,
0x66
,
0x0c
,
0x94
,
0x0b
,
0xf4
,
0x7d
,
0xb8
,
0x76
,
0x1a
,
0xd7
,
0xf3
,
0x67
,
0xe2
,
0x8f
,
0x16
,
0x7c
,
0x6d
,
0x10
,
0x5d
,
0x35
,
0xcb
,
0x60
,
0x2e
,
0xc6
,
0x3b
,
0x12
,
0x0f
,
0xc9
,
0xc5
,
0x0f
,
0x60
,
0xf3
,
0x74
,
0xb6
,
0xe7
,
0xcf
,
0xc6
,
0x4f
,
0xac
,
0x9e
,
0x46
,
0x73
,
0x48
,
0x83
,
0xf8
,
0x6d
,
0x3e
,
0xe6
,
0x66
,
0xff
,
0x08
,
0xd6
,
0x87
,
0x71
,
0xd0
,
0x51
,
0x6d
,
0x03
,
0xf0
,
0x6e
,
0x2d
,
0x52
,
0xd2
,
0xa1
,
0x67
,
0xa3
,
0xb1
,
0x98
,
0xe3
,
0x5d
,
0xfd
,
0x88
,
0x7e
,
0x67
,
0xc1
,
0x86
,
0xbc
,
0xeb
,
0xbc
,
0xdc
,
0x9d
,
0xbe
,
0x03
,
0x57
,
0x8e
,
0x67
,
0xa9
,
0xe3
,
0xdf
,
0x80
,
0xf9
,
0x8e
,
0xd0
,
0xa9
,
0x25
,
0xdb
,
0x57
,
0xce
,
0x01
,
0x29
,
0x92
,
0x46
,
0xe8
,
0xf7
,
0x16
,
0x5c
,
0x4d
,
0xa3
,
0xbc
,
0xb4
,
0xbd
,
0xfc
,
0x1e
,
0xa0
,
0x93
,
0x78
,
0x9e
,
0x35
,
0x5e
,
0x1b
,
0x96
,
0x77
,
0x68
,
0xab
,
0xed
,
0x07
,
0x24
,
0x8a
,
0x7f
,
0x22
,
0x2f
,
0xc3
,
0xe5
,
0x94
,
0x2c
,
0x99
,
0xdd
,
0x1b
,
0x46
,
0x68
,
0x66
,
0xf7
,
0x58
,
0x80
,
0x6e
,
0x40
,
0x5e
,
0x9b
,
0xec
,
0xd3
,
0xc0
,
0x77
,
0x7d
,
0xfe
,
0xd8
,
0xa4
,
0x2a
,
0x0f
,
0xd3
,
0xea
,
0xad
,
0x22
,
0x33
,
0x0a
,
0xa8
,
0x15
,
0xfa
,
0x06
,
0x14
,
0x06
,
0x2c
,
0xb4
,
0x2b
,
0x73
,
0xb9
,
0xb1
,
0x52
,
0x97
,
0x9b
,
0x37
,
0x63
,
0x4e
,
0xbb
,
0xbb
,
0xbb
,
0xa7
,
0x61
,
0x6f
,
0x82
,
0x9d
,
0x56
,
0x3e
,
0x01
,
0xb6
,
0x04
,
0x6b
,
0x86
,
0x05
,
0x89
,
0xda
,
0x24
,
0xf9
,
0xfa
,
0xf7
,
0x38
,
0xe8
,
0xeb
,
0x49
,
0xa0
,
0xc6
,
0xe0
,
0x04
,
0xf8
,
0x4d
,
0x58
,
0xae
,
0x92
,
0x47
,
0xef
,
0xfb
,
0x01
,
0x4f
,
0x4e
,
0xf0
,
0x55
,
0xb8
,
0xd4
,
0xc6
,
0x11
,
0x6e
,
0x69
,
0x45
,
0xb5
,
0x40
,
0x37
,
0xe0
,
0x72
,
0x4a
,
0x33
,
0xb9
,
0x3c
,
0x1c
,
0x4a
,
0x89
,
0xe9
,
0xb3
,
0x9c
,
0x33
,
0xab
,
0x04
,
0xf7
,
0x5c
,
0x54
,
0x80
,
0xb5
,
0x2a
,
0x79
,
0x24
,
0xab
,
0xd8
,
0xe3
,
0x00
,
0xdd
,
0x82
,
0x7c
,
0xff
,
0x07
,
0x67
,
0xc1
,
0xbb
,
0x0a
,
0x1b
,
0x7b
,
0x24
,
0x74
,
0xfd
,
0xd0
,
0x4b
,
0xed
,
0x1f
,
0xbd
,
0xc8
,
0xb7
,
0xe1
,
0xca
,
0xf1
,
0x2a
,
0x67
,
0xf1
,
0x71
,
0x0b
,
0xf2
,
0x1f
,
0x87
,
0x7e
,
0xc8
,
0x38
,
0x0e
,
0x82
,
0xde
,
0xac
,
0x9c
,
0x68
,
0x56
,
0x86
,
0xc2
,
0x80
,
0xd9
,
0xd0
,
0x49
,
0x73
,
0x36
,
0x9e
,
0x70
,
0xb7
,
0x61
,
0x55
,
0x69
,
0xee
,
0x34
,
0x71
,
0xe8
,
0x11
,
0x76
,
0x26
,
0x3f
,
0x6f
,
0xc2
,
0x5a
,
0x9f
,
0x51
,
0x52
,
0x5b
,
0x3f
,
0x3c
,
0xa4
,
0xa6
,
0xb6
,
0xe2
,
0x59
,
0x54
,
0x4c
,
0x29
,
0xef
,
0x52
,
0xef
,
0x6c
,
0xf0
,
0xef
,
0x82
,
0x9d
,
0xb6
,
0xd0
,
0xd8
,
0xd7
,
0x60
,
0x2a
,
0xa0
,
0x9e
,
0xf9
,
0xc9
,
0xc5
,
0xee
,
0x1b
,
0xb8
,
0x77
,
0xa9
,
0xe7
,
0xc8
,
0xcf
,
0xd1
,
0x1b
,
0x30
,
0x9f
,
0xf6
,
0x34
,
0xbc
,
0x8d
,
0xde
,
0x82
,
0xdc
,
0xb9
,
0xc0
,
0xbf
,
0x0b
,
0xeb
,
0x07
,
0x84
,
0xf1
,
0x63
,
0x2e
,
0xa3
,
0xe7
,
0x38
,
0x0b
,
0x7f
,
0x66
,
0xc1
,
0xeb
,
0x43
,
0x11
,
0xc7
,
0x7a
,
0xa3
,
0xaa
,
0xfc
,
0xc5
,
0x82
,
0x85
,
0x06
,
0x6d
,
0x6d
,
0xc5
,
0xef
,
0x5b
,
0x56
,
0x6c
,
0xfd
,
0xf2
,
0x8f
,
0x43
,
0x1e
,
0x3a
,
0x84
,
0x49
,
0x94
,
0x3d
,
0xeb
,
0x7b
,
0x1f
,
0x9d
,
0xd9
,
0x55
,
0xbc
,
0xf0
,
0x48
,
0xa8
,
0x5e
,
0xc9
,
0x2c
,
0x79
,
0xb4
,
0x14
,
0xbf
,
0x44
,
0xf9
,
0x8e
,
0x7a
,
0x3a
,
0x2a
,
0xff
,
0x36
,
0x93
,
0xad
,
0x7e
,
0xf2
,
0xc9
,
0x17
,
0x99
,
0xb9
,
0xaa
,
0x72
,
0x7d
,
0xbf
,
0xfc
,
0x37
,
0xf3
,
0xfc
,
0xe9
,
0xfd
,
0xf2
,
0x3f
,
0x33
,
0x6b
,
0xf1
,
0xf3
,
0xa7
,
0x77
,
0xf7
,
0x2a
,
0x02
,
0x59
,
0xe4
,
0xf7
,
0x45
,
0x06
,
0x94
,
0xfc
,
0xed
,
0xb7
,
0xef
,
0x97
,
0xeb
,
0xd3
,
0x12
,
0x7f
,
0xfb
,
0x7f
,
0x01
,
0x00
,
0x00
,
0xff
,
0xff
,
0x47
,
0xd4
,
0x65
,
0xf6
,
0x50
,
0x2a
,
0x00
,
0x00
,
0x15
,
0xd7
,
0x38
,
0x69
,
0x3e
,
0x4e
,
0x9c
,
0x8f
,
0x4e
,
0x12
,
0xdb
,
0xcd
,
0x82
,
0xd2
,
0xce
,
0x42
,
0x89
,
0xd8
,
0x12
,
0xd7
,
0x8d
,
0xba
,
0x12
,
0xbb
,
0x8b
,
0x4a
,
0x6d
,
0x76
,
0xbb
,
0x15
,
0x59
,
0x93
,
0x9d
,
0x64
,
0xab
,
0x15
,
0x2c
,
0x32
,
0xd7
,
0x33
,
0x37
,
0xe3
,
0xa1
,
0xe3
,
0xb9
,
0xee
,
0xdc
,
0xeb
,
0xd4
,
0xe5
,
0xa9
,
0x05
,
0x84
,
0x90
,
0x78
,
0x40
,
0x2b
,
0x9e
,
0x11
,
0x12
,
0x42
,
0x08
,
0xad
,
0x78
,
0x44
,
0xe2
,
0x81
,
0xbf
,
0x00
,
0xde
,
0x91
,
0x50
,
0x1f
,
0xfa
,
0xc0
,
0x1b
,
0xcb
,
0x2b
,
0x7f
,
0x00
,
0xba
,
0x5f
,
0xf3
,
0x61
,
0x3b
,
0x1f
,
0x1b
,
0xc9
,
0x76
,
0xd5
,
0xbc
,
0x44
,
0x73
,
0xcf
,
0x9c
,
0xf3
,
0x3b
,
0xbf
,
0xf3
,
0x91
,
0x3b
,
0xe7
,
0x8e
,
0x07
,
0x36
,
0x43
,
0xdc
,
0xec
,
0x06
,
0xa8
,
0x7c
,
0x54
,
0x29
,
0x23
,
0xc7
,
0x21
,
0xdd
,
0x90
,
0x35
,
0x22
,
0xfc
,
0xa8
,
0x11
,
0x61
,
0xba
,
0xdd
,
0x89
,
0x08
,
0x23
,
0xe6
,
0xbc
,
0x54
,
0xd8
,
0x3e
,
0xaa
,
0x6c
,
0x5c
,
0xf5
,
0x08
,
0xf1
,
0x02
,
0x5c
,
0x16
,
0x37
,
0x9a
,
0xdd
,
0xc3
,
0xf2
,
0xa1
,
0x8f
,
0x03
,
0xb7
,
0xd1
,
0x46
,
0xf4
,
0xa1
,
0x54
,
0xde
,
0xd8
,
0xec
,
0xd7
,
0x60
,
0x7e
,
0x1b
,
0x53
,
0x86
,
0xda
,
0x1d
,
0xa5
,
0x50
,
0x68
,
0x22
,
0x8a
,
0xb9
,
0xb3
,
0x08
,
0x53
,
0xd2
,
0x8d
,
0x1c
,
0xac
,
0xe4
,
0xa6
,
0x96
,
0xb7
,
0x31
,
0x43
,
0x4a
,
0xb6
,
0x2c
,
0x64
,
0x1e
,
0xf1
,
0x88
,
0x12
,
0x94
,
0x12
,
0xae
,
0x59
,
0x73
,
0x6b
,
0x0d
,
0xcc
,
0x3a
,
0x71
,
0xf1
,
0x03
,
0x1c
,
0x51
,
0x9f
,
0x84
,
0x36
,
0x7e
,
0xd4
,
0xc5
,
0x94
,
0x59
,
0x65
,
0x58
,
0xcd
,
0x48
,
0x69
,
0x87
,
0x84
,
0x14
,
0x9b
,
0x25
,
0x98
,
0x3d
,
0x92
,
0xa2
,
0x92
,
0x71
,
0xd5
,
0xd8
,
0x9a
,
0xb7
,
0xf5
,
0xd2
,
0xba
,
0x06
,
0x0b
,
0xfb
,
0x2d
,
0xb4
,
0xa3
,
0xec
,
0x4d
,
0x13
,
0xa6
,
0x5d
,
0xc4
,
0x90
,
0xd0
,
0xca
,
0xdb
,
0xe2
,
0xda
,
0xea
,
0x40
,
0x5e
,
0xaa
,
0x28
,
0xb0
,
0x1f
,
0xc1
,
0x74
,
0x0b
,
0xd1
,
0x96
,
0xd0
,
0x59
,
0xb8
,
0xb5
,
0xb8
,
0xcd
,
0x39
,
0x6f
,
0x1f
,
0x55
,
0xb6
,
0xdf
,
0x47
,
0xb4
,
0x55
,
0xfd
,
0xd6
,
0xf3
,
0x17
,
0x9b
,
0xdf
,
0xf4
,
0x7c
,
0xd6
,
0xea
,
0x36
,
0xb7
,
0x1d
,
0xd2
,
0x2e
,
0xd7
,
0x90
,
0xdb
,
0x75
,
0x70
,
0x97
,
0x7e
,
0x80
,
0x19
,
0xe2
,
0x3e
,
0xf1
,
0x1e
,
0x67
,
0xef
,
0x90
,
0xa0
,
0xcc
,
0x25
,
0x07
,
0x4f
,
0x3a
,
0x98
,
0x96
,
0x19
,
0xff
,
0x2b
,
0xcc
,
0x6d
,
0x81
,
0x6c
,
0xad
,
0xc2
,
0xe5
,
0x3a
,
0x66
,
0x7d
,
0xa1
,
0x6d
,
0x83
,
0x99
,
0x16
,
0x9e
,
0x1a
,
0xd9
,
0x3a
,
0xac
,
0xd6
,
0x31
,
0xdb
,
0xc3
,
0x38
,
0xaa
,
0xf1
,
0x1a
,
0x6b
,
0x98
,
0xdb
,
0xb0
,
0x96
,
0x15
,
0x2b
,
0xa0
,
0x2f
,
0x03
,
0x74
,
0x30
,
0x8e
,
0x1a
,
0xa2
,
0x21
,
0x04
,
0xd6
,
0xa2
,
0x3d
,
0xdf
,
0xd1
,
0x6a
,
0x56
,
0x09
,
0x0a
,
0x9a
,
0x79
,
0x1f
,
0xaf
,
0x1d
,
0x28
,
0x0e
,
0xdc
,
0x39
,
0x95
,
0xdc
,
0x0a
,
0x2c
,
0xed
,
0x3f
,
0x09
,
0x1d
,
0x3f
,
0xf4
,
0x34
,
0xcc
,
0xdf
,
0x73
,
0xb0
,
0x1c
,
0x8b
,
0x94
,
0xfd
,
0x21
,
0x5c
,
0xa2
,
0x0c
,
0x45
,
0x4c
,
0xa5
,
0x7a
,
0x39
,
0x4e
,
0x75
,
0xd5
,
0xf7
,
0xee
,
0x87
,
0xac
,
0x7a
,
0xe7
,
0xf9
,
0x8b
,
0xcd
,
0xb7
,
0xcf
,
0x95
,
0x6c
,
0x09
,
0x60
,
0x4b
,
0x78
,
0xb3
,
0x09
,
0x53
,
0x38
,
0x74
,
0x4b
,
0xb9
,
0x11
,
0x79
,
0xe1
,
0xe0
,
0xe6
,
0x8f
,
0x61
,
0xd6
,
0xe9
,
0x46
,
0x11
,
0x0e
,
0x59
,
0x69
,
0x6a
,
0x44
,
0x7e
,
0xb4
,
0x03
,
0xeb
,
0x32
,
0x2c
,
0xd7
,
0x88
,
0x1f
,
0x72
,
0x7c
,
0x9d
,
0xde
,
0xa7
,
0x06
,
0xac
,
0x24
,
0x32
,
0x95
,
0xdf
,
0x00
,
0x66
,
0x91
,
0xeb
,
0x46
,
0x98
,
0x52
,
0x95
,
0xe1
,
0x95
,
0x98
,
0xd3
,
0x5d
,
0x29
,
0xaf
,
0x7e
,
0xfb
,
0xf9
,
0x8b
,
0xcd
,
0x77
,
0xce
,
0x45
,
0x4a
,
0x21
,
0xd8
,
0xda
,
0x85
,
0xb5
,
0x0c
,
0x8b
,
0x1f
,
0xf8
,
0x61
,
0xaa
,
0xe4
,
0x5b
,
0xb0
,
0xa4
,
0x05
,
0x8a
,
0x50
,
0x01
,
0x66
,
0x28
,
0x43
,
0xac
,
0x4b
,
0x55
,
0xbf
,
0xa8
,
0x15
,
0x0f
,
0x48
,
0xfc
,
0x7b
,
0x20
,
0x16
,
0x07
,
0xf4
,
0x75
,
0x58
,
0x49
,
0x44
,
0x89
,
0x79
,
0x84
,
0x69
,
0x37
,
0x60
,
0xda
,
0x5c
,
0xae
,
0xb8
,
0xf9
,
0x3d
,
0x44
,
0xf7
,
0x22
,
0xdf
,
0x89
,
0xcd
,
0x9f
,
0x19
,
0xb0
,
0x92
,
0xc8
,
0x94
,
0x7d
,
0x1b
,
0xe6
,
0x3d
,
0x44
,
0x1b
,
0x1d
,
0x2e
,
0x1c
,
0x59
,
0xcf
,
0xcd
,
0x79
,
0xca
,
0x2d
,
0xa7
,
0x75
,
0x57
,
0x6e
,
0xc0
,
0x34
,
0x5d
,
0xa6
,
0x44
,
0x36
,
0xac
,
0x4c
,
0x53
,
0x63
,
0x28
,
0xd3
,
0xfb
,
0xd8
,
0xf7
,
0x5a
,
0xf1
,
0x8e
,
0xf1
,
0x13
,
0x58
,
0xd2
,
0x02
,
0x45
,
0xa8
,
0x05
,
0x33
,
0x2d
,
0x21
,
0x19
,
0x59
,
0x92
,
0x14
,
0xbe
,
0xf5
,
0x5f
,
0x03
,
0x96
,
0xaa
,
0x28
,
0x40
,
0x61
,
0x5c
,
0xb9
,
0xf1
,
0x36
,
0xad
,
0xf9
,
0x10
,
0xe6
,
0x9a
,
0x01
,
0x71
,
0x1e
,
0x36
,
0xfc
,
0xd1
,
0xed
,
0x0f
,
0xb3
,
0xc2
,
0xc3
,
0x7d
,
0xd7
,
0xfa
,
0x57
,
0x0e
,
0x96
,
0xe3
,
0x68
,
0x27
,
0xf1
,
0x3f
,
0x3a
,
0xd6
,
0x70
,
0xf9
,
0x96
,
0xd8
,
0x94
,
0xd1
,
0x8e
,
0x6e
,
0x4b
,
0x54
,
0x0e
,
0xac
,
0x7f
,
0xe6
,
0x60
,
0x69
,
0x9f
,
0x91
,
0x08
,
0x79
,
0x17
,
0xa0
,
0x91
,
0xcc
,
0x16
,
0xcc
,
0x75
,
0x08
,
0xf5
,
0x19
,
0x7f
,
0xf2
,
0x4e
,
0x8d
,
0x60
,
0x4c
,
0x89
,
0xd1
,
0xad
,
0xcf
,
0xf9
,
0x63
,
0x5b
,
0xe7
,
0xf5
,
0xd5
,
0x6f
,
0xd9
,
0xb1
,
0x25
,
0x36
,
0x9e
,
0x44
,
0xa7
,
0x53
,
0x93
,
0xe8
,
0x7f
,
0x0c
,
0xc8
,
0xd7
,
0xc9
,
0xc5
,
0xd8
,
0x0b
,
0x9f
,
0xe6
,
0x60
,
0x51
,
0xc5
,
0xfa
,
0xea
,
0xb7
,
0xd5
,
0x1a
,
0x5c
,
0x0a
,
0x89
,
0xde
,
0x07
,
0xa7
,
0x6d
,
0xb9
,
0xb0
,
0xbe
,
0x0b
,
0x6b
,
0x36
,
0xee
,
0x60
,
0xc4
,
0xb0
,
0x9b
,
0xa9
,
0x7a
,
0x29
,
0x3b
,
0x0f
,
0xe4
,
0x13
,
0xd2
,
0x57
,
0x32
,
0xa4
,
0xc5
,
0x2d
,
0x9d
,
0xcf
,
0x26
,
0xac
,
0xf7
,
0x81
,
0x25
,
0x43
,
0xfa
,
0x17
,
0x46
,
0x4b
,
0x13
,
0x9e
,
0x4a
,
0x08
,
0xff
,
0xcf
,
0x80
,
0xe2
,
0x41
,
0x84
,
0x42
,
0x8a
,
0x1c
,
0xde
,
0xc3
,
0xe9
,
0x73
,
0xc7
,
0xab
,
0xdc
,
0xaa
,
0xbf
,
0xca
,
0x41
,
0x69
,
0x30
,
0xec
,
0x0b
,
0xd1
,
0xb5
,
0xf2
,
0xb4
,
0xa8
,
0xba
,
0x56
,
0x2c
,
0xac
,
0x4f
,
0x0d
,
0xb0
,
0xaa
,
0x5c
,
0xa3
,
0x3f
,
0x25
,
0xd5
,
0x27
,
0x62
,
0x8b
,
0x53
,
0xfd
,
0xf0
,
0x10
,
0x40
,
0x32
,
0x1d
,
0xd9
,
0x59
,
0x7a
,
0x5e
,
0xe0
,
0xf3
,
0x4b
,
0xeb
,
0x4f
,
0x06
,
0xbc
,
0x7e
,
0x22
,
0x27
,
0x55
,
0xac
,
0x71
,
0x92
,
0x4a
,
0xd2
,
0x97
,
0x13
,
0x87
,
0x6d
,
0x95
,
0xbe
,
0xdf
,
0x18
,
0xf0
,
0x95
,
0x63
,
0xa8
,
0xd6
,
0xbb
,
0xed
,
0x26
,
0x8e
,
0x92
,
0x04
,
0x26
,
0xa5
,
0x36
,
0x46
,
0xdd
,
0xe2
,
0x9f
,
0x19
,
0xf0
,
0xd5
,
0x53
,
0x58
,
0xc5
,
0x29
,
0x1c
,
0x1f
,
0xad
,
0x63
,
0x52
,
0xf8
,
0x0b
,
0x03
,
0x8a
,
0x1f
,
0x85
,
0x4e
,
0x80
,
0x27
,
0xdd
,
0x76
,
0xbf
,
0x35
,
0xa0
,
0x34
,
0x48
,
0xe4
,
0xe5
,
0xe9
,
0xb5
,
0x5f
,
0x1a
,
0x70
,
0x25
,
0xcd
,
0x6f
,
0x82
,
0x0d
,
0xf6
,
0x3b
,
0x03
,
0x36
,
0x86
,
0x51
,
0x79
,
0x79
,
0xba
,
0x8a
,
0x1f
,
0x45
,
0xef
,
0x61
,
0x56
,
0x23
,
0xee
,
0x05
,
0x19
,
0xbf
,
0x96
,
0xe3
,
0x68
,
0x5f
,
0xfd
,
0x47
,
0x99
,
0x09
,
0xd3
,
0x0e
,
0x71
,
0xe5
,
0xfc
,
0x95
,
0xb7
,
0xc5
,
0xb5
,
0xf5
,
0x6b
,
0x03
,
0x16
,
0xf6
,
0x7d
,
0x2f
,
0x9c
,
0x4c
,
0xb5
,
0xf5
,
0xfc
,
0x9f
,
0x4b
,
0xcd
,
0xff
,
0x37
,
0x20
,
0x2f
,
0x09
,
0xa9
,
0x82
,
0x7c
,
0x09
,
0xe6
,
0xa9
,
0xef
,
0x85
,
0x88
,
0x75
,
0x23
,
0xac
,
0x5e
,
0x59
,
0x27
,
0x02
,
0xeb
,
0xaf
,
0x06
,
0x14
,
0xb8
,
0x7a
,
0x6a
,
0xcb
,
0x9e
,
0x4c
,
0x28
,
0x45
,
0x98
,
0x65
,
0xbd
,
0x46
,
0x2a
,
0x9a
,
0x19
,
0xd6
,
0xfb
,
0x0e
,
0x62
,
0xc8
,
0x2c
,
0xc0
,
0x4c
,
0x1b
,
0xb3
,
0x16
,
0x71
,
0x55
,
0xde
,
0xd5
,
0xca
,
0x7a
,
0x13
,
0x8a
,
0x03
,
0xc4
,
0x55
,
0xc8
,
0xaf
,
0xc9
,
0x90
,
0xb1
,
0xdb
,
0x60
,
0x3d
,
0x15
,
0xf2
,
0x9c
,
0x14
,
0x1c
,
0xf4
,
0xac
,
0xbf
,
0xf0
,
0x88
,
0x71
,
0xe8
,
0x4e
,
0x3c
,
0xe2
,
0x1b
,
0xd9
,
0x88
,
0x17
,
0x6e
,
0xad
,
0xc6
,
0xde
,
0x84
,
0x6d
,
0xaf
,
0x8a
,
0x28
,
0xd6
,
0x69
,
0xb0
,
0x9e
,
0x1a
,
0x50
,
0x1c
,
0xa0
,
0xad
,
0xe2
,
0xc5
,
0x02
,
0x69
,
0x64
,
0x8f
,
0x88
,
0x19
,
0xd6
,
0x13
,
0x4f
,
0xaa
,
0x3a
,
0x5c
,
0xe1
,
0x0c
,
0x6c
,
0xf4
,
0x78
,
0x48
,
0xee
,
0x2a
,
0xfd
,
0x39
,
0x5f
,
0xb8
,
0xb5
,
0x96
,
0x89
,
0x67
,
0x2f
,
0x22
,
0xe4
,
0xf0
,
0xa0
,
0x97
,
0xaa
,
0xc4
,
0xcf
,
0x0c
,
0xd8
,
0x18
,
0x06
,
0x38
,
0xde
,
0xa8
,
0xee
,
0xc0
,
0x42
,
0x0d
,
0x05
,
0x81
,
0x8e
,
0xe3
,
0xe6
,
0x60
,
0x1c
,
0x43
,
0xeb
,
0x92
,
0x84
,
0x71
,
0x1d
,
0xf2
,
0x12
,
0x60
,
0xe8
,
0x0b
,
0xe6
,
0x7c
,
0xfc
,
0x82
,
0xf9
,
0x3d
,
0x30
,
0xdf
,
0xa5
,
0xcc
,
0x6f
,
0x23
,
0x86
,
0xef
,
0x21
,
0x7a
,
0x7e
,
0x7f
,
0x9f
,
0x1a
,
0xb0
,
0x9a
,
0x01
,
0x3a
,
0xd9
,
0xaf
,
0xd9
,
0x84
,
0x29
,
0x0f
,
0xd1
,
0xd1
,
0xfd
,
0x70
,
0xe1
,
0x21
,
0x6a
,
0x3d
,
0x33
,
0xc0
,
0x14
,
0xa3
,
0xdf
,
0x04
,
0x07
,
0xa9
,
0x3b
,
0xb0
,
0x9a
,
0xa1
,
0xa0
,
0xd2
,
0xb2
,
0x05
,
0x97
,
0x84
,
0x8e
,
0x72
,
0x6f
,
0x66
,
0x92
,
0x2b
,
0x0c
,
0x6c
,
0xa9
,
0xc0
,
0xfb
,
0x71
,
0x4d
,
0x21
,
0x4c
,
0x70
,
0xc8
,
0xb9
,
0x0b
,
0xeb
,
0x7d
,
0x24
,
0xbe
,
0x70
,
0x20
,
0xcf
,
0x8c
,
0xcc
,
0x59
,
0x33
,
0x5b
,
0x93
,
0xf1
,
0x6d
,
0x16
,
0x43
,
0x28
,
0xa8
,
0x50
,
0x2a
,
0xc9
,
0xd6
,
0x27
,
0x39
,
0x94
,
0xb2
,
0x2d
,
0x9f
,
0xda
,
0x0d
,
0xf4
,
0xfe
,
0xc7
,
0x0f
,
0x17
,
0x19
,
0xc0
,
0xaa
,
0x2e
,
0xfc
,
0xdd
,
0xd0
,
0xbd
,
0x1f
,
0xba
,
0xb8
,
0x37
,
0x89
,
0xa6
,
0xe3
,
0x63
,
0xa0
,
0xcf
,
0x9d
,
0xeb
,
0x31
,
0x50
,
0x2c
,
0xac
,
0x1f
,
0xc0
,
0xf5
,
0xd3
,
0xb8
,
0x9e
,
0x3f
,
0x13
,
0x7f
,
0x36
,
0xe0
,
0x6b
,
0x83
,
0xe8
,
0xb2
,
0x59
,
0x06
,
0x73
,
0x31
,
0xde
,
0x91
,
0x78
,
0x48
,
0x2e
,
0x7e
,
0x08
,
0x5b
,
0xa7
,
0xb3
,
0x3d
,
0x7f
,
0x36
,
0x7e
,
0x6a
,
0x64
,
0x1a
,
0xcd
,
0xc6
,
0x0e
,
0xf6
,
0x3b
,
0x6c
,
0xcc
,
0xcd
,
0xfe
,
0x21
,
0x6c
,
0x0c
,
0xe3
,
0xa0
,
0xa2
,
0xda
,
0x01
,
0x60
,
0xbd
,
0x46
,
0x24
,
0xa5
,
0x43
,
0x9f
,
0x8d
,
0xda
,
0x62
,
0x9e
,
0xf5
,
0xd4
,
0xa5
,
0xf5
,
0x07
,
0x03
,
0x36
,
0xc5
,
0x59
,
0xe7
,
0xe5
,
0xee
,
0xf4
,
0x1a
,
0x5c
,
0x3d
,
0x9e
,
0xa5
,
0x8a
,
0x7f
,
0x13
,
0x16
,
0xba
,
0x5c
,
0xa7
,
0x91
,
0x6c
,
0x5f
,
0x79
,
0x1b
,
0x84
,
0x48
,
0x18
,
0x59
,
0x7f
,
0x34
,
0xe0
,
0x5a
,
0x1a
,
0xe5
,
0xa5
,
0xed
,
0xe5
,
0x77
,
0xc1
,
0x3a
,
0x89
,
0xe7
,
0x59
,
0xe3
,
0x35
,
0x61
,
0xa5
,
0x46
,
0xda
,
0x1d
,
0x3f
,
0xc0
,
0x51
,
0xfc
,
0xa3
,
0x6e
,
0x05
,
0x2e
,
0xa7
,
0x64
,
0xc9
,
0xec
,
0xee
,
0x68
,
0xa1
,
0x9e
,
0xdd
,
0x63
,
0x81
,
0x75
,
0x13
,
0x0a
,
0xca
,
0x64
,
0x9f
,
0x04
,
0xbe
,
0xeb
,
0xb3
,
0x27
,
0x3a
,
0x55
,
0x05
,
0x98
,
0x91
,
0xdf
,
0xc1
,
0xe8
,
0x51
,
0x40
,
0xae
,
0xac
,
0x6f
,
0x40
,
0x71
,
0xc0
,
0x42
,
0xb9
,
0xd2
,
0x87
,
0x1b
,
0x23
,
0x75
,
0xb8
,
0x79
,
0x23
,
0xe6
,
0xb4
,
0xbb
,
0xbb
,
0x7b
,
0x1a
,
0xf6
,
0x16
,
0x98
,
0x69
,
0xe5
,
0x13
,
0x60
,
0xcb
,
0xb0
,
0xae
,
0x59
,
0xe0
,
0xa8
,
0x83
,
0x93
,
0xd7
,
0xbf
,
0xc7
,
0x41
,
0xdf
,
0x48
,
0x02
,
0xd5
,
0x06
,
0x27
,
0xc0
,
0x6f
,
0xc1
,
0x4a
,
0x1d
,
0x3f
,
0x7e
,
0xcf
,
0x0f
,
0x58
,
0xf2
,
0x04
,
0x5f
,
0x83
,
0x4b
,
0x1d
,
0x14
,
0xa1
,
0xb6
,
0x52
,
0x94
,
0x0b
,
0xeb
,
0x26
,
0x5c
,
0x4e
,
0x69
,
0x26
,
0x87
,
0x87
,
0x43
,
0x21
,
0xd1
,
0x7d
,
0x96
,
0xb7
,
0xe7
,
0xa4
,
0xe0
,
0xbe
,
0x6b
,
0x15
,
0x61
,
0xbd
,
0x8e
,
0x1f
,
0x8b
,
0x2a
,
0x66
,
0x1c
,
0x58
,
0xb7
,
0xa1
,
0xd0
,
0x7f
,
0xe3
,
0x2c
,
0x78
,
0xd7
,
0x60
,
0x73
,
0x0f
,
0x87
,
0xae
,
0x1f
,
0x7a
,
0xa9
,
0xfd
,
0x23
,
0x8b
,
0x7c
,
0x07
,
0xae
,
0x1e
,
0xaf
,
0x72
,
0x16
,
0x1f
,
0xb7
,
0xa1
,
0xf0
,
0x51
,
0xe8
,
0x87
,
0x94
,
0xa1
,
0x20
,
0xc8
,
0x66
,
0xe5
,
0x44
,
0xb3
,
0x0a
,
0x14
,
0x07
,
0xcc
,
0x86
,
0x4e
,
0x9a
,
0x73
,
0xf1
,
0x84
,
0xbb
,
0x03
,
0x6b
,
0x52
,
0xb3
,
0xd6
,
0x42
,
0xa1
,
0x87
,
0xe9
,
0x99
,
0xfc
,
0xbc
,
0x01
,
0xeb
,
0x7d
,
0x46
,
0x49
,
0x6d
,
0xfd
,
0xf0
,
0x90
,
0xe8
,
0xda
,
0xf2
,
0x6b
,
0x5e
,
0x31
,
0xa9
,
0xbc
,
0x4b
,
0xbc
,
0xb3
,
0xc1
,
0xbf
,
0x03
,
0x66
,
0xda
,
0x42
,
0x61
,
0x5f
,
0x87
,
0xe9
,
0x80
,
0x78
,
0xfa
,
0x53
,
0x09
,
0xb3
,
0x6f
,
0xe0
,
0xde
,
0x25
,
0x9e
,
0x2d
,
0xee
,
0x5b
,
0xaf
,
0xc3
,
0x42
,
0xda
,
0xd3
,
0xf0
,
0x36
,
0x7a
,
0x13
,
0xf2
,
0xe7
,
0x02
,
0xff
,
0x1e
,
0x6c
,
0x1c
,
0x60
,
0xca
,
0x8e
,
0x39
,
0x8c
,
0x9e
,
0xe3
,
0x59
,
0xf8
,
0x73
,
0x03
,
0x5e
,
0x1b
,
0x8a
,
0x38
,
0xd6
,
0x13
,
0x55
,
0xf5
,
0x6f
,
0x06
,
0x2c
,
0x3a
,
0xa4
,
0xbd
,
0x1d
,
0x7f
,
0x21
,
0x58
,
0x35
,
0xd5
,
0xe7
,
0x2a
,
0x36
,
0x7e
,
0x64
,
0x63
,
0x2a
,
0x50
,
0xf6
,
0x8c
,
0xef
,
0x7f
,
0x78
,
0x66
,
0x57
,
0xf1
,
0xc2
,
0xc3
,
0xa1
,
0xfc
,
0x88
,
0xb0
,
0xec
,
0x91
,
0x72
,
0xfc
,
0xd9
,
0xdf
,
0xdb
,
0xf2
,
0xea
,
0xa8
,
0xf2
,
0xfb
,
0xdc
,
0x54
,
0xfd
,
0xe3
,
0x8f
,
0x3f
,
0xcb
,
0xcd
,
0xd7
,
0xa5
,
0xeb
,
0x07
,
0x95
,
0x7f
,
0xe8
,
0xeb
,
0x4f
,
0x1e
,
0x54
,
0xfe
,
0x9d
,
0x5b
,
0x8f
,
0xaf
,
0x3f
,
0xb9
,
0xb7
,
0x57
,
0xe5
,
0xc8
,
0x3c
,
0xbf
,
0x9f
,
0xe7
,
0x40
,
0xca
,
0xdf
,
0x7a
,
0xeb
,
0x41
,
0xa5
,
0x39
,
0x23
,
0xf0
,
0x77
,
0xfe
,
0x1f
,
0x00
,
0x00
,
0xff
,
0xff
,
0x17
,
0x90
,
0xdd
,
0xd0
,
0x02
,
0x29
,
0x00
,
0x00
,
}
MetaProtocol-main/gen/proto/go/ring/v1/account_req_res.pb.go
View file @
d4249455
...
...
@@ -134,6 +134,7 @@ func (m *Sha3Request) GetData() []byte {
}
type
Sha3Response
struct
{
//
Hash
*
github_com_CaduceusMetaverseProtocol_MetaTypes_types
.
Hash
`protobuf:"bytes,1,opt,name=hash,proto3,customtype=github.com/CaduceusMetaverseProtocol/MetaTypes/types.Hash" json:"hash,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
...
...
@@ -1034,13 +1035,13 @@ func (m *NonceResponse) GetNonce() uint64 {
}
type
RepeatedNonceRequest
struct
{
// request address
Address
[]
github_com_CaduceusMetaverseProtocol_MetaTypes_types
.
Address
`protobuf:"bytes,1,rep,name=address,proto3,customtype=github.com/CaduceusMetaverseProtocol/MetaTypes/types.Address" json:"address,omitempty"`
//repeated bytes addresses =1;
// request block number
BlockId
[]
github_com_CaduceusMetaverseProtocol_MetaTypes_types
.
BigInt
`protobuf:"bytes,2,rep,name=block_id,json=blockId,proto3,customtype=github.com/CaduceusMetaverseProtocol/MetaTypes/types.BigInt" json:"block_id,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
//repeated base.v1.BigInt block_id = 2[(gogoproto.customtype) = "github.com/CaduceusMetaverseProtocol/MetaTypes/types.BigInt"];
List
[]
*
NonceRequest
`protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
m
*
RepeatedNonceRequest
)
Reset
()
{
*
m
=
RepeatedNonceRequest
{}
}
...
...
@@ -1067,16 +1068,18 @@ func (m *RepeatedNonceRequest) XXX_DiscardUnknown() {
var
xxx_messageInfo_RepeatedNonceRequest
proto
.
InternalMessageInfo
func
(
m
*
RepeatedNonceRequest
)
GetList
()
[]
*
NonceRequest
{
if
m
!=
nil
{
return
m
.
List
}
return
nil
}
type
RepeatedNonceResponse
struct
{
// request address
Address
[]
github_com_CaduceusMetaverseProtocol_MetaTypes_types
.
Address
`protobuf:"bytes,1,rep,name=address,proto3,customtype=github.com/CaduceusMetaverseProtocol/MetaTypes/types.Address" json:"address,omitempty"`
// request block number
BlockId
[]
github_com_CaduceusMetaverseProtocol_MetaTypes_types
.
BigInt
`protobuf:"bytes,2,rep,name=block_id,json=blockId,proto3,customtype=github.com/CaduceusMetaverseProtocol/MetaTypes/types.BigInt" json:"block_id,omitempty"`
// nonce
Nonce
[]
uint64
`protobuf:"varint,3,rep,packed,name=nonce,proto3" json:"nonce,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
List
[]
*
NonceResponse
`protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
m
*
RepeatedNonceResponse
)
Reset
()
{
*
m
=
RepeatedNonceResponse
{}
}
...
...
@@ -1103,9 +1106,9 @@ func (m *RepeatedNonceResponse) XXX_DiscardUnknown() {
var
xxx_messageInfo_RepeatedNonceResponse
proto
.
InternalMessageInfo
func
(
m
*
RepeatedNonceResponse
)
Get
Nonce
()
[]
uint64
{
func
(
m
*
RepeatedNonceResponse
)
Get
List
()
[]
*
NonceResponse
{
if
m
!=
nil
{
return
m
.
Nonce
return
m
.
List
}
return
nil
}
...
...
@@ -3495,117 +3498,118 @@ func init() {
func
init
()
{
proto
.
RegisterFile
(
"ring/v1/account_req_res.proto"
,
fileDescriptor_edf64ab8a9a4cbde
)
}
var
fileDescriptor_edf64ab8a9a4cbde
=
[]
byte
{
// 1789 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xe4
,
0x5a
,
0xdb
,
0x6f
,
0x1b
,
0x59
,
0x19
,
0xd7
,
0xd8
,
0x69
,
0x2e
,
0x9f
,
0xdd
,
0x24
,
0x9d
,
0x38
,
0xb6
,
0x37
,
0xb0
,
0x4a
,
0x7b
,
0x16
,
0x4a
,
0xc4
,
0x16
,
0xbb
,
0x6e
,
0xd4
,
0x95
,
0xd8
,
0x5d
,
0x54
,
0x6a
,
0xb3
,
0xdb
,
0xad
,
0x94
,
0x5a
,
0x61
,
0x92
,
0x8d
,
0x56
,
0xb0
,
0xc8
,
0x1c
,
0xcf
,
0x9c
,
0x8c
,
0x87
,
0x8c
,
0xe7
,
0xb8
,
0x73
,
0x8e
,
0x53
,
0x87
,
0xa7
,
0x16
,
0x24
,
0xb4
,
0x12
,
0x0f
,
0x68
,
0xc5
,
0x33
,
0x42
,
0x42
,
0x08
,
0xa1
,
0x15
,
0xbc
,
0x21
,
0xf1
,
0x37
,
0xc0
,
0x3b
,
0x12
,
0xea
,
0x43
,
0x1f
,
0x78
,
0xa3
,
0x3c
,
0x21
,
0xf1
,
0x07
,
0xa0
,
0x73
,
0xe6
,
0xcc
,
0xc5
,
0x97
,
0x5c
,
0x36
,
0x92
,
0xed
,
0x28
,
0x79
,
0x49
,
0xe6
,
0x7c
,
0xf3
,
0x5d
,
0x7e
,
0xdf
,
0xc5
,
0xdf
,
0xf9
,
0xce
,
0xcc
,
0xc0
,
0x9b
,
0xbe
,
0xe3
,
0xd9
,
0xe5
,
0xc3
,
0x4a
,
0x19
,
0x9b
,
0x26
,
0xed
,
0x7a
,
0xbc
,
0xe1
,
0x93
,
0xa7
,
0x0d
,
0x9f
,
0xb0
,
0x52
,
0xc7
,
0xa7
,
0x9c
,
0xea
,
0x73
,
0xe2
,
0x76
,
0xe9
,
0xb0
,
0xb2
,
0x76
,
0xd3
,
0xa6
,
0xd4
,
0x76
,
0x49
,
0x59
,
0x92
,
0x9b
,
0xdd
,
0xfd
,
0xf2
,
0xbe
,
0x43
,
0x5c
,
0xab
,
0xd1
,
0xc6
,
0xec
,
0x20
,
0x60
,
0x5d
,
0x2b
,
0x7a
,
0xa4
,
0xd9
,
0x75
,
0xb1
,
0xd0
,
0xe5
,
0x13
,
0x46
,
0xbb
,
0xbe
,
0x49
,
0xd4
,
0x9d
,
0xf5
,
0x41
,
0x59
,
0xee
,
0xb4
,
0x09
,
0xe3
,
0xb8
,
0xdd
,
0x51
,
0x0c
,
0xf9
,
0x26
,
0x66
,
0x64
,
0x84
,
0xa0
,
0x1e
,
0xd2
,
0xdb
,
0x84
,
0x63
,
0x45
,
0x5b
,
0x92
,
0x34
,
0x9b
,
0xda
,
0x34
,
0x20
,
0xa0
,
0x1c
,
0xe8
,
0x75
,
0x6a
,
0x91
,
0x3d
,
0xe2
,
0x33
,
0x87
,
0x7a
,
0x06
,
0x79
,
0xda
,
0x25
,
0x8c
,
0xa3
,
0x32
,
0xac
,
0xf4
,
0x51
,
0x59
,
0x87
,
0x7a
,
0x8c
,
0xe8
,
0x45
,
0x98
,
0x3b
,
0x0c
,
0x48
,
0x45
,
0xed
,
0xa6
,
0xb6
,
0xb1
,
0x60
,
0x84
,
0x4b
,
0x74
,
0x0b
,
0x32
,
0x3b
,
0x2d
,
0xbc
,
0xa9
,
0xe4
,
0x75
,
0x1d
,
0x66
,
0x2c
,
0xcc
,
0xb1
,
0xe4
,
0xca
,
0x1a
,
0xf2
,
0x1a
,
0x75
,
0x20
,
0x1b
,
0xb0
,
0x28
,
0x65
,
0x3f
,
0x86
,
0x99
,
0x16
,
0x66
,
0x2d
,
0xc9
,
0x93
,
0xb9
,
0x77
,
0xbd
,
0x24
,
0x90
,
0x95
,
0x0e
,
0x2b
,
0xa5
,
0x8f
,
0x30
,
0x6b
,
0x55
,
0xbf
,
0xf3
,
0xf2
,
0xd5
,
0xfa
,
0xb7
,
0x6d
,
0x87
,
0xb7
,
0xba
,
0xcd
,
0x92
,
0x49
,
0xdb
,
0xe5
,
0x1a
,
0xb6
,
0xba
,
0x26
,
0xe9
,
0xb2
,
0x27
,
0x84
,
0x63
,
0x61
,
0x93
,
0x6c
,
0x0b
,
0xf4
,
0x26
,
0x75
,
0xcb
,
0x82
,
0xb2
,
0x7b
,
0xd4
,
0x21
,
0xac
,
0xcc
,
0xc5
,
0x5f
,
0x29
,
0x6e
,
0x48
,
0xcd
,
0x68
,
0x05
,
0x6e
,
0xd4
,
0x09
,
0x1f
,
0x70
,
0xad
,
0x04
,
0x7a
,
0x92
,
0x78
,
0xaa
,
0x67
,
0xab
,
0xb0
,
0x52
,
0x27
,
0x7c
,
0x9b
,
0x10
,
0xbf
,
0x26
,
0x32
,
0x1c
,
0xaa
,
0xb9
,
0x0f
,
0xb9
,
0x7e
,
0xb2
,
0x52
,
0xf4
,
0x26
,
0x40
,
0x87
,
0x10
,
0xbf
,
0x21
,
0xcb
,
0x41
,
0xea
,
0xba
,
0x6e
,
0x2c
,
0x74
,
0x42
,
0x36
,
0x54
,
0x84
,
0x7c
,
0x88
,
0x7c
,
0x00
,
0xd7
,
0x26
,
0x14
,
0x86
,
0xee
,
0x9c
,
0x0a
,
0x6e
,
0x19
,
0x16
,
0x77
,
0x8e
,
0x3c
,
0xd3
,
0xf1
,
0xec
,
0x50
,
0xcd
,
0xdf
,
0x52
,
0xb0
,
0x14
,
0x91
,
0x94
,
0xfc
,
0x3e
,
0x5c
,
0x63
,
0x1c
,
0xfb
,
0x5c
,
0x85
,
0x7a
,
0x29
,
0x0a
,
0x75
,
0xd5
,
0xb1
,
0x1f
,
0x7b
,
0xbc
,
0xfa
,
0xe0
,
0xe5
,
0xab
,
0xf5
,
0xf7
,
0xce
,
0x15
,
0xec
,
0x40
,
0x81
,
0x11
,
0xa8
,
0xd7
,
0x9b
,
0x90
,
0x26
,
0x9e
,
0x55
,
0x4c
,
0x8d
,
0xc9
,
0x8a
,
0x50
,
0xae
,
0xff
,
0x04
,
0xe6
,
0xcc
,
0xae
,
0xef
,
0x13
,
0x8f
,
0x17
,
0xd3
,
0x63
,
0xb2
,
0x13
,
0x1a
,
0x40
,
0x37
,
0x60
,
0xa9
,
0x46
,
0x1d
,
0x4f
,
0xe8
,
0x0f
,
0xc3
,
0xfb
,
0x5c
,
0x83
,
0xe5
,
0x98
,
0xa6
,
0xe2
,
0xeb
,
0xc2
,
0x1c
,
0xb6
,
0x2c
,
0x9f
,
0x30
,
0xa6
,
0x22
,
0xbc
,
0x1c
,
0x61
,
0x7a
,
0x18
,
0xd0
,
0xab
,
0xdf
,
0x7d
,
0xf9
,
0x6a
,
0xfd
,
0xfd
,
0x73
,
0x81
,
0x52
,
0x1a
,
0x8c
,
0xd0
,
0x04
,
0x5a
,
0x82
,
0xeb
,
0x4f
,
0x1c
,
0x2f
,
0x91
,
0xf2
,
0x0d
,
0x58
,
0x0c
,
0x09
,
0x0a
,
0x50
,
0x1e
,
0x66
,
0x19
,
0xc7
,
0xbc
,
0xcb
,
0x54
,
0xbd
,
0xa8
,
0x95
,
0x70
,
0x48
,
0xfe
,
0x3c
,
0x30
,
0x8f
,
0x1c
,
0xfa
,
0x26
,
0x2c
,
0xc7
,
0xa4
,
0x58
,
0xdc
,
0x27
,
0xac
,
0xeb
,
0xf2
,
0x50
,
0x3c
,
0x58
,
0x09
,
0xf1
,
0x47
,
0x98
,
0x6d
,
0xfb
,
0x8e
,
0x19
,
0x89
,
0xbf
,
0xd0
,
0x60
,
0x39
,
0xa6
,
0x29
,
0xf9
,
0x36
,
0x2c
,
0xd8
,
0x98
,
0x35
,
0x3a
,
0x82
,
0x38
,
0xb6
,
0x9a
,
0x9b
,
0xb7
,
0x95
,
0x59
,
0x01
,
0xeb
,
0x61
,
0xd0
,
0x7e
,
0x59
,
0x32
,
0x4d
,
0x31
,
0x6d
,
0x54
,
0x9a
,
0xd2
,
0x13
,
0x48
,
0xd3
,
0x47
,
0xc4
,
0xb1
,
0x5b
,
0x51
,
0xc7
,
0xf8
,
0x29
,
0x2c
,
0x86
,
0x04
,
0x05
,
0xa8
,
0x05
,
0xb3
,
0x2d
,
0x49
,
0x19
,
0x5b
,
0x90
,
0x94
,
0x7e
,
0xf4
,
0x1f
,
0x0d
,
0x16
,
0xab
,
0xd8
,
0xc5
,
0x5e
,
0x94
,
0xb9
,
0xc9
,
0x16
,
0xad
,
0x7e
,
0x00
,
0xf3
,
0x4d
,
0x97
,
0x9a
,
0x07
,
0x0d
,
0x67
,
0x7c
,
0xfd
,
0x61
,
0x4e
,
0x5a
,
0x78
,
0x6c
,
0xa1
,
0x7f
,
0xa6
,
0x60
,
0x29
,
0xf2
,
0x76
,
0x1a
,
0xbf
,
0xd1
,
0x89
,
0xba
,
0x2b
,
0x5a
,
0x62
,
0x33
,
0xf0
,
0x76
,
0x7c
,
0x2d
,
0x51
,
0x19
,
0x40
,
0xff
,
0x48
,
0xc1
,
0xe2
,
0x0e
,
0xa7
,
0x3e
,
0xb6
,
0xaf
,
0x40
,
0x21
,
0xe9
,
0x2d
,
0x98
,
0xef
,
0x50
,
0xe6
,
0x70
,
0xb1
,
0xf3
,
0xa6
,
0xc7
,
0x30
,
0xa6
,
0x44
,
0xda
,
0xd1
,
0x6b
,
0xb1
,
0x6d
,
0x87
,
0x71
,
0xbd
,
0xfc
,
0x25
,
0x3b
,
0xb1
,
0xc0
,
0x46
,
0x93
,
0xe8
,
0x4c
,
0x62
,
0x12
,
0xfd
,
0xb7
,
0x06
,
0xd9
,
0x3a
,
0xbd
,
0x1a
,
0xbd
,
0xf0
,
0x79
,
0x0a
,
0xae
,
0x2b
,
0x5f
,
0x2f
,
0x7f
,
0x59
,
0xe5
,
0xe0
,
0x9a
,
0x47
,
0xc3
,
0x3e
,
0x38
,
0x63
,
0x04
,
0x0b
,
0xf4
,
0x5f
,
0x0d
,
0x72
,
0x06
,
0xe9
,
0x10
,
0xcc
,
0x89
,
0x75
,
0x7c
,
0xda
,
0xd3
,
0x93
,
0x8d
,
0x44
,
0x7a
,
0xbc
,
0x69
,
0xff
,
0x2c
,
0x05
,
0xab
,
0x03
,
0x3e
,
0x4f
,
0x63
,
0x0a
,
0x9a
,
0xa8
,
0xd3
,
0xc9
,
0xf4
,
0xa7
,
0xe3
,
0xf4
,
0xff
,
0x4f
,
0x83
,
0xc2
,
0xae
,
0x8f
,
0x3d
,
0x86
,
0x4d
,
0xd1
,
0x11
,
0x92
,
0xa7
,
0xb8
,
0xcb
,
0xfc
,
0xc3
,
0xff
,
0x65
,
0x0a
,
0x8a
,
0xc3
,
0x6e
,
0x5f
,
0x89
,
0x1e
,
0x10
,
0x9c
,
0xbd
,
0x55
,
0x0f
,
0x90
,
0x0b
,
0xf4
,
0xb9
,
0x06
,
0xa8
,
0x2a
,
0x38
,
0x06
,
0x43
,
0x52
,
0x3d
,
0x92
,
0x1b
,
0x86
,
0xaa
,
0x87
,
0x03
,
0x80
,
0x00
,
0xe9
,
0xd8
,
0x9e
,
0x4c
,
0x2c
,
0x48
,
0xfd
,
0xe2
,
0x12
,
0xfd
,
0x51
,
0x83
,
0xb7
,
0x4e
,
0xc4
,
0xa4
,
0x92
,
0x35
,
0x49
,
0x50
,
0x71
,
0xf8
,
0x52
,
0xf2
,
0xd1
,
0x85
,
0x0a
,
0xdf
,
0xaf
,
0x35
,
0xf8
,
0xda
,
0x31
,
0x50
,
0xeb
,
0xdd
,
0x76
,
0x93
,
0xf8
,
0x71
,
0x00
,
0xe3
,
0x54
,
0x6b
,
0xe3
,
0x2e
,
0xf1
,
0x2f
,
0x34
,
0xf8
,
0xfa
,
0x29
,
0xa8
,
0xa2
,
0x10
,
0x4e
,
0x0e
,
0xd6
,
0x31
,
0x21
,
0xfc
,
0x85
,
0x06
,
0x85
,
0x8f
,
0x3d
,
0xd3
,
0x25
,
0xd3
,
0x2e
,
0xbb
,
0xdf
,
0x68
,
0x50
,
0x1c
,
0x06
,
0x72
,
0x71
,
0x6a
,
0xed
,
0x33
,
0x0d
,
0xde
,
0x48
,
0xe2
,
0x9b
,
0x62
,
0x81
,
0xfd
,
0x56
,
0x83
,
0xb5
,
0x51
,
0x50
,
0x2e
,
0x4e
,
0x55
,
0x89
,
0x83
,
0xfd
,
0x23
,
0xc2
,
0x6b
,
0xd4
,
0xba
,
0x22
,
0xc3
,
0xec
,
0x52
,
0xe4
,
0xed
,
0xe5
,
0xdf
,
0xca
,
0x74
,
0x98
,
0x31
,
0xa9
,
0x15
,
0x4c
,
0xb3
,
0x59
,
0x43
,
0x5e
,
0xa3
,
0x5f
,
0x69
,
0x90
,
0xd9
,
0x71
,
0x6c
,
0x6f
,
0x3a
,
0xd9
,
0x0e
,
0x4f
,
0x53
,
0xa9
,
0xc4
,
0x69
,
0xea
,
0x0e
,
0x64
,
0x03
,
0x40
,
0x2a
,
0x21
,
0x5f
,
0x85
,
0x05
,
0xe6
,
0xd8
,
0x1e
,
0xe6
,
0x5d
,
0x9f
,
0xa8
,
0x17
,
0x00
,
0x31
,
0x01
,
0xfd
,
0x55
,
0x83
,
0xbc
,
0x60
,
0x4f
,
0xb4
,
0xec
,
0xe9
,
0xb8
,
0x52
,
0x80
,
0x39
,
0xde
,
0x6b
,
0x24
,
0xbc
,
0x99
,
0xe5
,
0xbd
,
0xef
,
0x61
,
0x8e
,
0xf5
,
0x3c
,
0xcc
,
0xb6
,
0x09
,
0x6f
,
0x51
,
0x4b
,
0xc5
,
0x5d
,
0xad
,
0xd0
,
0x3b
,
0x50
,
0x18
,
0x02
,
0xae
,
0x5c
,
0xfe
,
0x4a
,
0xe0
,
0x32
,
0xb1
,
0x1a
,
0xbc
,
0xa7
,
0x5c
,
0x9e
,
0x0f
,
0x08
,
0xbb
,
0x3d
,
0xf4
,
0x17
,
0xe1
,
0x31
,
0xf1
,
0xac
,
0xa9
,
0x7b
,
0x7c
,
0xa7
,
0xdf
,
0xe3
,
0xcc
,
0xbd
,
0x95
,
0xc8
,
0x9a
,
0x94
,
0xed
,
0x55
,
0x31
,
0x23
,
0x61
,
0x18
,
0xd0
,
0x73
,
0x0d
,
0x0a
,
0x43
,
0xb0
,
0x95
,
0xbf
,
0x44
,
0x6a
,
0x1a
,
0xdb
,
0x16
,
0x31
,
0xcb
,
0x7b
,
0x72
,
0xa7
,
0xaa
,
0xc3
,
0x1b
,
0x02
,
0x81
,
0x81
,
0x9f
,
0x8d
,
0x88
,
0x5d
,
0x65
,
0x30
,
0xe6
,
0x99
,
0x7b
,
0xb9
,
0x3e
,
0x7f
,
0xb6
,
0x7d
,
0x4a
,
0xf7
,
0x77
,
0x7b
,
0x89
,
0x4c
,
0xfc
,
0x5c
,
0x83
,
0xb5
,
0x51
,
0x0a
,
0x27
,
0xeb
,
0xd5
,
0x03
,
0xc8
,
0xd4
,
0xb0
,
0xeb
,
0x86
,
0x7e
,
0xdc
,
0x1d
,
0xf6
,
0x63
,
0x64
,
0x5e
,
0x62
,
0x37
,
0x6e
,
0x43
,
0x36
,
0x50
,
0x30
,
0xf2
,
0x71
,
0x7d
,
0x36
,
0x7a
,
0x5c
,
0xff
,
0x21
,
0xe8
,
0x1f
,
0x30
,
0xee
,
0xb4
,
0x31
,
0x27
,
0x8f
,
0x30
,
0x3b
,
0xbf
,
0xbd
,
0xcf
,
0x35
,
0x58
,
0xe9
,
0x53
,
0x74
,
0xb2
,
0x5d
,
0xbd
,
0x09
,
0x69
,
0x1b
,
0xb3
,
0xf1
,
0xbd
,
0x06
,
0xb2
,
0x31
,
0x43
,
0x2f
,
0x34
,
0xd0
,
0xe5
,
0xe8
,
0x37
,
0xc5
,
0x41
,
0xea
,
0x01
,
0xac
,
0xf4
,
0x41
,
0x50
,
0x61
,
0xd9
,
0x80
,
0x6b
,
0x92
,
0x47
,
0x99
,
0xd7
,
0xfb
,
0x82
,
0x2b
,
0x05
,
0x8c
,
0x80
,
0x41
,
0xd4
,
0x63
,
0x4e
,
0x69
,
0x98
,
0xe2
,
0x90
,
0xf3
,
0x10
,
0x56
,
0x07
,
0x40
,
0x7c
,
0x69
,
0x47
,
0x5e
,
0x68
,
0x7d
,
0x67
,
0xcd
,
0xfe
,
0x9c
,
0x4c
,
0xae
,
0x59
,
0x8c
,
0x80
,
0xa0
,
0x5c
,
0xa9
,
0xc4
,
0xad
,
0x2f
,
0xc0
,
0x50
,
0xec
,
0x2f
,
0xf9
,
0x44
,
0x37
,
0x08
,
0xfb
,
0x9f
,
0x38
,
0x5c
,
0xf4
,
0x29
,
0xac
,
0x86
,
0x89
,
0x7f
,
0xe8
,
0x59
,
0x8f
,
0x3d
,
0x8b
,
0xf4
,
0xa6
,
0x51
,
0x74
,
0x62
,
0x0c
,
0x74
,
0x84
,
0xf1
,
0x70
,
0x0c
,
0x94
,
0x0b
,
0xf4
,
0x43
,
0xb8
,
0x7d
,
0x1a
,
0xd6
,
0xf3
,
0x47
,
0xe2
,
0x4f
,
0x1a
,
0x7c
,
0x63
,
0x58
,
0x7b
,
0x50
,
0x2c
,
0xc3
,
0xb1
,
0x98
,
0xec
,
0x48
,
0x3c
,
0x22
,
0x16
,
0x3f
,
0x82
,
0x8d
,
0xd3
,
0xd1
,
0x9e
,
0x3f
,
0x1a
,
0x3f
,
0xd3
,
0xfa
,
0x0a
,
0xcd
,
0x20
,
0x26
,
0x71
,
0x3a
,
0x7c
,
0xc2
,
0xc5
,
0xfe
,
0x7d
,
0x58
,
0x1b
,
0x85
,
0x41
,
0x79
,
0xb5
,
0x09
,
0xc0
,
0x7b
,
0x0d
,
0x3f
,
0xa0
,
0x8e
,
0xdc
,
0x1b
,
0x43
,
0x89
,
0x05
,
0xde
,
0x53
,
0x97
,
0xe8
,
0xf7
,
0x1a
,
0xac
,
0xcb
,
0xb3
,
0xce
,
0xc5
,
0xae
,
0xf4
,
0x1a
,
0xdc
,
0x3c
,
0x1e
,
0xa5
,
0xf2
,
0x7f
,
0x1d
,
0x32
,
0x5d
,
0xc1
,
0xd3
,
0x88
,
0xdb
,
0x57
,
0xd6
,
0x00
,
0x49
,
0x92
,
0x42
,
0xe8
,
0x0f
,
0x1a
,
0xdc
,
0x4a
,
0x6a
,
0xb9
,
0xb0
,
0xb5
,
0xfc
,
0x01
,
0xa0
,
0x93
,
0x70
,
0x9e
,
0xd5
,
0x5f
,
0x1d
,
0x96
,
0x6b
,
0xb4
,
0xdd
,
0x71
,
0x5c
,
0xe2
,
0x47
,
0xaf
,
0xc8
,
0x2b
,
0x70
,
0x23
,
0x41
,
0x8b
,
0x67
,
0x77
,
0x33
,
0x24
,
0x86
,
0xb3
,
0x7b
,
0x44
,
0x40
,
0x77
,
0x21
,
0xaf
,
0x44
,
0x76
,
0xa8
,
0xeb
,
0x58
,
0x0e
,
0x3f
,
0x0a
,
0x43
,
0x95
,
0x87
,
0xd9
,
0xe0
,
0xd3
,
0xa3
,
0x70
,
0x14
,
0x08
,
0x56
,
0xe8
,
0x5b
,
0x50
,
0x18
,
0x92
,
0x50
,
0xa6
,
0xc2
,
0xc3
,
0x8d
,
0x96
,
0x38
,
0xdc
,
0xbc
,
0x1d
,
0x61
,
0xda
,
0xda
,
0xda
,
0x3a
,
0x4d
,
0xf7
,
0x06
,
0xe8
,
0x49
,
0xe6
,
0x13
,
0xd4
,
0x96
,
0x61
,
0x35
,
0x44
,
0x41
,
0xfc
,
0x0e
,
0x89
,
0x1f
,
0xff
,
0x1e
,
0xa7
,
0xfa
,
0x4e
,
0xec
,
0x68
,
0x28
,
0x70
,
0x82
,
0xfa
,
0x0d
,
0x58
,
0xae
,
0x93
,
0x67
,
0x1f
,
0x3a
,
0x2e
,
0x8f
,
0x77
,
0xf0
,
0x1c
,
0x5c
,
0xeb
,
0x60
,
0x1f
,
0xb7
,
0x15
,
0x63
,
0xb0
,
0x40
,
0x77
,
0xe1
,
0x46
,
0x82
,
0x33
,
0x3e
,
0x3c
,
0xec
,
0x4b
,
0x4a
,
0x58
,
0x67
,
0x59
,
0x63
,
0x3e
,
0x20
,
0x3c
,
0xb6
,
0x50
,
0x01
,
0x56
,
0xeb
,
0xe4
,
0x99
,
0xcc
,
0x62
,
0x9f
,
0x01
,
0x74
,
0x1f
,
0xf2
,
0x83
,
0x37
,
0xce
,
0xa2
,
0xef
,
0x16
,
0xac
,
0x6f
,
0x13
,
0xcf
,
0x72
,
0x3c
,
0x3b
,
0xd1
,
0x3f
,
0xfa
,
0x35
,
0x3f
,
0x80
,
0x9b
,
0xc7
,
0xb3
,
0x9c
,
0xc5
,
0xc6
,
0x7d
,
0xc8
,
0x7f
,
0xec
,
0x39
,
0x1e
,
0xe3
,
0xd8
,
0x75
,
0xfb
,
0xa3
,
0x72
,
0xa2
,
0x58
,
0x05
,
0x0a
,
0x43
,
0x62
,
0x23
,
0x27
,
0xcd
,
0xf9
,
0x68
,
0xc2
,
0xdd
,
0x84
,
0x5c
,
0xc0
,
0x59
,
0x6b
,
0x61
,
0xcf
,
0x26
,
0xec
,
0x4c
,
0x76
,
0xde
,
0x86
,
0xd5
,
0x01
,
0xa1
,
0x38
,
0xb7
,
0x8e
,
0xb7
,
0x4f
,
0xc3
,
0xdc
,
0x8a
,
0x6b
,
0x91
,
0xb1
,
0x80
,
0x79
,
0x8b
,
0xda
,
0x67
,
0x53
,
0xff
,
0x3e
,
0xe8
,
0x49
,
0x09
,
0xa5
,
0xfb
,
0x36
,
0xcc
,
0xb8
,
0xd4
,
0x0e
,
0x5f
,
0xb9
,
0xe8
,
0x03
,
0x03
,
0xf7
,
0x16
,
0xb5
,
0x0d
,
0x79
,
0x1f
,
0xbd
,
0x05
,
0x99
,
0xa4
,
0xa5
,
0xd1
,
0x65
,
0xf4
,
0x0e
,
0x64
,
0xcf
,
0xa3
,
0xbc
,
0xfa
,
0x67
,
0x0d
,
0x32
,
0x26
,
0x6d
,
0x97
,
0xd4
,
0x57
,
0x89
,
0x55
,
0x5d
,
0x7d
,
0x22
,
0x63
,
0x90
,
0xa7
,
0x06
,
0x61
,
0xb2
,
0x55
,
0x6d
,
0x6b
,
0x3f
,
0x78
,
0x72
,
0xe6
,
0x7e
,
0x16
,
0x2d
,
0x6c
,
0xe2
,
0x05
,
0x9f
,
0x27
,
0x96
,
0x6d
,
0x5a
,
0x56
,
0x9f
,
0x44
,
0xbe
,
0x27
,
0xfe
,
0x1f
,
0x56
,
0x7e
,
0x97
,
0x4a
,
0x1b
,
0x9f
,
0x7c
,
0xf2
,
0x45
,
0x6a
,
0xce
,
0x10
,
0x46
,
0xf7
,
0x2a
,
0x7f
,
0x0f
,
0xae
,
0x3e
,
0xdd
,
0xab
,
0xfc
,
0x2b
,
0xb5
,
0xa2
,
0xae
,
0x3e
,
0x7d
,
0xb4
,
0x5d
,
0x15
,
0xfa
,
0xc4
,
0x3e
,
0xfc
,
0x3a
,
0x35
,
0x2f
,
0xa8
,
0xef
,
0xbe
,
0xbb
,
0x57
,
0x69
,
0xce
,
0x4a
,
0x9d
,
0x9b
,
0xff
,
0x0f
,
0x00
,
0x00
,
0xff
,
0xff
,
0xcf
,
0x0b
,
0xcb
,
0xce
,
0x66
,
0x29
,
0x00
,
0x00
,
// 1795 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xe4
,
0x5a
,
0xdd
,
0x6f
,
0x1b
,
0x59
,
0x15
,
0xd7
,
0x38
,
0x69
,
0x3e
,
0x8e
,
0xdd
,
0x24
,
0x9d
,
0x24
,
0xb6
,
0x37
,
0xb0
,
0x4a
,
0x7b
,
0x17
,
0x4a
,
0xd8
,
0x2d
,
0x76
,
0xdd
,
0xa8
,
0x2b
,
0xb1
,
0xbb
,
0xa8
,
0xc4
,
0x66
,
0xb7
,
0x5b
,
0x29
,
0x8d
,
0xc2
,
0xa4
,
0x5b
,
0xad
,
0x60
,
0x91
,
0xb9
,
0x9e
,
0xb9
,
0x19
,
0x0f
,
0x1d
,
0xcf
,
0x75
,
0xe7
,
0x5e
,
0xa7
,
0x2e
,
0x4f
,
0x2d
,
0x48
,
0x08
,
0x89
,
0x07
,
0xb4
,
0xe2
,
0x19
,
0x21
,
0x21
,
0x84
,
0xd0
,
0x0a
,
0xde
,
0x90
,
0xf8
,
0x1b
,
0xe0
,
0x1d
,
0x09
,
0xf5
,
0xa1
,
0x0f
,
0xbc
,
0x51
,
0x5e
,
0xf9
,
0x03
,
0xd0
,
0xbd
,
0x73
,
0xef
,
0x7c
,
0xd8
,
0xce
,
0xc7
,
0x46
,
0xb2
,
0x5d
,
0xb5
,
0x2f
,
0xed
,
0xdc
,
0x33
,
0xe7
,
0xfc
,
0xce
,
0xef
,
0x7c
,
0xe4
,
0xce
,
0xb9
,
0xe3
,
0x81
,
0x37
,
0x43
,
0x2f
,
0x70
,
0xab
,
0x47
,
0xb5
,
0x2a
,
0xb6
,
0x6d
,
0xda
,
0x0b
,
0x78
,
0x33
,
0x24
,
0x0f
,
0x9b
,
0x21
,
0x61
,
0x95
,
0x6e
,
0x48
,
0x39
,
0x35
,
0xe7
,
0xc5
,
0xed
,
0xca
,
0x51
,
0x6d
,
0xe3
,
0xb2
,
0x4b
,
0xa9
,
0xeb
,
0x93
,
0xaa
,
0x14
,
0xb7
,
0x7a
,
0x87
,
0xd5
,
0x43
,
0x8f
,
0xf8
,
0x4e
,
0xb3
,
0x83
,
0xd9
,
0x83
,
0x48
,
0x75
,
0xa3
,
0x1c
,
0x90
,
0x56
,
0xcf
,
0xc7
,
0x02
,
0x2b
,
0x24
,
0x8c
,
0xf6
,
0x42
,
0x9b
,
0xa8
,
0x3b
,
0x9b
,
0x83
,
0xb6
,
0xdc
,
0xeb
,
0x10
,
0xc6
,
0x71
,
0xa7
,
0xab
,
0x14
,
0x8a
,
0x2d
,
0xcc
,
0xc8
,
0x08
,
0x43
,
0x53
,
0xcb
,
0x3b
,
0x84
,
0x63
,
0x25
,
0x5b
,
0x96
,
0x32
,
0x97
,
0xba
,
0x34
,
0x12
,
0xa0
,
0x35
,
0x30
,
0xf7
,
0xa8
,
0x43
,
0xee
,
0x93
,
0x90
,
0x79
,
0x34
,
0xb0
,
0xc8
,
0xc3
,
0x1e
,
0x61
,
0x1c
,
0x55
,
0x61
,
0x35
,
0x23
,
0x65
,
0x5d
,
0x1a
,
0x30
,
0x62
,
0x96
,
0x61
,
0xfe
,
0x28
,
0x12
,
0x95
,
0x8d
,
0xcb
,
0xc6
,
0xd6
,
0xa2
,
0xa5
,
0x97
,
0xe8
,
0x0a
,
0xe4
,
0x0f
,
0xda
,
0x78
,
0x5b
,
0xd9
,
0x9b
,
0x26
,
0xcc
,
0x3a
,
0x98
,
0x63
,
0xa9
,
0x55
,
0xb0
,
0xe4
,
0x35
,
0xea
,
0x42
,
0x21
,
0x52
,
0x51
,
0x60
,
0x3f
,
0x86
,
0xd9
,
0x36
,
0x66
,
0x6d
,
0xa9
,
0x93
,
0xbf
,
0x71
,
0xb1
,
0x22
,
0x98
,
0x55
,
0x8e
,
0x6a
,
0x95
,
0x8f
,
0x31
,
0x6b
,
0xd7
,
0xbf
,
0xf3
,
0xec
,
0xf9
,
0xe6
,
0xb7
,
0x5d
,
0x8f
,
0xb7
,
0x7b
,
0xad
,
0x8a
,
0x4d
,
0x3b
,
0xd5
,
0x06
,
0x76
,
0x7a
,
0x36
,
0xe9
,
0xb1
,
0xbb
,
0x84
,
0x63
,
0xe1
,
0x93
,
0xec
,
0x0b
,
0xf6
,
0x36
,
0xf5
,
0xab
,
0x42
,
0x72
,
0xef
,
0x71
,
0x97
,
0xb0
,
0x2a
,
0x17
,
0xff
,
0x4a
,
0x73
,
0x4b
,
0x22
,
0xa3
,
0x55
,
0xb8
,
0xb4
,
0x47
,
0xf8
,
0x40
,
0x68
,
0x15
,
0x30
,
0xd3
,
0xc2
,
0x53
,
0x23
,
0x5b
,
0x87
,
0xd5
,
0x3d
,
0xc2
,
0xf7
,
0x09
,
0x09
,
0x1b
,
0xa2
,
0xc2
,
0x1a
,
0xe6
,
0x26
,
0xac
,
0x65
,
0xc5
,
0x0a
,
0xe8
,
0x4d
,
0x80
,
0x2e
,
0x21
,
0x61
,
0x53
,
0xb6
,
0x83
,
0xc4
,
0xba
,
0x68
,
0x2d
,
0x76
,
0xb5
,
0x1a
,
0x2a
,
0x43
,
0x51
,
0x33
,
0x1f
,
0xe0
,
0xb5
,
0x0d
,
0xa5
,
0xa1
,
0x3b
,
0xa7
,
0x92
,
0x5b
,
0x81
,
0xa5
,
0x83
,
0xc7
,
0x81
,
0xed
,
0x05
,
0xae
,
0x86
,
0xf9
,
0x7b
,
0x0e
,
0x96
,
0x63
,
0x91
,
0xb2
,
0x3f
,
0x84
,
0x0b
,
0x8c
,
0xe3
,
0x90
,
0xab
,
0x54
,
0x2f
,
0xc7
,
0xa9
,
0xae
,
0x7b
,
0xee
,
0x9d
,
0x80
,
0xd7
,
0x6f
,
0x3d
,
0x7b
,
0xbe
,
0xf9
,
0xfe
,
0xb9
,
0x92
,
0x1d
,
0x01
,
0x58
,
0x11
,
0xbc
,
0xd9
,
0x82
,
0x19
,
0x12
,
0x38
,
0xe5
,
0xdc
,
0x98
,
0xbc
,
0x08
,
0x70
,
0xf3
,
0x27
,
0x30
,
0x6f
,
0xf7
,
0xc2
,
0x90
,
0x04
,
0xbc
,
0x3c
,
0x33
,
0x26
,
0x3f
,
0xda
,
0x01
,
0xba
,
0x04
,
0xcb
,
0x0d
,
0xea
,
0x05
,
0x02
,
0x5f
,
0xa7
,
0xf7
,
0x89
,
0x01
,
0x2b
,
0x89
,
0x4c
,
0xe5
,
0xd7
,
0x87
,
0x79
,
0xec
,
0x38
,
0x21
,
0x61
,
0x4c
,
0x65
,
0x78
,
0x25
,
0xe6
,
0xb4
,
0x13
,
0xc9
,
0xeb
,
0xdf
,
0x7d
,
0xf6
,
0x7c
,
0xf3
,
0x83
,
0x73
,
0x91
,
0x52
,
0x08
,
0x96
,
0x76
,
0x81
,
0x96
,
0xe1
,
0xe2
,
0x5d
,
0x2f
,
0x48
,
0x95
,
0x7c
,
0x0b
,
0x96
,
0xb4
,
0x40
,
0x11
,
0x2a
,
0xc2
,
0x1c
,
0xe3
,
0x98
,
0xf7
,
0x98
,
0xea
,
0x17
,
0xb5
,
0x12
,
0x01
,
0xc9
,
0x3f
,
0x0f
,
0xcc
,
0xe3
,
0x80
,
0xde
,
0x86
,
0x95
,
0x44
,
0x94
,
0x98
,
0x87
,
0x84
,
0xf5
,
0x7c
,
0xae
,
0xcd
,
0xa3
,
0x95
,
0x30
,
0xbf
,
0x8d
,
0xd9
,
0x7e
,
0xe8
,
0xd9
,
0xb1
,
0xf9
,
0x53
,
0x03
,
0x56
,
0x12
,
0x99
,
0xb2
,
0xef
,
0xc0
,
0xa2
,
0x8b
,
0x59
,
0xb3
,
0x2b
,
0x84
,
0x63
,
0xeb
,
0xb9
,
0x05
,
0x57
,
0xb9
,
0x15
,
0xb4
,
0x76
,
0xa2
,
0xed
,
0x97
,
0xa5
,
0xcb
,
0x94
,
0xc8
,
0x46
,
0x95
,
0x69
,
0x66
,
0x02
,
0x65
,
0xfa
,
0x98
,
0x78
,
0x6e
,
0x3b
,
0xde
,
0x31
,
0x7e
,
0x0a
,
0x4b
,
0x5a
,
0xa0
,
0x08
,
0xb5
,
0x61
,
0xae
,
0x2d
,
0x25
,
0x63
,
0x4b
,
0x92
,
0xc2
,
0x47
,
0xff
,
0x35
,
0x60
,
0xa9
,
0x8e
,
0x7d
,
0x1c
,
0xc4
,
0x95
,
0x9b
,
0x6c
,
0xd3
,
0x9a
,
0x0f
,
0x60
,
0xa1
,
0xe5
,
0x53
,
0xfb
,
0x41
,
0xd3
,
0x1b
,
0xdf
,
0xfe
,
0x30
,
0x2f
,
0x3d
,
0xdc
,
0x71
,
0xd0
,
0xbf
,
0x72
,
0xb0
,
0x1c
,
0x47
,
0x3b
,
0x8d
,
0xbf
,
0xd1
,
0x89
,
0x86
,
0x2b
,
0xb6
,
0xc4
,
0x56
,
0x14
,
0xed
,
0xf8
,
0xb6
,
0x44
,
0xe5
,
0x00
,
0xfd
,
0x33
,
0x07
,
0x4b
,
0x07
,
0x9c
,
0x86
,
0xd8
,
0x7d
,
0x0d
,
0x1a
,
0xc9
,
0x6c
,
0xc3
,
0x42
,
0x97
,
0x32
,
0x8f
,
0x8b
,
0x27
,
0xef
,
0xcc
,
0x18
,
0xc6
,
0x94
,
0x18
,
0x1d
,
0xbd
,
0x10
,
0x8f
,
0x6d
,
0x9d
,
0xd7
,
0x57
,
0xbf
,
0x65
,
0x27
,
0x96
,
0xd8
,
0x78
,
0x12
,
0x9d
,
0x4d
,
0x4d
,
0xa2
,
0xff
,
0x31
,
0xa0
,
0xb0
,
0x47
,
0x5f
,
0x8f
,
0xbd
,
0xf0
,
0x49
,
0x0e
,
0x2e
,
0xaa
,
0x58
,
0x5f
,
0xfd
,
0xb6
,
0x5a
,
0x83
,
0x0b
,
0x01
,
0xd5
,
0xfb
,
0xe0
,
0xac
,
0x15
,
0x2d
,
0xd0
,
0x0e
,
0xac
,
0x59
,
0xa4
,
0x4b
,
0x30
,
0x27
,
0x4e
,
0xa6
,
0xea
,
0xdf
,
0x84
,
0x59
,
0xdf
,
0x63
,
0x5c
,
0x0d
,
0x03
,
0xeb
,
0x15
,
0x75
,
0x58
,
0xab
,
0xa4
,
0x95
,
0x2c
,
0xa9
,
0x82
,
0x1a
,
0xb0
,
0x3e
,
0x00
,
0xa1
,
0x92
,
0xf9
,
0x76
,
0x06
,
0xa3
,
0x38
,
0x88
,
0x11
,
0x69
,
0x29
,
0x90
,
0xff
,
0x19
,
0x50
,
0xba
,
0x17
,
0xe2
,
0x80
,
0x61
,
0x5b
,
0xb4
,
0x66
,
0xfa
,
0x38
,
0xf1
,
0x2a
,
0x77
,
0xe0
,
0xaf
,
0x72
,
0x50
,
0x1e
,
0x0e
,
0xfb
,
0xb5
,
0x68
,
0xc6
,
0xe8
,
0x10
,
0xa8
,
0x9a
,
0x51
,
0x2e
,
0xd0
,
0xe7
,
0x06
,
0xa0
,
0xba
,
0xd0
,
0x18
,
0x4c
,
0x49
,
0xfd
,
0xb1
,
0xdc
,
0xb9
,
0x54
,
0x3f
,
0x3c
,
0x00
,
0x88
,
0x98
,
0x8e
,
0xed
,
0x88
,
0xbc
,
0x28
,
0xf1
,
0xc5
,
0x25
,
0xfa
,
0x93
,
0x01
,
0x6f
,
0x9d
,
0xc8
,
0x49
,
0x15
,
0x6b
,
0x92
,
0xa4
,
0x92
,
0xf4
,
0xe5
,
0xe4
,
0x19
,
0x5a
,
0xa5
,
0xef
,
0x37
,
0x06
,
0x7c
,
0xed
,
0x18
,
0xaa
,
0x7b
,
0xbd
,
0x4e
,
0x8b
,
0x84
,
0x49
,
0x02
,
0x93
,
0x52
,
0x1b
,
0xe3
,
0x6e
,
0xf1
,
0x2f
,
0x0c
,
0xf8
,
0xfa
,
0x29
,
0xac
,
0xe2
,
0x14
,
0x4e
,
0x8e
,
0xd6
,
0x31
,
0x29
,
0xfc
,
0x85
,
0x01
,
0xa5
,
0x4f
,
0x02
,
0xdb
,
0x27
,
0xd3
,
0x6e
,
0xbb
,
0xdf
,
0x1a
,
0x50
,
0x1e
,
0x26
,
0xf2
,
0xf2
,
0xf4
,
0xda
,
0x2f
,
0x0d
,
0x78
,
0x23
,
0xcd
,
0x6f
,
0x8a
,
0x0d
,
0xf6
,
0x3b
,
0x03
,
0x36
,
0x46
,
0x51
,
0x79
,
0x79
,
0xba
,
0x4a
,
0x9c
,
0x30
,
0x6f
,
0x13
,
0xde
,
0xa0
,
0xce
,
0x6b
,
0x32
,
0x55
,
0x2d
,
0xc7
,
0xd1
,
0xbe
,
0xfa
,
0x8f
,
0x32
,
0x13
,
0x66
,
0x6d
,
0xea
,
0x44
,
0x63
,
0x55
,
0xc1
,
0x92
,
0xd7
,
0xe8
,
0xd7
,
0x06
,
0xe4
,
0x0f
,
0x3c
,
0x37
,
0x98
,
0x4e
,
0xb5
,
0xf5
,
0x58
,
0x9f
,
0x4b
,
0x8d
,
0xf5
,
0xd7
,
0xa0
,
0x10
,
0x11
,
0x52
,
0x05
,
0xf9
,
0x2a
,
0x2c
,
0x32
,
0xcf
,
0x0d
,
0x30
,
0xef
,
0x85
,
0x44
,
0xbd
,
0x89
,
0x4e
,
0x04
,
0xe8
,
0x6f
,
0x06
,
0x14
,
0x85
,
0x7a
,
0x6a
,
0xcb
,
0x9e
,
0x4e
,
0x28
,
0x25
,
0x98
,
0xe7
,
0xfd
,
0x66
,
0x2a
,
0x9a
,
0x39
,
0xde
,
0xff
,
0x1e
,
0xe6
,
0xd8
,
0x2c
,
0xc2
,
0x5c
,
0x87
,
0xf0
,
0x36
,
0x75
,
0x54
,
0xde
,
0xd5
,
0x0a
,
0xbd
,
0x0b
,
0xa5
,
0x21
,
0xe2
,
0x2a
,
0xe4
,
0xaf
,
0x44
,
0x21
,
0x13
,
0xa7
,
0xc9
,
0xfb
,
0x2a
,
0xe4
,
0x85
,
0x48
,
0x70
,
0xaf
,
0x8f
,
0xfe
,
0x2a
,
0x22
,
0x26
,
0x81
,
0x33
,
0xf5
,
0x88
,
0xaf
,
0x65
,
0x23
,
0xce
,
0xdf
,
0x58
,
0x8d
,
0xbd
,
0x49
,
0xdb
,
0x7e
,
0x1d
,
0x33
,
0xa2
,
0xd3
,
0x80
,
0x9e
,
0x18
,
0x50
,
0x1a
,
0xa2
,
0xad
,
0xe2
,
0x25
,
0x12
,
0x69
,
0x6c
,
0x8f
,
0x88
,
0x39
,
0xde
,
0x97
,
0x4f
,
0xaa
,
0x3d
,
0x78
,
0x43
,
0x30
,
0xb0
,
0xf0
,
0xa3
,
0x11
,
0xb9
,
0xab
,
0x0d
,
0xe6
,
0x3c
,
0x7f
,
0x63
,
0x2d
,
0x13
,
0xcf
,
0x7e
,
0x48
,
0xe9
,
0xe1
,
0xbd
,
0x7e
,
0xaa
,
0x12
,
0x3f
,
0x37
,
0x60
,
0x63
,
0x14
,
0xe0
,
0x64
,
0xa3
,
0xba
,
0x05
,
0xf9
,
0x06
,
0xf6
,
0x7d
,
0x1d
,
0xc7
,
0xf5
,
0xe1
,
0x38
,
0x46
,
0xd6
,
0x25
,
0x09
,
0xe3
,
0x2a
,
0x14
,
0x22
,
0x80
,
0x91
,
0xef
,
0x8d
,
0x0b
,
0xf1
,
0x7b
,
0xe3
,
0x8f
,
0xc0
,
0xfc
,
0x90
,
0x71
,
0xaf
,
0x83
,
0x39
,
0xb9
,
0x8d
,
0xd9
,
0xf9
,
0xfd
,
0x7d
,
0x6e
,
0xc0
,
0x6a
,
0x06
,
0xe8
,
0x64
,
0xbf
,
0x66
,
0x0b
,
0x66
,
0x5c
,
0xcc
,
0xc6
,
0xf7
,
0x7b
,
0x84
,
0x8b
,
0x19
,
0x7a
,
0x6a
,
0x80
,
0x29
,
0x47
,
0xbf
,
0x29
,
0x0e
,
0x52
,
0xb7
,
0x60
,
0x35
,
0x43
,
0x41
,
0xa5
,
0x65
,
0x0b
,
0x2e
,
0x48
,
0x1d
,
0xe5
,
0xde
,
0xcc
,
0x24
,
0x57
,
0x1a
,
0x58
,
0x91
,
0x82
,
0xe8
,
0xc7
,
0x35
,
0x85
,
0x30
,
0xc5
,
0x21
,
0x67
,
0x07
,
0xd6
,
0x07
,
0x48
,
0x7c
,
0xe9
,
0x40
,
0x9e
,
0x1a
,
0x99
,
0xb3
,
0x66
,
0xb6
,
0x26
,
0x93
,
0xdb
,
0x2c
,
0x46
,
0x50
,
0x50
,
0xa1
,
0xd4
,
0x92
,
0xad
,
0x2f
,
0xe2
,
0x50
,
0xce
,
0xb6
,
0x7c
,
0x6a
,
0x37
,
0xd0
,
0xfb
,
0x9f
,
0x38
,
0x5c
,
0x64
,
0x00
,
0xeb
,
0xba
,
0xf0
,
0x3b
,
0x81
,
0x73
,
0x27
,
0x70
,
0x48
,
0x7f
,
0x1a
,
0x4d
,
0x27
,
0xc6
,
0x40
,
0x4f
,
0x38
,
0xd7
,
0x63
,
0xa0
,
0x5c
,
0xa0
,
0x1f
,
0xc2
,
0xd5
,
0xd3
,
0xb8
,
0x9e
,
0x3f
,
0x13
,
0x7f
,
0x36
,
0xe0
,
0x1b
,
0xc3
,
0xe8
,
0x51
,
0xb3
,
0x0c
,
0xe7
,
0x62
,
0xb2
,
0x23
,
0xf1
,
0x88
,
0x5c
,
0xfc
,
0x08
,
0xb6
,
0x4e
,
0x67
,
0x7b
,
0xfe
,
0x6c
,
0xfc
,
0xcc
,
0xc8
,
0x34
,
0x9a
,
0x45
,
0x6c
,
0xe2
,
0x75
,
0xf9
,
0x84
,
0x9b
,
0xfd
,
0xfb
,
0xb0
,
0x31
,
0x8a
,
0x83
,
0x8a
,
0x6a
,
0x1b
,
0x80
,
0xf7
,
0x9b
,
0x61
,
0x24
,
0x1d
,
0xf9
,
0x6c
,
0xd4
,
0x16
,
0x8b
,
0xbc
,
0xaf
,
0x2e
,
0xd1
,
0x1f
,
0x0c
,
0xd8
,
0x94
,
0x67
,
0x9d
,
0x97
,
0xbb
,
0xd3
,
0x1b
,
0x70
,
0xf9
,
0x78
,
0x96
,
0x2a
,
0xfe
,
0x4d
,
0xc8
,
0xf7
,
0x84
,
0x4e
,
0x33
,
0xd9
,
0xbe
,
0x0a
,
0x16
,
0x48
,
0x91
,
0x34
,
0x42
,
0x7f
,
0x34
,
0xe0
,
0x4a
,
0x1a
,
0xe5
,
0xa5
,
0xed
,
0xe5
,
0x0f
,
0x01
,
0x9d
,
0xc4
,
0xf3
,
0xac
,
0xf1
,
0x9a
,
0xb0
,
0xd2
,
0xa0
,
0x9d
,
0xae
,
0xe7
,
0x93
,
0x30
,
0xfe
,
0xad
,
0xb6
,
0x06
,
0x97
,
0x52
,
0xb2
,
0x64
,
0x76
,
0xb7
,
0xb5
,
0x50
,
0xcf
,
0xee
,
0xb1
,
0x00
,
0x5d
,
0x87
,
0xa2
,
0x32
,
0x39
,
0xa0
,
0xbe
,
0xe7
,
0x78
,
0xfc
,
0xb1
,
0x4e
,
0x55
,
0x11
,
0xe6
,
0xa2
,
0x6f
,
0x60
,
0xf4
,
0x28
,
0x10
,
0xad
,
0xd0
,
0xb7
,
0xa0
,
0x34
,
0x64
,
0xa1
,
0x5c
,
0xe9
,
0xc3
,
0x8d
,
0x91
,
0x3a
,
0xdc
,
0xbc
,
0x13
,
0x73
,
0xda
,
0xdd
,
0xdd
,
0x3d
,
0x0d
,
0x7b
,
0x0b
,
0xcc
,
0xb4
,
0xf2
,
0x09
,
0xb0
,
0x55
,
0x58
,
0xd7
,
0x2c
,
0x48
,
0xd8
,
0x25
,
0xc9
,
0xeb
,
0xdf
,
0xe3
,
0xa0
,
0xaf
,
0x25
,
0x81
,
0x6a
,
0x83
,
0x13
,
0xe0
,
0xb7
,
0x60
,
0x65
,
0x8f
,
0x3c
,
0xfa
,
0xc8
,
0xf3
,
0x79
,
0xf2
,
0x04
,
0x5f
,
0x83
,
0x0b
,
0x5d
,
0x1c
,
0xe2
,
0x8e
,
0x52
,
0x8c
,
0x16
,
0xe8
,
0x3a
,
0x5c
,
0x4a
,
0x69
,
0x26
,
0x87
,
0x87
,
0x43
,
0x29
,
0xd1
,
0x7d
,
0x56
,
0xb0
,
0x16
,
0x22
,
0xc1
,
0x1d
,
0x07
,
0x95
,
0x60
,
0x7d
,
0x8f
,
0x3c
,
0x92
,
0x55
,
0xcc
,
0x38
,
0x40
,
0x37
,
0xa1
,
0x38
,
0x78
,
0xe3
,
0x2c
,
0x78
,
0x57
,
0x60
,
0x73
,
0x9f
,
0x04
,
0x8e
,
0x17
,
0xb8
,
0xa9
,
0xfd
,
0x23
,
0x8b
,
0x7c
,
0x0b
,
0x2e
,
0x1f
,
0xaf
,
0x72
,
0x16
,
0x1f
,
0x37
,
0xa1
,
0xf8
,
0x49
,
0xe0
,
0x05
,
0x8c
,
0x63
,
0xdf
,
0xcf
,
0x66
,
0xe5
,
0x44
,
0xb3
,
0x1a
,
0x94
,
0x86
,
0xcc
,
0x46
,
0x4e
,
0x9a
,
0x0b
,
0xf1
,
0x84
,
0xbb
,
0x0d
,
0x6b
,
0x91
,
0x66
,
0xa3
,
0x8d
,
0x03
,
0x97
,
0xb0
,
0x33
,
0xf9
,
0x79
,
0x07
,
0xd6
,
0x07
,
0x8c
,
0x92
,
0xda
,
0x7a
,
0xc1
,
0x21
,
0xd5
,
0xb5
,
0x15
,
0xd7
,
0xa2
,
0x62
,
0x91
,
0xf2
,
0x2e
,
0x75
,
0xcf
,
0x06
,
0xff
,
0x01
,
0x98
,
0x69
,
0x0b
,
0x85
,
0x7d
,
0x15
,
0x66
,
0x7d
,
0xea
,
0xea
,
0x2f
,
0x20
,
0xcc
,
0x81
,
0x81
,
0x7b
,
0x97
,
0xba
,
0x96
,
0xbc
,
0x8f
,
0xde
,
0x82
,
0x7c
,
0xda
,
0xd3
,
0xe8
,
0x36
,
0x7a
,
0x17
,
0x0a
,
0xe7
,
0x01
,
0xaf
,
0xff
,
0xc5
,
0x80
,
0xbc
,
0x4d
,
0x3b
,
0xfa
,
0xd7
,
0x92
,
0xba
,
0xa9
,
0xbe
,
0xd5
,
0xb0
,
0xc8
,
0x43
,
0x8b
,
0x30
,
0xb9
,
0x55
,
0xed
,
0x1b
,
0x3f
,
0xb8
,
0x7b
,
0xe6
,
0xfd
,
0x2c
,
0x5e
,
0xb8
,
0x24
,
0x88
,
0xbe
,
0x93
,
0xab
,
0xba
,
0xb4
,
0xaa
,
0xbe
,
0xcd
,
0x7b
,
0x5f
,
0xfc
,
0x7f
,
0x54
,
0xfb
,
0x7d
,
0x6e
,
0xc6
,
0xfa
,
0xf4
,
0xd3
,
0x2f
,
0x72
,
0xf3
,
0x96
,
0x70
,
0x7a
,
0xbf
,
0xf6
,
0x8f
,
0xe8
,
0xea
,
0xb3
,
0xfb
,
0xb5
,
0x7f
,
0xe7
,
0x56
,
0xd5
,
0xd5
,
0x67
,
0xb7
,
0xf7
,
0xeb
,
0x02
,
0x4f
,
0x3c
,
0x87
,
0x5f
,
0xe4
,
0x16
,
0x84
,
0xf4
,
0xbd
,
0xf7
,
0xee
,
0xd7
,
0x5a
,
0x73
,
0x12
,
0x73
,
0xfb
,
0xff
,
0x01
,
0x00
,
0x00
,
0xff
,
0xff
,
0xf5
,
0xd3
,
0x4b
,
0xb2
,
0xef
,
0x27
,
0x00
,
0x00
,
}
MetaProtocol-main/gen/proto/go/ring/v1/service.pb.go
View file @
d4249455
...
...
@@ -22,6 +22,82 @@ var _ = math.Inf
// proto package needs to be updated.
const
_
=
proto
.
GoGoProtoPackageIsVersion3
// please upgrade the proto package
type
RequestBroadcastTx
struct
{
Tx
[]
byte
`protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
m
*
RequestBroadcastTx
)
Reset
()
{
*
m
=
RequestBroadcastTx
{}
}
func
(
m
*
RequestBroadcastTx
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
RequestBroadcastTx
)
ProtoMessage
()
{}
func
(
*
RequestBroadcastTx
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_2dc67120507b0009
,
[]
int
{
0
}
}
func
(
m
*
RequestBroadcastTx
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_RequestBroadcastTx
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
RequestBroadcastTx
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_RequestBroadcastTx
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
RequestBroadcastTx
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_RequestBroadcastTx
.
Merge
(
m
,
src
)
}
func
(
m
*
RequestBroadcastTx
)
XXX_Size
()
int
{
return
xxx_messageInfo_RequestBroadcastTx
.
Size
(
m
)
}
func
(
m
*
RequestBroadcastTx
)
XXX_DiscardUnknown
()
{
xxx_messageInfo_RequestBroadcastTx
.
DiscardUnknown
(
m
)
}
var
xxx_messageInfo_RequestBroadcastTx
proto
.
InternalMessageInfo
func
(
m
*
RequestBroadcastTx
)
GetTx
()
[]
byte
{
if
m
!=
nil
{
return
m
.
Tx
}
return
nil
}
type
ResponseBroadcastTx
struct
{
Hash
[]
byte
`protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
m
*
ResponseBroadcastTx
)
Reset
()
{
*
m
=
ResponseBroadcastTx
{}
}
func
(
m
*
ResponseBroadcastTx
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ResponseBroadcastTx
)
ProtoMessage
()
{}
func
(
*
ResponseBroadcastTx
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_2dc67120507b0009
,
[]
int
{
1
}
}
func
(
m
*
ResponseBroadcastTx
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ResponseBroadcastTx
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ResponseBroadcastTx
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ResponseBroadcastTx
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ResponseBroadcastTx
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ResponseBroadcastTx
.
Merge
(
m
,
src
)
}
func
(
m
*
ResponseBroadcastTx
)
XXX_Size
()
int
{
return
xxx_messageInfo_ResponseBroadcastTx
.
Size
(
m
)
}
func
(
m
*
ResponseBroadcastTx
)
XXX_DiscardUnknown
()
{
xxx_messageInfo_ResponseBroadcastTx
.
DiscardUnknown
(
m
)
}
var
xxx_messageInfo_ResponseBroadcastTx
proto
.
InternalMessageInfo
func
(
m
*
ResponseBroadcastTx
)
GetHash
()
[]
byte
{
if
m
!=
nil
{
return
m
.
Hash
}
return
nil
}
type
BroadcastEthTxWithFromRequest
struct
{
EthTx
*
v1
.
EthTransaction
`protobuf:"bytes,1,opt,name=ethTx,proto3" json:"ethTx,omitempty"`
From
string
`protobuf:"bytes,2,opt,name=from,proto3" json:"from,omitempty"`
...
...
@@ -34,7 +110,7 @@ func (m *BroadcastEthTxWithFromRequest) Reset() { *m = BroadcastEthTxWit
func
(
m
*
BroadcastEthTxWithFromRequest
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
BroadcastEthTxWithFromRequest
)
ProtoMessage
()
{}
func
(
*
BroadcastEthTxWithFromRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_2dc67120507b0009
,
[]
int
{
0
}
return
fileDescriptor_2dc67120507b0009
,
[]
int
{
2
}
}
func
(
m
*
BroadcastEthTxWithFromRequest
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_BroadcastEthTxWithFromRequest
.
Unmarshal
(
m
,
b
)
...
...
@@ -68,6 +144,166 @@ func (m *BroadcastEthTxWithFromRequest) GetFrom() string {
return
""
}
type
BroadcastLegacyEthTxWithFromRequest
struct
{
LegacyTx
*
v1
.
EthLegacyTx
`protobuf:"bytes,1,opt,name=LegacyTx,proto3" json:"LegacyTx,omitempty"`
From
string
`protobuf:"bytes,2,opt,name=from,proto3" json:"from,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
m
*
BroadcastLegacyEthTxWithFromRequest
)
Reset
()
{
*
m
=
BroadcastLegacyEthTxWithFromRequest
{}
}
func
(
m
*
BroadcastLegacyEthTxWithFromRequest
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
BroadcastLegacyEthTxWithFromRequest
)
ProtoMessage
()
{}
func
(
*
BroadcastLegacyEthTxWithFromRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_2dc67120507b0009
,
[]
int
{
3
}
}
func
(
m
*
BroadcastLegacyEthTxWithFromRequest
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_BroadcastLegacyEthTxWithFromRequest
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
BroadcastLegacyEthTxWithFromRequest
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_BroadcastLegacyEthTxWithFromRequest
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
BroadcastLegacyEthTxWithFromRequest
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_BroadcastLegacyEthTxWithFromRequest
.
Merge
(
m
,
src
)
}
func
(
m
*
BroadcastLegacyEthTxWithFromRequest
)
XXX_Size
()
int
{
return
xxx_messageInfo_BroadcastLegacyEthTxWithFromRequest
.
Size
(
m
)
}
func
(
m
*
BroadcastLegacyEthTxWithFromRequest
)
XXX_DiscardUnknown
()
{
xxx_messageInfo_BroadcastLegacyEthTxWithFromRequest
.
DiscardUnknown
(
m
)
}
var
xxx_messageInfo_BroadcastLegacyEthTxWithFromRequest
proto
.
InternalMessageInfo
func
(
m
*
BroadcastLegacyEthTxWithFromRequest
)
GetLegacyTx
()
*
v1
.
EthLegacyTx
{
if
m
!=
nil
{
return
m
.
LegacyTx
}
return
nil
}
func
(
m
*
BroadcastLegacyEthTxWithFromRequest
)
GetFrom
()
string
{
if
m
!=
nil
{
return
m
.
From
}
return
""
}
type
ResponseLegacyEthTxBroadcastTx
struct
{
Hash
[]
byte
`protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
m
*
ResponseLegacyEthTxBroadcastTx
)
Reset
()
{
*
m
=
ResponseLegacyEthTxBroadcastTx
{}
}
func
(
m
*
ResponseLegacyEthTxBroadcastTx
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ResponseLegacyEthTxBroadcastTx
)
ProtoMessage
()
{}
func
(
*
ResponseLegacyEthTxBroadcastTx
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_2dc67120507b0009
,
[]
int
{
4
}
}
func
(
m
*
ResponseLegacyEthTxBroadcastTx
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ResponseLegacyEthTxBroadcastTx
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ResponseLegacyEthTxBroadcastTx
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ResponseLegacyEthTxBroadcastTx
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ResponseLegacyEthTxBroadcastTx
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ResponseLegacyEthTxBroadcastTx
.
Merge
(
m
,
src
)
}
func
(
m
*
ResponseLegacyEthTxBroadcastTx
)
XXX_Size
()
int
{
return
xxx_messageInfo_ResponseLegacyEthTxBroadcastTx
.
Size
(
m
)
}
func
(
m
*
ResponseLegacyEthTxBroadcastTx
)
XXX_DiscardUnknown
()
{
xxx_messageInfo_ResponseLegacyEthTxBroadcastTx
.
DiscardUnknown
(
m
)
}
var
xxx_messageInfo_ResponseLegacyEthTxBroadcastTx
proto
.
InternalMessageInfo
func
(
m
*
ResponseLegacyEthTxBroadcastTx
)
GetHash
()
[]
byte
{
if
m
!=
nil
{
return
m
.
Hash
}
return
nil
}
type
BroadcastLegacyEthTxsWithFromRequest
struct
{
List
[]
*
BroadcastLegacyEthTxWithFromRequest
`protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
m
*
BroadcastLegacyEthTxsWithFromRequest
)
Reset
()
{
*
m
=
BroadcastLegacyEthTxsWithFromRequest
{}
}
func
(
m
*
BroadcastLegacyEthTxsWithFromRequest
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
BroadcastLegacyEthTxsWithFromRequest
)
ProtoMessage
()
{}
func
(
*
BroadcastLegacyEthTxsWithFromRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_2dc67120507b0009
,
[]
int
{
5
}
}
func
(
m
*
BroadcastLegacyEthTxsWithFromRequest
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_BroadcastLegacyEthTxsWithFromRequest
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
BroadcastLegacyEthTxsWithFromRequest
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_BroadcastLegacyEthTxsWithFromRequest
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
BroadcastLegacyEthTxsWithFromRequest
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_BroadcastLegacyEthTxsWithFromRequest
.
Merge
(
m
,
src
)
}
func
(
m
*
BroadcastLegacyEthTxsWithFromRequest
)
XXX_Size
()
int
{
return
xxx_messageInfo_BroadcastLegacyEthTxsWithFromRequest
.
Size
(
m
)
}
func
(
m
*
BroadcastLegacyEthTxsWithFromRequest
)
XXX_DiscardUnknown
()
{
xxx_messageInfo_BroadcastLegacyEthTxsWithFromRequest
.
DiscardUnknown
(
m
)
}
var
xxx_messageInfo_BroadcastLegacyEthTxsWithFromRequest
proto
.
InternalMessageInfo
func
(
m
*
BroadcastLegacyEthTxsWithFromRequest
)
GetList
()
[]
*
BroadcastLegacyEthTxWithFromRequest
{
if
m
!=
nil
{
return
m
.
List
}
return
nil
}
type
ResponseLegacyEthTxsBroadcastTx
struct
{
List
[]
*
ResponseLegacyEthTxBroadcastTx
`protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
m
*
ResponseLegacyEthTxsBroadcastTx
)
Reset
()
{
*
m
=
ResponseLegacyEthTxsBroadcastTx
{}
}
func
(
m
*
ResponseLegacyEthTxsBroadcastTx
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ResponseLegacyEthTxsBroadcastTx
)
ProtoMessage
()
{}
func
(
*
ResponseLegacyEthTxsBroadcastTx
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_2dc67120507b0009
,
[]
int
{
6
}
}
func
(
m
*
ResponseLegacyEthTxsBroadcastTx
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ResponseLegacyEthTxsBroadcastTx
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ResponseLegacyEthTxsBroadcastTx
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ResponseLegacyEthTxsBroadcastTx
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ResponseLegacyEthTxsBroadcastTx
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ResponseLegacyEthTxsBroadcastTx
.
Merge
(
m
,
src
)
}
func
(
m
*
ResponseLegacyEthTxsBroadcastTx
)
XXX_Size
()
int
{
return
xxx_messageInfo_ResponseLegacyEthTxsBroadcastTx
.
Size
(
m
)
}
func
(
m
*
ResponseLegacyEthTxsBroadcastTx
)
XXX_DiscardUnknown
()
{
xxx_messageInfo_ResponseLegacyEthTxsBroadcastTx
.
DiscardUnknown
(
m
)
}
var
xxx_messageInfo_ResponseLegacyEthTxsBroadcastTx
proto
.
InternalMessageInfo
func
(
m
*
ResponseLegacyEthTxsBroadcastTx
)
GetList
()
[]
*
ResponseLegacyEthTxBroadcastTx
{
if
m
!=
nil
{
return
m
.
List
}
return
nil
}
type
BroadcastEthTxWithFromRequests
struct
{
List
[]
*
BroadcastEthTxWithFromRequest
`protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
...
...
@@ -79,7 +315,7 @@ func (m *BroadcastEthTxWithFromRequests) Reset() { *m = BroadcastEthTxWi
func
(
m
*
BroadcastEthTxWithFromRequests
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
BroadcastEthTxWithFromRequests
)
ProtoMessage
()
{}
func
(
*
BroadcastEthTxWithFromRequests
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_2dc67120507b0009
,
[]
int
{
1
}
return
fileDescriptor_2dc67120507b0009
,
[]
int
{
7
}
}
func
(
m
*
BroadcastEthTxWithFromRequests
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_BroadcastEthTxWithFromRequests
.
Unmarshal
(
m
,
b
)
...
...
@@ -117,7 +353,7 @@ func (m *ResponseBroadcastTxs) Reset() { *m = ResponseBroadcastTxs{} }
func
(
m
*
ResponseBroadcastTxs
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ResponseBroadcastTxs
)
ProtoMessage
()
{}
func
(
*
ResponseBroadcastTxs
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_2dc67120507b0009
,
[]
int
{
2
}
return
fileDescriptor_2dc67120507b0009
,
[]
int
{
8
}
}
func
(
m
*
ResponseBroadcastTxs
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ResponseBroadcastTxs
.
Unmarshal
(
m
,
b
)
...
...
@@ -154,7 +390,7 @@ func (m *RequestPing) Reset() { *m = RequestPing{} }
func
(
m
*
RequestPing
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
RequestPing
)
ProtoMessage
()
{}
func
(
*
RequestPing
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_2dc67120507b0009
,
[]
int
{
3
}
return
fileDescriptor_2dc67120507b0009
,
[]
int
{
9
}
}
func
(
m
*
RequestPing
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_RequestPing
.
Unmarshal
(
m
,
b
)
...
...
@@ -184,7 +420,7 @@ func (m *ResponsePing) Reset() { *m = ResponsePing{} }
func
(
m
*
ResponsePing
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ResponsePing
)
ProtoMessage
()
{}
func
(
*
ResponsePing
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_2dc67120507b0009
,
[]
int
{
4
}
return
fileDescriptor_2dc67120507b0009
,
[]
int
{
10
}
}
func
(
m
*
ResponsePing
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ResponsePing
.
Unmarshal
(
m
,
b
)
...
...
@@ -204,177 +440,112 @@ func (m *ResponsePing) XXX_DiscardUnknown() {
var
xxx_messageInfo_ResponsePing
proto
.
InternalMessageInfo
type
RequestBroadcastTx
struct
{
Tx
[]
byte
`protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
m
*
RequestBroadcastTx
)
Reset
()
{
*
m
=
RequestBroadcastTx
{}
}
func
(
m
*
RequestBroadcastTx
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
RequestBroadcastTx
)
ProtoMessage
()
{}
func
(
*
RequestBroadcastTx
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_2dc67120507b0009
,
[]
int
{
5
}
}
func
(
m
*
RequestBroadcastTx
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_RequestBroadcastTx
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
RequestBroadcastTx
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_RequestBroadcastTx
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
RequestBroadcastTx
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_RequestBroadcastTx
.
Merge
(
m
,
src
)
}
func
(
m
*
RequestBroadcastTx
)
XXX_Size
()
int
{
return
xxx_messageInfo_RequestBroadcastTx
.
Size
(
m
)
}
func
(
m
*
RequestBroadcastTx
)
XXX_DiscardUnknown
()
{
xxx_messageInfo_RequestBroadcastTx
.
DiscardUnknown
(
m
)
}
var
xxx_messageInfo_RequestBroadcastTx
proto
.
InternalMessageInfo
func
(
m
*
RequestBroadcastTx
)
GetTx
()
[]
byte
{
if
m
!=
nil
{
return
m
.
Tx
}
return
nil
}
type
ResponseBroadcastTx
struct
{
Hash
[]
byte
`protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
m
*
ResponseBroadcastTx
)
Reset
()
{
*
m
=
ResponseBroadcastTx
{}
}
func
(
m
*
ResponseBroadcastTx
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ResponseBroadcastTx
)
ProtoMessage
()
{}
func
(
*
ResponseBroadcastTx
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_2dc67120507b0009
,
[]
int
{
6
}
}
func
(
m
*
ResponseBroadcastTx
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_ResponseBroadcastTx
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
ResponseBroadcastTx
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_ResponseBroadcastTx
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
ResponseBroadcastTx
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_ResponseBroadcastTx
.
Merge
(
m
,
src
)
}
func
(
m
*
ResponseBroadcastTx
)
XXX_Size
()
int
{
return
xxx_messageInfo_ResponseBroadcastTx
.
Size
(
m
)
}
func
(
m
*
ResponseBroadcastTx
)
XXX_DiscardUnknown
()
{
xxx_messageInfo_ResponseBroadcastTx
.
DiscardUnknown
(
m
)
}
var
xxx_messageInfo_ResponseBroadcastTx
proto
.
InternalMessageInfo
func
(
m
*
ResponseBroadcastTx
)
GetHash
()
[]
byte
{
if
m
!=
nil
{
return
m
.
Hash
}
return
nil
}
func
init
()
{
proto
.
RegisterType
((
*
RequestBroadcastTx
)(
nil
),
"ring.v1.RequestBroadcastTx"
)
proto
.
RegisterType
((
*
ResponseBroadcastTx
)(
nil
),
"ring.v1.ResponseBroadcastTx"
)
proto
.
RegisterType
((
*
BroadcastEthTxWithFromRequest
)(
nil
),
"ring.v1.broadcastEthTxWithFromRequest"
)
proto
.
RegisterType
((
*
BroadcastLegacyEthTxWithFromRequest
)(
nil
),
"ring.v1.broadcastLegacyEthTxWithFromRequest"
)
proto
.
RegisterType
((
*
ResponseLegacyEthTxBroadcastTx
)(
nil
),
"ring.v1.ResponseLegacyEthTxBroadcastTx"
)
proto
.
RegisterType
((
*
BroadcastLegacyEthTxsWithFromRequest
)(
nil
),
"ring.v1.broadcastLegacyEthTxsWithFromRequest"
)
proto
.
RegisterType
((
*
ResponseLegacyEthTxsBroadcastTx
)(
nil
),
"ring.v1.ResponseLegacyEthTxsBroadcastTx"
)
proto
.
RegisterType
((
*
BroadcastEthTxWithFromRequests
)(
nil
),
"ring.v1.broadcastEthTxWithFromRequests"
)
proto
.
RegisterType
((
*
ResponseBroadcastTxs
)(
nil
),
"ring.v1.ResponseBroadcastTxs"
)
proto
.
RegisterType
((
*
RequestPing
)(
nil
),
"ring.v1.RequestPing"
)
proto
.
RegisterType
((
*
ResponsePing
)(
nil
),
"ring.v1.ResponsePing"
)
proto
.
RegisterType
((
*
RequestBroadcastTx
)(
nil
),
"ring.v1.RequestBroadcastTx"
)
proto
.
RegisterType
((
*
ResponseBroadcastTx
)(
nil
),
"ring.v1.ResponseBroadcastTx"
)
}
func
init
()
{
proto
.
RegisterFile
(
"ring/v1/service.proto"
,
fileDescriptor_2dc67120507b0009
)
}
var
fileDescriptor_2dc67120507b0009
=
[]
byte
{
// 1323 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x94
,
0x58
,
0xdd
,
0x6e
,
0x1b
,
0xc5
,
0x17
,
0xff
,
0xdb
,
0x4d
,
0x9b
,
0x76
,
0x9c
,
0xa6
,
0x7f
,
0xb6
,
0x4d
,
0x6b
,
0x1c
,
0xf2
,
0x81
,
0x41
,
0x90
,
0x52
,
0xba
,
0xae
,
0x5b
,
0x21
,
0xa1
,
0x56
,
0x7c
,
0xd4
,
0x26
,
0x4d
,
0x01
,
0xc7
,
0xb2
,
0xec
,
0x36
,
0x14
,
0x14
,
0xa9
,
0x1a
,
0xaf
,
0xa7
,
0xeb
,
0x15
,
0xeb
,
0x19
,
0x67
,
0x67
,
0xec
,
0x24
,
0x5c
,
0x21
,
0x71
,
0xc5
,
0x6b
,
0x70
,
0x83
,
0xc4
,
0xa3
,
0xf0
,
0x18
,
0x5c
,
0x72
,
0xc1
,
0x33
,
0xa0
,
0xd9
,
0x9d
,
0x19
,
0x9f
,
0xdd
,
0x59
,
0x3b
,
0xe6
,
0x2a
,
0xde
,
0xf3
,
0xfb
,
0x38
,
0x33
,
0xc7
,
0x73
,
0xe6
,
0xac
,
0x83
,
0x36
,
0xa2
,
0x80
,
0xfa
,
0xb5
,
0x69
,
0xbd
,
0xc6
,
0x49
,
0x34
,
0x0d
,
0x3c
,
0xe2
,
0x8e
,
0x23
,
0x26
,
0x98
,
0xb3
,
0x2a
,
0xc3
,
0xee
,
0xb4
,
0x5e
,
0xd9
,
0xf4
,
0x19
,
0xf3
,
0x43
,
0x52
,
0x8b
,
0xc3
,
0xfd
,
0xc9
,
0x9b
,
0x1a
,
0x19
,
0x8d
,
0xc5
,
0x79
,
0xc2
,
0xaa
,
0x6c
,
0x6b
,
0x71
,
0x44
,
0x4e
,
0x26
,
0x84
,
0x8b
,
0xd7
,
0x11
,
0xe1
,
0x63
,
0x46
,
0xb9
,
0x72
,
0xa9
,
0x6c
,
0x69
,
0x1c
,
0x7b
,
0x1e
,
0x9b
,
0x50
,
0x89
,
0x9f
,
0x48
,
0x8e
,
0x82
,
0x6f
,
0xf7
,
0x31
,
0x27
,
0x89
,
0x9c
,
0xb3
,
0x49
,
0xa4
,
0x93
,
0x57
,
0x6e
,
0xe9
,
0x38
,
0x11
,
0xc3
,
0xd7
,
0xe2
,
0x2c
,
0x89
,
0x56
,
0xfb
,
0x68
,
0xab
,
0x1f
,
0x31
,
0x3c
,
0xf0
,
0x30
,
0x17
,
0xfb
,
0x62
,
0xf8
,
0xe2
,
0xec
,
0xbb
,
0x40
,
0x0c
,
0x9f
,
0x45
,
0x6c
,
0xd4
,
0x4d
,
0x92
,
0x3b
,
0xf7
,
0xd1
,
0x65
,
0x22
,
0xe3
,
0xe5
,
0xc2
,
0x6e
,
0x61
,
0xaf
,
0xf4
,
0xf0
,
0x8e
,
0x2b
,
0x6d
,
0xdc
,
0x69
,
0xdd
,
0x95
,
0xec
,
0x08
,
0x53
,
0x8e
,
0x3d
,
0x11
,
0x30
,
0xda
,
0x4d
,
0x58
,
0x8e
,
0x83
,
0x56
,
0xde
,
0x44
,
0x6c
,
0x54
,
0x2e
,
0xee
,
0x16
,
0xf6
,
0xae
,
0x75
,
0xe3
,
0xcf
,
0xd5
,
0x63
,
0xb4
,
0xbd
,
0x30
,
0x07
,
0x77
,
0x1e
,
0xa3
,
0x95
,
0x30
,
0xe0
,
0xa2
,
0x5c
,
0xd8
,
0xbd
,
0xb4
,
0x57
,
0x7a
,
0xf8
,
0x81
,
0xab
,
0xea
,
0xe4
,
0x2e
,
0x94
,
0x75
,
0x63
,
0x4d
,
0xf5
,
0x39
,
0xba
,
0xd5
,
0x55
,
0x05
,
0x6a
,
0x68
,
0xfa
,
0x8b
,
0x33
,
0xee
,
0x3c
,
0x48
,
0x79
,
0xbe
,
0x63
,
0x3c
,
0x73
,
0xc8
,
0xca
,
0xe9
,
0x3a
,
0x2a
,
0x29
,
0xeb
,
0x4e
,
0x40
,
0xfd
,
0xea
,
0x3a
,
0x5a
,
0xd3
,
0xdc
,
0xf8
,
0xf9
,
0x7d
,
0xe4
,
0x28
,
0x18
,
0x48
,
0x9d
,
0x75
,
0x54
,
0x14
,
0x49
,
0x71
,
0xd6
,
0xba
,
0x45
,
0x71
,
0x56
,
0xbd
,
0x8b
,
0x6e
,
0xe6
,
0x64
,
0x90
,
0x75
,
0x19
,
0x62
,
0x3e
,
0x54
,
0xc4
,
0xf8
,
0xf3
,
0xc3
,
0x7f
,
0x76
,
0x50
,
0xa9
,
0x1b
,
0x50
,
0xbf
,
0x97
,
0x1c
,
0x12
,
0xe7
,
0x11
,
0x5a
,
0x91
,
0x89
,
0x9c
,
0x5b
,
0x60
,
0xad
,
0x66
,
0x39
,
0x95
,
0x0d
,
0x6b
,
0x07
,
0x31
,
0xf9
,
0x08
,
0xad
,
0xa5
,
0xb6
,
0xfd
,
0xe1
,
0x72
,
0xc5
,
0xe3
,
0x95
,
0xad
,
0x45
,
0x15
,
0xe1
,
0x4e
,
0x0f
,
0x95
,
0xe0
,
0xfa
,
0x97
,
0xfc
,
0x4e
,
0x2a
,
0x0b
,
0xeb
,
0xec
,
0x7c
,
0x82
,
0x56
,
0x7a
,
0x43
,
0xfc
,
0x08
,
0xec
,
0x50
,
0x3e
,
0x6a
,
0xed
,
0x46
,
0x26
,
0x9a
,
0xe8
,
0xab
,
0xff
,
0x73
,
0xf6
,
0x51
,
0xa9
,
0xcd
,
0x06
,
0xe4
,
0x88
,
0x44
,
0x3c
,
0x60
,
0xd4
,
0xb9
,
0xed
,
0x26
,
0xed
,
0xe3
,
0xea
,
0xf6
,
0x71
,
0xf7
,
0x65
,
0xfb
,
0x80
,
0xdc
,
0x80
,
0x0d
,
0x6c
,
0x9a
,
0x08
,
0xb5
,
0x89
,
0xb8
,
0xc8
,
0x65
,
0x73
,
0xe6
,
0x62
,
0xc8
,
0xc0
,
0xe4
,
0x00
,
0xad
,
0xb5
,
0x89
,
0xe8
,
0x10
,
0x12
,
0x35
,
0x65
,
0xf3
,
0xcd
,
0xb5
,
0xd9
,
0x82
,
0x36
,
0x86
,
0x0e
,
0x8c
,
0x0e
,
0xd1
,
0x8d
,
0x8e
,
0x94
,
0x78
,
0x2c
,
0xbc
,
0x68
,
0x49
,
0xbb
,
0xc6
,
0x2b
,
0xa3
,
0x00
,
0x76
,
0x9f
,
0xa1
,
0xd5
,
0xde
,
0x39
,
0xf5
,
0xe4
,
0x91
,
0x98
,
0x67
,
0x53
,
0x9e
,
0xd5
,
0x37
,
0x61
,
0x02
,
0xf9
,
0x17
,
0xe8
,
0x6a
,
0x93
,
0x05
,
0x54
,
0x36
,
0xf7
,
0x5c
,
0xfd
,
0xdb
,
0x46
,
0xaf
,
0xa9
,
0xc0
,
0xe0
,
0x09
,
0xba
,
0x72
,
0x18
,
0xd0
,
0x45
,
0xe9
,
0xef
,
0x18
,
0x79
,
0x42
,
0x4c
,
0x67
,
0x7f
,
0x8e
,
0xf9
,
0xb0
,
0x8b
,
0xc5
,
0x32
,
0xd9
,
0x35
,
0x35
,
0x6d
,
0xf0
,
0x34
,
0xb9
,
0x0d
,
0xf9
,
0x12
,
0x06
,
0x9a
,
0x9a
,
0x36
,
0x38
,
0xc0
,
0xbc
,
0x13
,
0xc9
,
0x3e
,
0xbc
,
0xd8
,
0x40
,
0x53
,
0x81
,
0xc1
,
0x97
,
0xa8
,
0xd4
,
0x08
,
0x99
,
0xf7
,
0x63
,
0x7b
,
0x32
,
0xea
,
0x93
,
0x68
,
0x89
,
0x22
,
0x3c
,
0x27
,
0x81
,
0x3f
,
0x84
,
0x07
,
0xe2
,
0x1b
,
0xe5
,
0xd0
,
0x38
,
0x97
,
0x1b
,
0x74
,
0x66
,
0xe7
,
0x10
,
0x44
,
0xed
,
0x36
,
0x4b
,
0x81
,
0xc6
,
0xab
,
0x83
,
0xae
,
0x2b
,
0x40
,
0xad
,
0x67
,
0x2b
,
0x2b
,
0x48
,
0xe2
,
0xda
,
0x6f
,
0x7b
,
0x1e
,
0x6c
,
0x1c
,
0x7f
,
0x42
,
0x9b
,
0x31
,
0x04
,
0xee
,
0xfc
,
0xf8
,
0x44
,
0xab
,
0xd5
,
0xde
,
0x4b
,
0x1b
,
0xe4
,
0xb3
,
0x74
,
0xb6
,
0x8f
,
0x97
,
0x23
,
0x9b
,
0xdc
,
0x3f
,
0x17
,
0xd0
,
0xd6
,
0x1c
,
0xa6
,
0xda
,
0xde
,
0xfd
,
0x8b
,
0x1c
,
0xd3
,
0xdb
,
0x75
,
0x97
,
0xa5
,
0x9b
,
0x25
,
0x7c
,
0x8f
,
0xfe
,
0xff
,
0x92
,
0x7a
,
0x21
,
0x81
,
0x7b
,
0x9e
,
0xb5
,
0x65
,
0x16
,
0xd2
,
0x79
,
0xde
,
0x5d
,
0xc0
,
0x30
,
0xd6
,
0xaf
,
0x91
,
0x03
,
0x51
,
0xb5
,
0xa3
,
0x6a
,
0xae
,
0x34
,
0xbd
,
0x8d
,
0xf7
,
0x16
,
0x72
,
0x4c
,
0x82
,
0x13
,
0x54
,
0x8e
,
0xf1
,
0xc6
,
0x79
,
0xbc
,
0x5b
,
0x99
,
0xfe
,
0x29
,
0x1d
,
0x7c
,
0x4d
,
0x07
,
0xe4
,
0xcc
,
0xd9
,
0x4b
,
0x5b
,
0xe4
,
0x50
,
0x74
,
0xb2
,
0xbb
,
0x4b
,
0x30
,
0x4d
,
0xca
,
0x53
,
0x54
,
0x81
,
0xac
,
0x64
,
0x49
,
0x26
,
0xe9
,
0x47
,
0xb9
,
0x56
,
0x69
,
0x92
,
0x4e
,
0x7b
,
0x6f
,
0x29
,
0xae
,
0x49
,
0xfc
,
0x15
,
0xba
,
0xd6
,
0x64
,
0xa3
,
0x71
,
0x10
,
0x92
,
0x88
,
0x3b
,
0xf0
,
0xc2
,
0x52
,
0x31
,
0x6d
,
0x5b
,
0xc9
,
0x83
,
0x8c
,
0xcb
,
0x11
,
0xba
,
0xa1
,
0xc2
,
0x3d
,
0x16
,
0x06
,
0x83
,
0x40
,
0x9c
,
0x3b
,
0x3b
,
0x59
,
0x81
,
0x46
,
0xb4
,
0xe3
,
0xee
,
0x7c
,
0x02
,
0x18
,
0x1e
,
0x48
,
0x81
,
0xad
,
0x56
,
0xcb
,
0xb1
,
0xd6
,
0xd0
,
0x6a
,
0xb5
,
0xb4
,
0xdb
,
0x66
,
0x2e
,
0x66
,
0x8c
,
0x7a
,
0x68
,
0x5d
,
0x67
,
0x21
,
0xd1
,
0x98
,
0x50
,
0xe1
,
0x6c
,
0x5b
,
0xe9
,
0x13
,
0x40
,
0x1b
,
0xee
,
0xcc
,
0xc5
,
0xe1
,
0x05
,
0xb4
,
0xcf
,
0x45
,
0x30
,
0xc2
,
0x82
,
0x1c
,
0x60
,
0x0e
,
0x2e
,
0x20
,
0x10
,
0xb5
,
0x2f
,
0xa0
,
0x14
,
0x68
,
0xbc
,
0x8e
,
0xd1
,
0x5b
,
0xa0
,
0xab
,
0x54
,
0xc3
,
0xcc
,
0xda
,
0xc1
,
0xc2
,
0xb4
,
0x6f
,
0x75
,
0x11
,
0xc5
,
0xb8
,
0xff
,
0x52
,
0x40
,
0xdb
,
0x29
,
0xdc
,
0x3e
,
0xd8
,
0x6e
,
0xbe
,
0xd1
,
0xdc
,
0xe3
,
0x5d
,
0x5b
,
0x9a
,
0x6f
,
0x56
,
0xf1
,
0x6b
,
0x01
,
0xed
,
0xda
,
0xe4
,
0xcc
,
0x59
,
0x7f
,
0xb0
,
0xc0
,
0x37
,
0xff
,
0xc4
,
0xd7
,
0xff
,
0x83
,
0x02
,
0x5e
,
0x22
,
0xf0
,
0x6d
,
0x9c
,
0x78
,
0x24
,
0x18
,
0x0b
,
0x27
,
0xb7
,
0x9a
,
0x0a
,
0xb4
,
0x2f
,
0x91
,
0x3c
,
0x8e
,
0x49
,
0xf0
,
0x39
,
0x5a
,
0x6d
,
0xe0
,
0x10
,
0x53
,
0x8f
,
0x38
,
0xb3
,
0x19
,
0xa6
,
0x22
,
0xda
,
0xaa
,
0x6c
,
0x03
,
0x50
,
0xdf
,
0x13
,
0x2c
,
0xc2
,
0x3e
,
0xd4
,
0xab
,
0x88
,
0xad
,
0x37
,
0x80
,
0xd1
,
0x7f
,
0x8a
,
0x2e
,
0xb7
,
0x99
,
0xcc
,
0xbe
,
0x01
,
0xde
,
0xf2
,
0x40
,
0xee
,
0xdb
,
0xd9
,
0x30
,
0x9c
,
0x85
,
0x5d
,
0x32
,
0x26
,
0x58
,
0x90
,
0x41
,
0xe2
,
0x00
,
0xdf
,
0x7c
,
0x41
,
0xdc
,
0x9e
,
0x85
,
0x19
,
0x18
,
0x0e
,
0x83
,
0xec
,
0xc8
,
0x00
,
0xc3
,
0x20
,
0x0b
,
0xd9
,
0xc3
,
0xc0
,
0x66
,
0xc0
,
0x32
,
0x1d
,
0x10
,
0xd1
,
0x64
,
0x03
,
0x58
,
0x26
,
0x15
,
0xb1
,
0xcb
,
0x64
,
0x00
,
0xa3
,
0x97
,
0x6f
,
0xd8
,
0x81
,
0x4f
,
0xe1
,
0x1b
,
0x76
,
0xe0
,
0xd3
,
0x9c
,
0x37
,
0xec
,
0x38
,
0x0a
,
0x2f
,
0x3c
,
0x19
,
0x01
,
0x0b
,
0x03
,
0x17
,
0x5e
,
0x06
,
0xb1
,
0x2f
,
0x3c
,
0x8b
,
0x90
,
0xf2
,
0x25
,
0x74
,
0x30
,
0xc7
,
0x37
,
0x8d
,
0xe4
,
0xf8
,
0x66
,
0x09
,
0xf0
,
0xb8
,
0x4b
,
0xb0
,
0x8b
,
0x4f
,
0xa1
,
0x75
,
0x35
,
0xa5
,
0x4c
,
0x83
,
0xf6
,
0x71
,
0xcf
,
0xe3
,
0xc0
,
0x3a
,
0x36
,
0x71
,
0x18
,
0x82
,
0x3a
,
0xca
,
0x47
,
0xbb
,
0x8e
,
0x49
,
0x14
,
0x8e
,
0x9f
,
0x36
,
0x39
,
0x7d
,
0x16
,
0x84
,
0x82
,
0x44
,
0x60
,
0xfc
,
0x98
,
0x98
,
0x3d
,
0x7e
,
0x00
,
0x64
,
0x5c
,
0xbe
,
0x45
,
0xeb
,
0x6d
,
0x72
,
0x1a
,
0x37
,
0xbc
,
0xb2
,
0x9a
,
0xf7
,
0x3a
,
0xb9
,
0x03
,
0x7d
,
0x80
,
0x20
,
0x55
,
0xaa
,
0x72
,
0x87
,
0xd0
,
0x41
,
0x40
,
0x7d
,
0xb0
,
0xd3
,
0x0b
,
0x6c
,
0x67
,
0xb3
,
0x7e
,
0x9e
,
0x34
,
0xfd
,
0x1d
,
0xbf
,
0xa4
,
0x01
,
0xe5
,
0x02
,
0x87
,
0xa1
,
0xf2
,
0xdd
,
0x01
,
0x43
,
0x3b
,
0x85
,
0xd8
,
0xdf
,
0xb1
,
0x45
,
0x80
,
0x7d
,
0x9b
,
0xc4
,
0x9a
,
0x43
,
0x4c
,
0x7d
,
0xc2
,
0x41
,
0xdf
,
0xa6
,
0xe2
,
0x76
,
0xdf
,
0x66
,
0x60
,
0x38
,
0x7e
,
0x13
,
0xa8
,
0xc5
,
0x7c
,
0x0e
,
0xc6
,
0xef
,
0x2c
,
0x68
,
0x8f
,
0x5f
,
0x88
,
0xc1
,
0xd3
,
0x11
,
0x5b
,
0xcc
,
0x4e
,
0x07
,
0x14
,
0x6f
,
0x64
,
0xa2
,
0x5a
,
0xd6
,
0xf8
,
0xbd
,
0x80
,
0x4a
,
0x1e
,
0x1b
,
0x69
,
0xb8
,
0xb1
,
0xa6
,
0x7e
,
0xf9
,
0xc7
,
0xbf
,
0xea
,
0x3a
,
0x85
,
0x1f
,
0x0e
,
0xfd
,
0x40
,
0x0c
,
0x27
,
0x7d
,
0xd7
,
0x63
,
0xa3
,
0x5a
,
0x13
,
0x0f
,
0x26
,
0x1e
,
0x99
,
0xf0
,
0x43
,
0x22
,
0xf0
,
0x94
,
0x44
,
0x9c
,
0xe8
,
0x9f
,
0x7e
,
0x35
,
0x19
,
0x31
,
0x0f
,
0x3e
,
0xa1
,
0xc9
,
0x7f
,
0x91
,
0x6a
,
0x3e
,
0xab
,
0xa9
,
0x7f
,
0x0c
,
0x3d
,
0x91
,
0x7f
,
0xa7
,
0xf5
,
0xdf
,
0x8a
,
0x97
,
0xba
,
0xaf
,
0x5e
,
0xfd
,
0x51
,
0x5c
,
0xed
,
0xca
,
0x74
,
0x47
,
0xf5
,
0x3f
,
0x93
,
0x4f
,
0xc7
,
0x47
,
0xf5
,
0xbf
,
0x8a
,
0x37
,
0xd5
,
0xa7
,
0xe3
,
0x83
,
0x4e
,
0x43
,
0xfa
,
0x0d
,
0xb0
,
0xc0
,
0x7f
,
0x17
,
0xaf
,
0xca
,
0xe8
,
0xe3
,
0xc7
,
0x47
,
0xf5
,
0xfe
,
0x95
,
0xd8
,
0xf3
,
0xd1
,
0xbf
,
0x01
,
0x00
,
0x00
,
0xff
,
0xff
,
0xe6
,
0x63
,
0x18
,
0x9d
,
0xc9
,
0x12
,
0x00
,
0x00
,
// 1429 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x94
,
0x58
,
0xdf
,
0x72
,
0xd3
,
0xc6
,
0x17
,
0xfe
,
0x39
,
0x04
,
0x02
,
0xeb
,
0x10
,
0x7e
,
0x2c
,
0x09
,
0xb8
,
0x4e
,
0xf3
,
0x07
,
0xc3
,
0x94
,
0x50
,
0x40
,
0xc6
,
0xd0
,
0xce
,
0x74
,
0x60
,
0xda
,
0x82
,
0xdd
,
0x10
,
0xda
,
0x3a
,
0x1e
,
0x8f
,
0x0c
,
0x29
,
0xed
,
0x64
,
0xca
,
0xac
,
0xe5
,
0x45
,
0x56
,
0x91
,
0x25
,
0xa3
,
0x5d
,
0x27
,
0x4e
,
0xaf
,
0x3a
,
0xd3
,
0xab
,
0xbe
,
0x46
,
0x6f
,
0x3a
,
0xd3
,
0x37
,
0x69
,
0x1f
,
0xa3
,
0x97
,
0x7d
,
0x8a
,
0xce
,
0x4a
,
0xbb
,
0xeb
,
0x23
,
0xad
,
0xec
,
0x98
,
0xab
,
0xd8
,
0xe7
,
0xfb
,
0xce
,
0xf7
,
0x9d
,
0x5d
,
0x9d
,
0xdd
,
0xa3
,
0x18
,
0xad
,
0x45
,
0x5e
,
0xe0
,
0x56
,
0x8f
,
0x6a
,
0x55
,
0x46
,
0xa3
,
0x23
,
0xcf
,
0xa1
,
0xd6
,
0x30
,
0x0a
,
0x79
,
0x88
,
0x97
,
0x44
,
0xd8
,
0x3a
,
0xaa
,
0x95
,
0xd7
,
0xdd
,
0x30
,
0x74
,
0x7d
,
0x5a
,
0x8d
,
0xc3
,
0xdd
,
0xd1
,
0x9b
,
0x2a
,
0x1d
,
0x0c
,
0xf9
,
0x49
,
0xc2
,
0x2a
,
0x6f
,
0xaa
,
0xe4
,
0x88
,
0xbe
,
0x1b
,
0x51
,
0xc6
,
0x5f
,
0x47
,
0x94
,
0x0d
,
0xc3
,
0x80
,
0x49
,
0x95
,
0xf2
,
0x86
,
0xc2
,
0x89
,
0xe3
,
0x84
,
0xa3
,
0x40
,
0xe0
,
0xef
,
0x04
,
0x47
,
0xc2
,
0x57
,
0xbb
,
0x84
,
0xd1
,
0x24
,
0x9d
,
0x85
,
0xa3
,
0x48
,
0x99
,
0x97
,
0x57
,
0x55
,
0x9c
,
0xf2
,
0xfe
,
0x6b
,
0x3e
,
0x4e
,
0xa2
,
0x95
,
0x9b
,
0x08
,
0xdb
,
0x89
,
0x4d
,
0x3d
,
0x0a
,
0x49
,
0xcf
,
0x21
,
0x8c
,
0xbf
,
0x18
,
0xe3
,
0x15
,
0xb4
,
0xc0
,
0xc7
,
0xa5
,
0xc2
,
0x76
,
0x61
,
0x67
,
0xd9
,
0x5e
,
0xe0
,
0xe3
,
0xca
,
0x6d
,
0x74
,
0xc5
,
0x96
,
0x45
,
0x40
,
0x1a
,
0x46
,
0x8b
,
0x7d
,
0xc2
,
0xfa
,
0x92
,
0x18
,
0x7f
,
0xae
,
0x74
,
0xd1
,
0x46
,
0x57
,
0x51
,
0x76
,
0x79
,
0xff
,
0xc5
,
0xf8
,
0x3b
,
0x8f
,
0xf7
,
0x9f
,
0x45
,
0xe1
,
0x40
,
0xda
,
0xe0
,
0x7b
,
0xe8
,
0x2c
,
0x15
,
0xf1
,
0x38
,
0xab
,
0xf8
,
0xe0
,
0x9a
,
0x25
,
0xea
,
0xb2
,
0x8e
,
0x6a
,
0x96
,
0x60
,
0x47
,
0x24
,
0x60
,
0xc4
,
0xe1
,
0x5e
,
0x18
,
0xd8
,
0x09
,
0x4b
,
0x78
,
0xbc
,
0x89
,
0xc2
,
0x41
,
0x69
,
0x61
,
0xbb
,
0xb0
,
0x73
,
0xc1
,
0x8e
,
0x3f
,
0x57
,
0xde
,
0xa2
,
0x1b
,
0xda
,
0xa3
,
0x49
,
0x5d
,
0xe2
,
0x9c
,
0xe4
,
0x3a
,
0xdd
,
0x47
,
0xe7
,
0x13
,
0x54
,
0x9b
,
0xad
,
0x42
,
0x33
,
0x85
,
0xd9
,
0x9a
,
0x95
,
0x6b
,
0xf6
,
0x09
,
0xda
,
0x54
,
0x6b
,
0x07
,
0x5e
,
0xa7
,
0x6d
,
0x43
,
0x1f
,
0xdd
,
0xcc
,
0x2b
,
0x91
,
0x65
,
0x6b
,
0x7c
,
0x82
,
0x16
,
0x7d
,
0x8f
,
0xf1
,
0x52
,
0x61
,
0xfb
,
0xcc
,
0x4e
,
0xf1
,
0xc1
,
0x5d
,
0x4b
,
0x76
,
0x88
,
0x35
,
0xc7
,
0xfa
,
0xec
,
0x38
,
0xb3
,
0xf2
,
0x23
,
0xda
,
0xca
,
0xa9
,
0x8f
,
0xc1
,
0x02
,
0x1f
,
0xa7
,
0x4c
,
0x6e
,
0x69
,
0x93
,
0xd9
,
0xeb
,
0x92
,
0xfa
,
0x87
,
0x68
,
0x73
,
0xe6
,
0x03
,
0x65
,
0xf8
,
0x51
,
0x4a
,
0xfe
,
0x23
,
0x73
,
0x0d
,
0x33
,
0xaa
,
0x7f
,
0x8e
,
0x56
,
0x73
,
0x3a
,
0x8b
,
0xe1
,
0xfb
,
0x29
,
0xcd
,
0x0f
,
0x8d
,
0x92
,
0xcd
,
0x3a
,
0x2f
,
0xa2
,
0xa2
,
0x94
,
0x6e
,
0x7b
,
0x81
,
0x5b
,
0x59
,
0x41
,
0xcb
,
0x8a
,
0x2b
,
0xbe
,
0x3f
,
0xf8
,
0xeb
,
0x3a
,
0x2a
,
0xda
,
0x5e
,
0xe0
,
0x76
,
0x92
,
0x13
,
0x89
,
0x1f
,
0xa2
,
0x45
,
0x11
,
0xc7
,
0xab
,
0x40
,
0x5a
,
0x67
,
0x97
,
0xd7
,
0x0c
,
0xc3
,
0x98
,
0x7c
,
0x80
,
0x96
,
0x53
,
0x55
,
0xde
,
0x9a
,
0x6f
,
0xad
,
0xac
,
0xbc
,
0x31
,
0x6b
,
0x01
,
0x0c
,
0x77
,
0x50
,
0x11
,
0x3e
,
0xaf
,
0x39
,
0xb7
,
0xb0
,
0x3c
,
0x73
,
0x5b
,
0xf0
,
0x4f
,
0xe8
,
0x72
,
0x3d
,
0xdd
,
0x45
,
0x2f
,
0xc6
,
0xf8
,
0xbd
,
0x3a
,
0xac
,
0x3c
,
0x6f
,
0xab
,
0xe0
,
0x01
,
0xc2
,
0x86
,
0x17
,
0xc3
,
0xf7
,
0x66
,
0x9a
,
0x65
,
0xcf
,
0x42
,
0x79
,
0x67
,
0x96
,
0x5b
,
0xaa
,
0xa1
,
0x3f
,
0x45
,
0x8b
,
0x9d
,
0x3e
,
0x79
,
0x08
,
0x1e
,
0x9e
,
0xf8
,
0xaa
,
0x74
,
0xd6
,
0x32
,
0xd1
,
0x44
,
0xab
,
0xf2
,
0x3f
,
0xbc
,
0x8b
,
0x8a
,
0xad
,
0xb0
,
0x47
,
0x0f
,
0x68
,
0xc4
,
0xbc
,
0x30
,
0xc0
,
0x57
,
0xad
,
0xe4
,
0x1a
,
0xb6
,
0xd4
,
0x35
,
0x6c
,
0xed
,
0x8a
,
0x6b
,
0x18
,
0x6c
,
0x2b
,
0x60
,
0x03
,
0x99
,
0x06
,
0x42
,
0x2d
,
0xca
,
0x4f
,
0x53
,
0x59
,
0x9f
,
0xa8
,
0x68
,
0x32
,
0x10
,
0xd9
,
0x43
,
0xcb
,
0x2d
,
0xca
,
0xdb
,
0x94
,
0x46
,
0x0d
,
0x71
,
0x89
,
0x4f
,
0x95
,
0xd9
,
0x80
,
0x32
,
0x9a
,
0x0e
,
0x84
,
0xf6
,
0xd1
,
0xa5
,
0xb6
,
0x48
,
0x71
,
0x42
,
0xff
,
0xb4
,
0x92
,
0xb6
,
0xb5
,
0x56
,
0x26
,
0x03
,
0xc8
,
0x7d
,
0x8e
,
0x96
,
0x3a
,
0x27
,
0x81
,
0x23
,
0xba
,
0x7d
,
0x9a
,
0x4c
,
0x69
,
0xb2
,
0xbf
,
0x09
,
0x13
,
0xa4
,
0x7f
,
0x89
,
0xce
,
0x37
,
0x42
,
0x2f
,
0x10
,
0xd7
,
0xec
,
0xd4
,
0xfc
,
0x0f
,
0x74
,
0xbe
,
0xa2
,
0x02
,
0x81
,
0xc7
,
0xe8
,
0xdc
,
0xbe
,
0x17
,
0xcc
,
0xb2
,
0xbf
,
0xa6
,
0xd3
,
0x13
,
0x62
,
0xda
,
0xfd
,
0x39
,
0x61
,
0x7d
,
0x9b
,
0xf0
,
0x79
,
0xdc
,
0x15
,
0x35
,
0x2d
,
0xf0
,
0x34
,
0x99
,
0xaa
,
0x6c
,
0x0e
,
0x01
,
0x45
,
0x4d
,
0x0b
,
0xec
,
0x11
,
0xd6
,
0x8e
,
0xc4
,
0x15
,
0x73
,
0xba
,
0x80
,
0xa2
,
0x02
,
0x81
,
0x27
,
0xa8
,
0x58
,
0xf7
,
0x43
,
0xe7
,
0x6d
,
0x6b
,
0x34
,
0xe8
,
0xd2
,
0x68
,
0x8e
,
0x4d
,
0x78
,
0x4e
,
0x3d
,
0xb7
,
0x0f
,
0x1b
,
0xe2
,
0x1b
,
0xa9
,
0x50
,
0x3f
,
0x11
,
0x0b
,
0xc4
,
0x93
,
0x3e
,
0x04
,
0x51
,
0xf3
,
0x06
,
0x49
,
0x81
,
0x5a
,
0xab
,
0x8d
,
0x2e
,
0x4a
,
0x40
,
0xd6
,
0xb3
,
0x91
,
0x4d
,
0x48
,
0xe2
,
0x4a
,
0x6f
,
0x73
,
0x1a
,
0xac
,
0x15
,
0x7f
,
0x46
,
0xeb
,
0x31
,
0x04
,
0x46
,
0x7d
,
0xdc
,
0xd1
,
0xb2
,
0xda
,
0x3b
,
0x69
,
0x81
,
0x7c
,
0x96
,
0x72
,
0xbb
,
0x3b
,
0x1f
,
0x59
,
0x7b
,
0xff
,
0x52
,
0x40
,
0x1b
,
0x53
,
0x98
,
0x72
,
0x79
,
0xf7
,
0x4e
,
0x53
,
0x4c
,
0x2f
,
0xd7
,
0x9a
,
0x97
,
0xae
,
0x4b
,
0xf8
,
0x1e
,
0xfd
,
0xff
,
0x65
,
0xe0
,
0xf8
,
0x14
,
0xae
,
0x79
,
0x72
,
0x2c
,
0xb3
,
0x90
,
0xf2
,
0xb9
,
0x3e
,
0x83
,
0xa1
,
0xa5
,
0x5f
,
0x23
,
0x0c
,
0x51
,
0xb9
,
0xa2
,
0x4a
,
0x6e
,
0x6a
,
0x7a
,
0x19
,
0x37
,
0x66
,
0x72
,
0xb4
,
0xc1
,
0x3b
,
0x54
,
0x8a
,
0xf1
,
0xfa
,
0x49
,
0xbc
,
0x5a
,
0x61
,
0xff
,
0x34
,
0xe8
,
0x7d
,
0x1d
,
0xf4
,
0xe8
,
0x18
,
0xef
,
0xa4
,
0x25
,
0x72
,
0x28
,
0xca
,
0xec
,
0xf6
,
0x1c
,
0x4c
,
0x6d
,
0x79
,
0x8c
,
0xca
,
0x90
,
0x95
,
0x94
,
0xa4
,
0x4d
,
0x3f
,
0xce
,
0x95
,
0x4a
,
0x93
,
0x94
,
0xed
,
0x9d
,
0xb9
,
0xb8
,
0xda
,
0xf8
,
0x2b
,
0x74
,
0xa1
,
0x11
,
0x0e
,
0x86
,
0x9e
,
0x4f
,
0x23
,
0x86
,
0xe1
,
0x85
,
0x25
,
0x63
,
0x4a
,
0xb6
,
0x9c
,
0x07
,
0x69
,
0x95
,
0x03
,
0x74
,
0x49
,
0x86
,
0x3b
,
0xa1
,
0xef
,
0xf5
,
0x3c
,
0x7e
,
0x82
,
0xb7
,
0xb2
,
0x09
,
0x0a
,
0x51
,
0x8a
,
0xdb
,
0xd3
,
0x09
,
0x60
,
0x78
,
0x20
,
0x09
,
0x36
,
0x9b
,
0x4d
,
0x6c
,
0xd4
,
0xd0
,
0x6c
,
0x36
,
0x95
,
0xda
,
0x7a
,
0x2e
,
0xa6
,
0x85
,
0x3a
,
0x68
,
0x45
,
0xb9
,
0xd0
,
0x68
,
0x48
,
0x03
,
0x8e
,
0x37
,
0x0d
,
0xfb
,
0x04
,
0x50
,
0x82
,
0x5b
,
0x53
,
0x71
,
0x78
,
0x01
,
0xed
,
0x32
,
0xee
,
0x0d
,
0x08
,
0xa7
,
0x7b
,
0x84
,
0x81
,
0x0b
,
0x08
,
0x44
,
0xcd
,
0x0b
,
0x28
,
0x05
,
0x6a
,
0xad
,
0x43
,
0x74
,
0x19
,
0x9c
,
0x2a
,
0x79
,
0x60
,
0x26
,
0xc7
,
0xc1
,
0xc0
,
0x94
,
0x6e
,
0x65
,
0x16
,
0x45
,
0xab
,
0xff
,
0x5a
,
0x40
,
0x9b
,
0x29
,
0xdc
,
0x6c
,
0x6c
,
0x2b
,
0x5f
,
0x68
,
0x6a
,
0x7b
,
0x57
,
0xe7
,
0xe6
,
0xeb
,
0x2a
,
0x7e
,
0x2b
,
0xa0
,
0x6d
,
0x93
,
0x9c
,
0xe9
,
0xf5
,
0xfb
,
0x33
,
0x74
,
0xf3
,
0x3b
,
0xbe
,
0xf6
,
0x1e
,
0x19
,
0xf0
,
0x12
,
0x81
,
0xff
,
0x84
,
0x51
,
0x87
,
0x7a
,
0x43
,
0x8e
,
0x73
,
0x77
,
0x53
,
0x82
,
0xe6
,
0x25
,
0x92
,
0xc7
,
0xd1
,
0x06
,
0x5f
,
0xa0
,
0xa5
,
0x3a
,
0xf1
,
0x49
,
0xe0
,
0x50
,
0x3c
,
0x99
,
0x61
,
0x32
,
0xa2
,
0xa4
,
0x4a
,
0x26
,
0x00
,
0xf3
,
0x3b
,
0x3c
,
0x8c
,
0x88
,
0x0b
,
0xf3
,
0x65
,
0xc4
,
0xcc
,
0xd7
,
0x80
,
0xce
,
0xff
,
0x0c
,
0x9d
,
0x6d
,
0x85
,
0xc2
,
0x7d
,
0x0d
,
0xbc
,
0xe5
,
0x01
,
0xef
,
0xab
,
0xd9
,
0x30
,
0x9c
,
0x85
,
0x36
,
0x1d
,
0x52
,
0xc2
,
0x69
,
0x2f
,
0x51
,
0x80
,
0x2f
,
0xf5
,
0x20
,
0x6e
,
0xce
,
0xc2
,
0x0c
,
0x0c
,
0x87
,
0x41
,
0x76
,
0x64
,
0x80
,
0x61
,
0x90
,
0x85
,
0xcc
,
0x61
,
0x60
,
0x32
,
0xe0
,
0x36
,
0xed
,
0x51
,
0xde
,
0x08
,
0x7b
,
0x70
,
0x9b
,
0x64
,
0xc4
,
0xdc
,
0x26
,
0x0d
,
0xe8
,
0x7c
,
0xf1
,
0x86
,
0xed
,
0xb9
,
0x01
,
0x7c
,
0xc3
,
0xf6
,
0xdc
,
0x20
,
0xe7
,
0x0d
,
0x3b
,
0x8e
,
0xc2
,
0x0b
,
0x4f
,
0x44
,
0x40
,
0x61
,
0xe0
,
0xc2
,
0xcb
,
0x20
,
0xe6
,
0x85
,
0x67
,
0x10
,
0x52
,
0xba
,
0x34
,
0xe8
,
0x4d
,
0xd1
,
0x4d
,
0x23
,
0x39
,
0xba
,
0x59
,
0x02
,
0x6c
,
0x77
,
0x01
,
0xda
,
0xe4
,
0x18
,
0x4a
,
0x57
,
0x52
,
0x99
,
0x69
,
0xd0
,
0x6c
,
0xf7
,
0x3c
,
0x0e
,
0xdc
,
0xc7
,
0x06
,
0xf1
,
0x7d
,
0xb0
,
0x8f
,
0xe2
,
0xab
,
0xb9
,
0x8f
,
0x49
,
0x14
,
0x8e
,
0x9f
,
0x16
,
0x3d
,
0x7e
,
0xe6
,
0xf9
,
0x9c
,
0x46
,
0x60
,
0xfc
,
0xe8
,
0x98
,
0x39
,
0x7e
,
0x00
,
0xa4
,
0x55
,
0xbe
,
0x45
,
0x2b
,
0x2d
,
0x7a
,
0x1c
,
0x1f
,
0x78
,
0x29
,
0x35
,
0xed
,
0x75
,
0x72
,
0x0b
,
0xea
,
0x80
,
0x84
,
0xd4
,
0x56
,
0x95
,
0xda
,
0x34
,
0xe8
,
0x79
,
0x81
,
0x0b
,
0x56
,
0x7a
,
0x8a
,
0xec
,
0x64
,
0xd6
,
0x4f
,
0x4b
,
0x4d
,
0x3f
,
0xe3
,
0x97
,
0x81
,
0x17
,
0x30
,
0x4e
,
0x7c
,
0x5f
,
0xea
,
0x6e
,
0x81
,
0xa1
,
0x9d
,
0x42
,
0xcc
,
0x67
,
0x6c
,
0x10
,
0xe0
,
0xb9
,
0x4d
,
0x62
,
0x8d
,
0x3e
,
0x09
,
0x5c
,
0xca
,
0xc0
,
0xb9
,
0x4d
,
0xc5
,
0xcd
,
0x73
,
0x9b
,
0x81
,
0xe1
,
0xf8
,
0x4d
,
0xa0
,
0x66
,
0xe8
,
0x32
,
0x30
,
0x7e
,
0x27
,
0x41
,
0x73
,
0xfc
,
0x42
,
0x0c
,
0x76
,
0x47
,
0x2c
,
0x31
,
0xe9
,
0x0e
,
0x98
,
0xbc
,
0x96
,
0x89
,
0xaa
,
0xb4
,
0xfa
,
0x1f
,
0x05
,
0x54
,
0x74
,
0xc2
,
0x81
,
0x82
,
0xeb
,
0xcb
,
0xf2
,
0x47
,
0x8d
,
0xf8
,
0xbf
,
0xba
,
0x76
,
0xe1
,
0x87
,
0x7d
,
0xd7
,
0xe3
,
0xfd
,
0x51
,
0xd7
,
0x72
,
0xc2
,
0x41
,
0xb5
,
0x41
,
0x7a
,
0x23
,
0x87
,
0x8e
,
0xd8
,
0x3e
,
0xe5
,
0xe4
,
0x88
,
0x46
,
0x8c
,
0xaa
,
0x7f
,
0xfd
,
0xaa
,
0x22
,
0xa2
,
0xbf
,
0xb8
,
0x34
,
0x48
,
0x7e
,
0x8d
,
0xac
,
0xba
,
0x61
,
0x55
,
0xfe
,
0xc0
,
0xf8
,
0x58
,
0xfc
,
0x3d
,
0xaa
,
0xfd
,
0xbe
,
0x70
,
0xc6
,
0x7e
,
0xf5
,
0xea
,
0xcf
,
0x85
,
0x25
,
0x5b
,
0xd8
,
0x1d
,
0xd4
,
0xfe
,
0x4e
,
0x3e
,
0x1d
,
0x1e
,
0xd4
,
0xfe
,
0x59
,
0xb8
,
0x22
,
0x3f
,
0x1d
,
0xee
,
0xb5
,
0xeb
,
0x42
,
0xaf
,
0x47
,
0x38
,
0xf9
,
0x77
,
0xe1
,
0xbc
,
0x88
,
0x3e
,
0x7a
,
0x74
,
0x50
,
0xeb
,
0x9e
,
0x8b
,
0x35
,
0x1f
,
0xfe
,
0x17
,
0x00
,
0x00
,
0xff
,
0xff
,
0x9e
,
0x6c
,
0x66
,
0x91
,
0x11
,
0x15
,
0x00
,
0x00
,
}
MetaProtocol-main/gen/proto/go/ring/v1/service_grpc.pb.go
View file @
d4249455
...
...
@@ -24,9 +24,11 @@ const _ = grpc.SupportPackageIsVersion7
// 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.
type
RingServiceClient
interface
{
Ping
(
ctx
context
.
Context
,
in
*
RequestPing
,
opts
...
grpc
.
CallOption
)
(
*
ResponsePing
,
error
)
//
rpc BroadcastTx(RequestBroadcastTx) returns (ResponseBroadcastTx);
//rpc BroadcastTx(RequestBroadcastTx) returns (ResponseBroadcastTx);
BroadcastTxs
(
ctx
context
.
Context
,
in
*
BroadcastEthTxWithFromRequests
,
opts
...
grpc
.
CallOption
)
(
*
ResponseBroadcastTxs
,
error
)
BroadcastTx
(
ctx
context
.
Context
,
in
*
BroadcastEthTxWithFromRequest
,
opts
...
grpc
.
CallOption
)
(
*
ResponseBroadcastTx
,
error
)
BroadcastLegacyTx
(
ctx
context
.
Context
,
in
*
BroadcastLegacyEthTxWithFromRequest
,
opts
...
grpc
.
CallOption
)
(
*
ResponseLegacyEthTxBroadcastTx
,
error
)
BroadcastLegacyTxs
(
ctx
context
.
Context
,
in
*
BroadcastLegacyEthTxsWithFromRequest
,
opts
...
grpc
.
CallOption
)
(
*
ResponseLegacyEthTxsBroadcastTx
,
error
)
// web3
Sha3
(
ctx
context
.
Context
,
in
*
Sha3Request
,
opts
...
grpc
.
CallOption
)
(
*
Sha3Response
,
error
)
NodeVersion
(
ctx
context
.
Context
,
in
*
emptypb
.
Empty
,
opts
...
grpc
.
CallOption
)
(
*
NodeVersionResponse
,
error
)
...
...
@@ -120,6 +122,24 @@ func (c *ringServiceClient) BroadcastTx(ctx context.Context, in *BroadcastEthTxW
return
out
,
nil
}
func
(
c
*
ringServiceClient
)
BroadcastLegacyTx
(
ctx
context
.
Context
,
in
*
BroadcastLegacyEthTxWithFromRequest
,
opts
...
grpc
.
CallOption
)
(
*
ResponseLegacyEthTxBroadcastTx
,
error
)
{
out
:=
new
(
ResponseLegacyEthTxBroadcastTx
)
err
:=
c
.
cc
.
Invoke
(
ctx
,
"/ring.v1.RingService/BroadcastLegacyTx"
,
in
,
out
,
opts
...
)
if
err
!=
nil
{
return
nil
,
err
}
return
out
,
nil
}
func
(
c
*
ringServiceClient
)
BroadcastLegacyTxs
(
ctx
context
.
Context
,
in
*
BroadcastLegacyEthTxsWithFromRequest
,
opts
...
grpc
.
CallOption
)
(
*
ResponseLegacyEthTxsBroadcastTx
,
error
)
{
out
:=
new
(
ResponseLegacyEthTxsBroadcastTx
)
err
:=
c
.
cc
.
Invoke
(
ctx
,
"/ring.v1.RingService/BroadcastLegacyTxs"
,
in
,
out
,
opts
...
)
if
err
!=
nil
{
return
nil
,
err
}
return
out
,
nil
}
func
(
c
*
ringServiceClient
)
Sha3
(
ctx
context
.
Context
,
in
*
Sha3Request
,
opts
...
grpc
.
CallOption
)
(
*
Sha3Response
,
error
)
{
out
:=
new
(
Sha3Response
)
err
:=
c
.
cc
.
Invoke
(
ctx
,
"/ring.v1.RingService/Sha3"
,
in
,
out
,
opts
...
)
...
...
@@ -548,9 +568,11 @@ func (c *ringServiceClient) Logs(ctx context.Context, in *LogsRequest, opts ...g
// for forward compatibility
type
RingServiceServer
interface
{
Ping
(
context
.
Context
,
*
RequestPing
)
(
*
ResponsePing
,
error
)
//
rpc BroadcastTx(RequestBroadcastTx) returns (ResponseBroadcastTx);
//rpc BroadcastTx(RequestBroadcastTx) returns (ResponseBroadcastTx);
BroadcastTxs
(
context
.
Context
,
*
BroadcastEthTxWithFromRequests
)
(
*
ResponseBroadcastTxs
,
error
)
BroadcastTx
(
context
.
Context
,
*
BroadcastEthTxWithFromRequest
)
(
*
ResponseBroadcastTx
,
error
)
BroadcastLegacyTx
(
context
.
Context
,
*
BroadcastLegacyEthTxWithFromRequest
)
(
*
ResponseLegacyEthTxBroadcastTx
,
error
)
BroadcastLegacyTxs
(
context
.
Context
,
*
BroadcastLegacyEthTxsWithFromRequest
)
(
*
ResponseLegacyEthTxsBroadcastTx
,
error
)
// web3
Sha3
(
context
.
Context
,
*
Sha3Request
)
(
*
Sha3Response
,
error
)
NodeVersion
(
context
.
Context
,
*
emptypb
.
Empty
)
(
*
NodeVersionResponse
,
error
)
...
...
@@ -623,6 +645,12 @@ func (UnimplementedRingServiceServer) BroadcastTxs(context.Context, *BroadcastEt
func
(
UnimplementedRingServiceServer
)
BroadcastTx
(
context
.
Context
,
*
BroadcastEthTxWithFromRequest
)
(
*
ResponseBroadcastTx
,
error
)
{
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method BroadcastTx not implemented"
)
}
func
(
UnimplementedRingServiceServer
)
BroadcastLegacyTx
(
context
.
Context
,
*
BroadcastLegacyEthTxWithFromRequest
)
(
*
ResponseLegacyEthTxBroadcastTx
,
error
)
{
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method BroadcastLegacyTx not implemented"
)
}
func
(
UnimplementedRingServiceServer
)
BroadcastLegacyTxs
(
context
.
Context
,
*
BroadcastLegacyEthTxsWithFromRequest
)
(
*
ResponseLegacyEthTxsBroadcastTx
,
error
)
{
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method BroadcastLegacyTxs not implemented"
)
}
func
(
UnimplementedRingServiceServer
)
Sha3
(
context
.
Context
,
*
Sha3Request
)
(
*
Sha3Response
,
error
)
{
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method Sha3 not implemented"
)
}
...
...
@@ -831,6 +859,42 @@ func _RingService_BroadcastTx_Handler(srv interface{}, ctx context.Context, dec
return
interceptor
(
ctx
,
in
,
info
,
handler
)
}
func
_RingService_BroadcastLegacyTx_Handler
(
srv
interface
{},
ctx
context
.
Context
,
dec
func
(
interface
{})
error
,
interceptor
grpc
.
UnaryServerInterceptor
)
(
interface
{},
error
)
{
in
:=
new
(
BroadcastLegacyEthTxWithFromRequest
)
if
err
:=
dec
(
in
);
err
!=
nil
{
return
nil
,
err
}
if
interceptor
==
nil
{
return
srv
.
(
RingServiceServer
)
.
BroadcastLegacyTx
(
ctx
,
in
)
}
info
:=
&
grpc
.
UnaryServerInfo
{
Server
:
srv
,
FullMethod
:
"/ring.v1.RingService/BroadcastLegacyTx"
,
}
handler
:=
func
(
ctx
context
.
Context
,
req
interface
{})
(
interface
{},
error
)
{
return
srv
.
(
RingServiceServer
)
.
BroadcastLegacyTx
(
ctx
,
req
.
(
*
BroadcastLegacyEthTxWithFromRequest
))
}
return
interceptor
(
ctx
,
in
,
info
,
handler
)
}
func
_RingService_BroadcastLegacyTxs_Handler
(
srv
interface
{},
ctx
context
.
Context
,
dec
func
(
interface
{})
error
,
interceptor
grpc
.
UnaryServerInterceptor
)
(
interface
{},
error
)
{
in
:=
new
(
BroadcastLegacyEthTxsWithFromRequest
)
if
err
:=
dec
(
in
);
err
!=
nil
{
return
nil
,
err
}
if
interceptor
==
nil
{
return
srv
.
(
RingServiceServer
)
.
BroadcastLegacyTxs
(
ctx
,
in
)
}
info
:=
&
grpc
.
UnaryServerInfo
{
Server
:
srv
,
FullMethod
:
"/ring.v1.RingService/BroadcastLegacyTxs"
,
}
handler
:=
func
(
ctx
context
.
Context
,
req
interface
{})
(
interface
{},
error
)
{
return
srv
.
(
RingServiceServer
)
.
BroadcastLegacyTxs
(
ctx
,
req
.
(
*
BroadcastLegacyEthTxsWithFromRequest
))
}
return
interceptor
(
ctx
,
in
,
info
,
handler
)
}
func
_RingService_Sha3_Handler
(
srv
interface
{},
ctx
context
.
Context
,
dec
func
(
interface
{})
error
,
interceptor
grpc
.
UnaryServerInterceptor
)
(
interface
{},
error
)
{
in
:=
new
(
Sha3Request
)
if
err
:=
dec
(
in
);
err
!=
nil
{
...
...
@@ -1696,6 +1760,14 @@ var RingService_ServiceDesc = grpc.ServiceDesc{
MethodName
:
"BroadcastTx"
,
Handler
:
_RingService_BroadcastTx_Handler
,
},
{
MethodName
:
"BroadcastLegacyTx"
,
Handler
:
_RingService_BroadcastLegacyTx_Handler
,
},
{
MethodName
:
"BroadcastLegacyTxs"
,
Handler
:
_RingService_BroadcastLegacyTxs_Handler
,
},
{
MethodName
:
"Sha3"
,
Handler
:
_RingService_Sha3_Handler
,
...
...
MetaProtocol-main/go.mod
View file @
d4249455
...
...
@@ -8,6 +8,13 @@ require (
google.golang.org/protobuf v1.28.1
)
require (
github.com/ghodss/yaml v1.0.0 // indirect
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b // indirect
github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
)
require (
github.com/CaduceusMetaverseProtocol/MetaTypes v1.0.0
github.com/btcsuite/btcd/btcec/v2 v2.2.0 // indirect
...
...
MetaProtocol-main/go.sum
View file @
d4249455
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 h1:fLjPD/aNc3UIOA6tDi6QXUemppXK3P9BI7mr2hd6gx8=
github.com/VictoriaMetrics/fastcache v1.6.0 h1:C/3Oi3EiBCqufydp1neRZkqcwmEiuRT9c3fqvvgKm5o=
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
github.com/btcsuite/btcd/btcec/v2 v2.2.0 h1:fzn1qaOt32TuLjFlkzYSsBC35Q3KUjT1SwPxiMSCF5k=
github.com/btcsuite/btcd/btcec/v2 v2.2.0/go.mod h1:U7MHm051Al6XmscBQ0BoNydpOTsFAn707034b5nY8zU=
github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
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/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0=
github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc=
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 h1:YLtO71vCjJRCBcrPMtQ9nqBsqpA1m5sE92cU+pd5Mcc=
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/ethereum/go-ethereum v1.10.26 h1:i/7d9RBBwiXCEuyduBQzJw/mKmnvzsN14jqBmytw72s=
github.com/ethereum/go-ethereum v1.10.26/go.mod h1:EYFyF19u3ezGLD4RqOkLq+ZCXzYbLoNDdZlMt7kyKFg=
github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/go-ole/go-ole v1.2.1 h1:2lOsA72HgjxAuMlKpFiCbHTvu44PIVkZ5hqm3RSdI/E=
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
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.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo=
github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0=
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA=
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible h1:Bn1aCHHRnjv4Bl16T8rcaFjYSrGrIZvpiGO6P3Q4GpU=
github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY=
github.com/tklauser/go-sysconf v0.3.5 h1:uu3Xl4nkLzQfXNsWn15rPc/HQCJKObbt1dKJeWp3vU4=
...
...
@@ -41,22 +67,39 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.5.0 h1:U/0M97KRkSFvyD/3FSmdP5W5swImpNgle/EHFhOsQPE=
golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.5.0 h1:GyT4nK/YDHSqa1c4753ouYCDajOYKTja9Xb/OHtgvSw=
golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
...
...
@@ -69,6 +112,10 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.6.0 h1:3XmdazWV+ubf7QgHSTWeykHOci5oeekaGJBLkrkaw4k=
golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
...
...
@@ -78,11 +125,27 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T
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=
golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df h1:5Pf6pFKu98ODmgnpvkJ3kFUOQGGLIzLIkbzUHp47618=
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-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20221205194025-8222ab48f5fc h1:nUKKji0AarrQKh6XpFEpG3p1TNztxhe7C8TcUvDgXqw=
google.golang.org/genproto v0.0.0-20221205194025-8222ab48f5fc/go.mod h1:1dOng4TWOomJrDGhpXjfCD35wQC6jnC7HpRmOFRqEV0=
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.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
google.golang.org/grpc v1.51.0 h1:E1eGv1FTqoLIdnBCZufiSHgKjlqG6fKFf6pPWtMTh8U=
google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww=
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.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w=
google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
MetaProtocol-main/nebulaapi/nebula/v1/account_req_res.proto
View file @
d4249455
...
...
@@ -133,25 +133,22 @@ message NonceResponse {
uint64
nonce
=
3
;
}
message
RepeatedNonceRequest
{
// request address
repeated
b
ase.v1.Address
address
=
1
[(
gogoproto.customtype
)
=
"github.com/CaduceusMetaverseProtocol/MetaTypes/types.Address"
]
;
repeated
b
ytes
address
=
1
;
// request block number
repeated
b
ase.v1.BigInt
block_id
=
2
[(
gogoproto.customtype
)
=
"github.com/CaduceusMetaverseProtocol/MetaTypes/types.BigInt"
]
;
repeated
b
ytes
block_id
=
2
;
}
message
RepeatedNonceResponse
{
//
request
address
repeated
b
ase.v1.Address
address
=
1
[(
gogoproto.customtype
)
=
"github.com/CaduceusMetaverseProtocol/MetaTypes/types.Address"
]
;
//
request block number
repeated
b
ase.v1.BigInt
block_id
=
2
[(
gogoproto.customtype
)
=
"github.com/CaduceusMetaverseProtocol/MetaTypes/types.BigInt"
]
;
//
the
address
repeated
b
ytes
address
=
1
;
//
block height
repeated
b
ytes
block_id
=
2
;
// nonce
repeated
uint64
nonce
=
3
;
}
message
TransactionCountRequest
{
// request address
base.v1.Address
address
=
1
[(
gogoproto.customtype
)
=
"github.com/CaduceusMetaverseProtocol/MetaTypes/types.Address"
];
...
...
MetaProtocol-main/ringapi/ring/v1/account_req_res.proto
View file @
d4249455
...
...
@@ -136,18 +136,25 @@ message NonceResponse {
message
RepeatedNonceRequest
{
// request address
repeated
base.v1.Address
address
=
1
[(
gogoproto.customtype
)
=
"github.com/CaduceusMetaverseProtocol/MetaTypes/types.Address"
];
// repeated base.v1.Address address = 1[(gogoproto.customtype) = "github.com/CaduceusMetaverseProtocol/MetaTypes/types.Address"];
//repeated bytes addresses =1;
// request block number
repeated
base.v1.BigInt
block_id
=
2
[(
gogoproto.customtype
)
=
"github.com/CaduceusMetaverseProtocol/MetaTypes/types.BigInt"
];
//repeated base.v1.BigInt block_id = 2[(gogoproto.customtype) = "github.com/CaduceusMetaverseProtocol/MetaTypes/types.BigInt"];
repeated
NonceRequest
list
=
1
;
}
message
RepeatedNonceResponse
{
// request address
repeated
base.v1.Address
address
=
1
[(
gogoproto.customtype
)
=
"github.com/CaduceusMetaverseProtocol/MetaTypes/types.Address"
];
// request block number
repeated
base.v1.BigInt
block_id
=
2
[(
gogoproto.customtype
)
=
"github.com/CaduceusMetaverseProtocol/MetaTypes/types.BigInt"
];
// nonce
repeated
uint64
nonce
=
3
;
//repeated base.v1.Address address = 1[(gogoproto.customtype) = "github.com/CaduceusMetaverseProtocol/MetaTypes/types.Address"];
// repeated bytes addresses =1;
// // request block number
// repeated base.v1.BigInt block_id = 2[(gogoproto.customtype) = "github.com/CaduceusMetaverseProtocol/MetaTypes/types.BigInt"];
// // nonce
// repeated uint64 nonce = 3;
repeated
NonceResponse
list
=
1
;
}
...
...
MetaProtocol-main/ringapi/ring/v1/service.proto
View file @
d4249455
...
...
@@ -11,18 +11,63 @@ import "base/v1/eth_tx.proto";
message
RequestBroadcastTx
{
bytes
tx
=
1
;
}
message
ResponseBroadcastTx
{
bytes
hash
=
1
;
}
message
broadcastEthTxWithFromRequest
{
base.v1.EthTransaction
ethTx
=
1
;
string
from
=
2
;
}
message
broadcastLegacyEthTxWithFromRequest
{
base.v1.EthLegacyTx
LegacyTx
=
1
;
string
from
=
2
;
}
message
ResponseLegacyEthTxBroadcastTx
{
bytes
hash
=
1
;
}
message
broadcastLegacyEthTxsWithFromRequest
{
repeated
broadcastLegacyEthTxWithFromRequest
list
=
1
;
}
message
ResponseLegacyEthTxsBroadcastTx
{
repeated
ResponseLegacyEthTxBroadcastTx
list
=
1
;
}
message
broadcastEthTxWithFromRequests
{
repeated
broadcastEthTxWithFromRequest
list
=
1
;
}
message
ResponseBroadcastTxs
{
repeated
ResponseBroadcastTx
list
=
1
;
}
service
RingService
{
rpc
Ping
(
RequestPing
)
returns
(
ResponsePing
);
//rpc BroadcastTx(RequestBroadcastTx) returns (ResponseBroadcastTx);
rpc
BroadcastTxs
(
broadcastEthTxWithFromRequests
)
returns
(
ResponseBroadcastTxs
);
rpc
BroadcastTx
(
broadcastEthTxWithFromRequest
)
returns
(
ResponseBroadcastTx
);
rpc
BroadcastLegacyTx
(
broadcastLegacyEthTxWithFromRequest
)
returns
(
ResponseLegacyEthTxBroadcastTx
);
rpc
BroadcastLegacyTxs
(
broadcastLegacyEthTxsWithFromRequest
)
returns
(
ResponseLegacyEthTxsBroadcastTx
);
// web3
rpc
Sha3
(
Sha3Request
)
returns
(
Sha3Response
)
{};
...
...
@@ -100,10 +145,3 @@ message RequestPing {}
message
ResponsePing
{}
message
RequestBroadcastTx
{
bytes
tx
=
1
;
}
message
ResponseBroadcastTx
{
bytes
hash
=
1
;
}
\ No newline at end of file
config/app.json
View file @
d4249455
...
...
@@ -2,7 +2,8 @@
"receiveAddr"
:
"0x0Fb196385c8826e3806ebA2cA2cb78B26E08fEEe"
,
"count"
:
100
,
"type"
:
1
,
"rpcNode"
:
"54.168.125.67:8545"
,
"rpcNode"
:
"54.168.125.67:5001"
,
"grpcNode"
:
"18.183.99.139:38002"
,
"amount"
:
10000000
,
"chainId"
:
100
,
"initAccountPrv"
:
"FD5CC6F5E7E2805E920AC5DC83D5AF1106F9C92F0C04F9D5E1FD4261B4B4464A"
,
...
...
main.go
View file @
d4249455
...
...
@@ -22,7 +22,7 @@ func init() {
startCmd
.
PersistentFlags
()
.
StringVar
(
&
cpuProfile
,
"cpuProfile"
,
"cpuProfile.prof"
,
"Statistics cpu profile"
)
startCmd
.
PersistentFlags
()
.
IntVar
(
&
startCount
,
"startCount"
,
0
,
"read excel start count"
)
startCmd
.
PersistentFlags
()
.
IntVar
(
&
endCount
,
"endCount"
,
100
,
"read excel end count"
)
startCmd
.
PersistentFlags
()
.
BoolVar
(
&
broadcastTxArr
,
"broadcastTxArr"
,
fals
e
,
"test grpc interface -> broadcastTxArr"
)
startCmd
.
PersistentFlags
()
.
BoolVar
(
&
broadcastTxArr
,
"broadcastTxArr"
,
tru
e
,
"test grpc interface -> broadcastTxArr"
)
startCmd
.
PersistentFlags
()
.
IntVar
(
&
txCount
,
"txCount"
,
1000
,
"send tran count"
)
startCmd
.
PersistentFlags
()
.
IntVar
(
&
goRoutineCount
,
"goRoutineCount"
,
10
,
"send tran goRoutine count"
)
startCmd
.
PersistentFlags
()
.
IntVar
(
&
batchCount
,
"batchCount"
,
100
,
"batch send tran count"
)
...
...
startTest.go
View file @
d4249455
...
...
@@ -4,13 +4,13 @@ import (
"ChainGrpcTest/log"
"ChainGrpcTest/tool"
"ChainGrpcTest/transaction"
"github.com/ethereum/go-ethereum/core/types
"
basev1
"github.com/CaduceusMetaverseProtocol/MetaProtocol/gen/proto/go/base/v1
"
"sync"
)
var
(
SendTxAccountArr
[][]
string
tranArrChan
chan
[]
*
types
.
Transaction
tranArrChan
chan
[]
*
basev1
.
MetaTxBase
)
func
init
()
{
...
...
@@ -21,7 +21,7 @@ func init() {
return
}
cfg
.
StorageAccFileName
+=
".xlsx"
tranArrChan
=
make
(
chan
[]
*
types
.
Transaction
,
10000
)
tranArrChan
=
make
(
chan
[]
*
basev1
.
MetaTxBase
,
10000
)
}
func
startTest
()
{
...
...
@@ -49,7 +49,8 @@ func startTest() {
}()
for
{
log
.
Info
(
"----------------------------------start"
)
arr
:=
transaction
.
SignedTxArr
(
syncMap
,
SendTxAccountArr
,
cfg
)
//arr := transaction.SignedTxArr(syncMap, SendTxAccountArr, cfg)
arr
:=
transaction
.
GrpcSignedTxArr
(
syncMap
,
SendTxAccountArr
,
cfg
)
log
.
Info
(
"----------------------------------end"
)
tranArrChan
<-
arr
syncMap
=
updateNonce
(
syncMap
,
cfg
)
...
...
tool/Config.go
View file @
d4249455
...
...
@@ -15,6 +15,7 @@ type Config struct {
GoRoutineCount
int
`json:"goRoutineCount"`
Type
int
`json:"type"`
RpcNode
string
`json:"rpcNode"`
GrpcNode
string
`json:"grpcNode"`
Amount
int64
`json:"amount"`
ChainId
int64
`json:"chainId"`
InitAccountPrv
string
`json:"initAccountPrv"`
...
...
transaction/bathTest.go
View file @
d4249455
...
...
@@ -3,12 +3,9 @@ package transaction
import
(
"ChainGrpcTest/log"
"ChainGrpcTest/tool"
"ChainGrpcTest/txcache"
"context"
v1
"github.com/CaduceusMetaverseProtocol/MetaProtocol/gen/proto/go/base/v1"
ring
"github.com/CaduceusMetaverseProtocol/MetaProtocol/gen/proto/go/ring/v1"
metatypes
"github.com/CaduceusMetaverseProtocol/MetaTypes/types"
"github.com/ethereum/go-ethereum/core/types"
gogotypes
"github.com/gogo/protobuf/types"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
...
...
@@ -25,7 +22,7 @@ func init() {
broadcastEthTxWithFromRequestsArr
=
make
(
chan
*
ring
.
BroadcastEthTxWithFromRequests
,
1000000
)
}
func
BroadcastTxArr
(
tranArr
[]
*
types
.
Transaction
,
cfg
*
tool
.
Config
)
error
{
func
BroadcastTxArr
(
tranArr
[]
*
v1
.
MetaTxBase
,
cfg
*
tool
.
Config
)
error
{
client
,
err
:=
grpc
.
Dial
(
cfg
.
RpcNode
,
grpc
.
WithTransportCredentials
(
insecure
.
NewCredentials
()))
if
err
!=
nil
{
return
err
...
...
@@ -44,9 +41,7 @@ func BroadcastTxArr(tranArr []*types.Transaction, cfg *tool.Config) error {
if
err
!=
nil
{
log
.
Error
(
"gogo types.MarshalAny error:"
,
err
)
}
fromAddr
,
_
:=
txcache
.
GetFromAddr
(
tranArr
[
i
]
.
Hash
()
.
Hex
())
request
:=
ring
.
BroadcastEthTxWithFromRequest
{
From
:
fromAddr
,
EthTx
:
&
v1
.
EthTransaction
{
Tx
:
ethTxAsAny
},
}
ethTxArr
=
append
(
ethTxArr
,
&
request
)
...
...
@@ -92,25 +87,17 @@ func broadcastTx(cfg *tool.Config, client ring.RingServiceClient) error {
}
}
func
constructionEthLegacyTx
(
tran
*
types
.
Transaction
)
v1
.
EthLegacyTx
{
v
,
r
,
s
:=
tran
.
RawSignatureValues
()
toAddr
:=
metatypes
.
BytesToAddress
(
tran
.
To
()
.
Bytes
())
nv
:=
metatypes
.
NewBigInt
(
0
)
nv
.
Set
(
v
)
nr
:=
metatypes
.
NewBigInt
(
0
)
nr
.
Set
(
r
)
ns
:=
metatypes
.
NewBigInt
(
0
)
ns
.
Set
(
s
)
func
constructionEthLegacyTx
(
tran
*
v1
.
MetaTxBase
)
v1
.
EthLegacyTx
{
rawTx
:=
v1
.
EthLegacyTx
{
Nonce
:
tran
.
Nonce
()
,
GasPrice
:
metatypes
.
NewBigInt
(
tran
.
GasPrice
()
.
Int64
())
,
Gas
:
tran
.
Gas
()
,
To
:
&
toAddr
,
Value
:
metatypes
.
NewBigInt
(
tran
.
Value
()
.
Int64
())
,
Data
:
tran
.
Data
()
,
V
:
nv
,
R
:
nr
,
S
:
ns
,
Nonce
:
tran
.
Nonce
,
GasPrice
:
tran
.
GasPrice
,
Gas
:
tran
.
Gas
,
To
:
tran
.
To
,
Value
:
tran
.
Value
,
Data
:
tran
.
Data
,
V
:
tran
.
V
,
R
:
tran
.
R
,
S
:
tran
.
S
,
}
return
rawTx
}
transaction/signedTx.go
View file @
d4249455
...
...
@@ -6,15 +6,16 @@ import (
"ChainGrpcTest/txcache"
"context"
"crypto/ecdsa"
ring
"github.com/CaduceusMetaverseProtocol/MetaProtocol/gen/proto/go/ring/v1"
basev1
"github.com/CaduceusMetaverseProtocol/MetaProtocol/gen/proto/go/base/v1"
crypterv1
"github.com/CaduceusMetaverseProtocol/MetaProtocol/gen/proto/go/crypter/v1"
metatypes
"github.com/CaduceusMetaverseProtocol/MetaTypes/types"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/crypto"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
"math/big"
"net"
"strconv"
"strings"
"sync"
"sync/atomic"
...
...
@@ -41,11 +42,20 @@ type SignTranArr struct {
mux
sync
.
RWMutex
}
type
GrpcSignTranArr
struct
{
TranArr
[]
*
basev1
.
MetaTxBase
mux
sync
.
RWMutex
}
var
(
tran
=
make
(
chan
*
Transactor
,
0
)
grpcTran
=
make
(
chan
*
crypterv1
.
BatchSignTxRequest
,
0
)
signTranArr
=
&
SignTranArr
{
TranArr
:
make
([]
*
types
.
Transaction
,
0
),
}
grpcSignTranArr
=
&
GrpcSignTranArr
{
TranArr
:
make
([]
*
basev1
.
MetaTxBase
,
0
),
}
batchSignCount
,
handleNonceCount
int32
)
...
...
@@ -97,26 +107,26 @@ func InitAccNonce(sendTxAccountArr [][]string, cfg *tool.Config) (error, sync.Ma
return
err
,
sync
.
Map
{}
}
defer
client
.
Close
()
serviceClient
:=
ring
.
NewRingServiceClient
(
client
)
//
serviceClient := ring.NewRingServiceClient(client)
for
i
:=
0
;
i
<
cfg
.
GoRoutineCount
;
i
++
{
go
func
()
{
for
{
select
{
case
sendTxAccount
:=
<-
rowsCh
:
addressRow
:=
sendTxAccount
[
0
]
//
addressRow := sendTxAccount[0]
privateKey
:=
sendTxAccount
[
1
]
fromAddr
:=
metatypes
.
HexToAddress
(
addressRow
)
nonceReq
:=
&
ring
.
NonceRequest
{
Address
:
(
*
metatypes
.
Address
)(
fromAddr
.
Bytes
()),
}
ctx
,
cancel
:=
context
.
WithTimeout
(
context
.
Background
(),
time
.
Second
*
20
)
defer
cancel
()
response
,
err
:=
serviceClient
.
Nonce
(
ctx
,
nonceReq
)
//
fromAddr := metatypes.HexToAddress(addressRow)
//
nonceReq := &ring.NonceRequest{
//
Address: (*metatypes.Address)(fromAddr.Bytes()),
//
}
//
ctx, cancel := context.WithTimeout(context.Background(), time.Second*20)
//
defer cancel()
//
response, err := serviceClient.Nonce(ctx, nonceReq)
if
err
!=
nil
{
log
.
Error
(
"get account nonce error:"
,
err
)
}
intNum
,
_
:=
strconv
.
Atoi
(
strconv
.
FormatUint
(
response
.
Nonce
,
10
))
accountsNonceMap
.
Store
(
privateKey
,
intNum
)
//
intNum, _ := strconv.Atoi(strconv.FormatUint(response.Nonce, 10))
accountsNonceMap
.
Store
(
privateKey
,
0
)
atomic
.
AddInt32
(
&
handleNonceCount
,
1
)
}
}
...
...
@@ -206,6 +216,92 @@ func signedTxFunc() (*types.Transaction, error) {
}
}
// GrpcSignedTxArr 获取全部签名数据
func
GrpcSignedTxArr
(
syncMap
sync
.
Map
,
sendTxAccountArr
[][]
string
,
cfg
*
tool
.
Config
)
[]
*
basev1
.
MetaTxBase
{
client
,
err
:=
grpc
.
Dial
(
cfg
.
GrpcNode
,
grpc
.
WithTransportCredentials
(
insecure
.
NewCredentials
()))
if
err
!=
nil
{
log
.
Error
(
"dial nebula failed"
,
"err"
,
err
)
}
serviceClient
:=
crypterv1
.
NewCrypterServiceClient
(
client
)
for
i
:=
0
;
i
<
cfg
.
GoRoutineCount
;
i
++
{
go
grpcSignedTxFunc
(
serviceClient
)
}
for
_
,
rows
:=
range
sendTxAccountArr
{
fromAddr
:=
rows
[
0
]
privateKey
:=
rows
[
1
]
value
,
ok
:=
syncMap
.
Load
(
privateKey
)
if
!
ok
{
log
.
Error
(
"Load nonce map error..........."
)
continue
}
nonce
:=
new
(
big
.
Int
)
.
SetInt64
(
int64
(
value
.
(
int
)))
log
.
Infof
(
"from addr:%s,nonce:%d"
,
fromAddr
,
nonce
)
rawTxArr
:=
make
([]
*
basev1
.
MetaTxBase
,
0
)
prv
,
err
:=
crypto
.
HexToECDSA
(
privateKey
)
if
err
!=
nil
{
return
nil
}
for
signCount
:=
0
;
signCount
<
cfg
.
SignCount
;
signCount
++
{
toAddress
:=
metatypes
.
HexToAddress
(
cfg
.
ReceiveAddr
)
base
:=
&
basev1
.
MetaTxBase
{
ChainId
:
metatypes
.
NewBigInt
(
cfg
.
ChainId
),
Nonce
:
nonce
.
Uint64
(),
GasPrice
:
metatypes
.
NewBigInt
(
1000000001
),
Gas
:
metatypes
.
NewBigInt
(
300000
)
.
Uint64
(),
To
:
&
toAddress
,
Value
:
metatypes
.
NewBigInt
(
cfg
.
Amount
),
Data
:
nil
,
}
rawTxArr
=
append
(
rawTxArr
,
base
)
if
err
!=
nil
{
log
.
Errorf
(
"signed tx error %s "
,
err
)
continue
}
nonce
=
big
.
NewInt
(
1
)
.
Add
(
nonce
,
big
.
NewInt
(
1
))
}
requestMetaTx
:=
crypterv1
.
BatchSignTxRequest
{
RawTx
:
rawTxArr
,
Private
:
prv
.
D
.
Bytes
(),
}
grpcTran
<-
&
requestMetaTx
}
for
{
if
len
(
sendTxAccountArr
)
*
cfg
.
SignCount
==
int
(
batchSignCount
)
&&
len
(
grpcSignTranArr
.
TranArr
)
==
len
(
sendTxAccountArr
)
*
cfg
.
SignCount
{
batchSignCount
=
0
newTranArr
:=
make
([]
*
basev1
.
MetaTxBase
,
0
)
for
_
,
tran
:=
range
grpcSignTranArr
.
TranArr
{
newTranArr
=
append
(
newTranArr
,
tran
)
}
grpcSignTranArr
.
TranArr
=
make
([]
*
basev1
.
MetaTxBase
,
0
)
return
newTranArr
}
}
}
// grpcSignedTxFunc 签名本币转账交易
func
grpcSignedTxFunc
(
client
crypterv1
.
CrypterServiceClient
)
(
*
types
.
Transaction
,
error
)
{
for
{
select
{
case
t
:=
<-
grpcTran
:
tx
,
err
:=
client
.
BatchSignTx
(
context
.
Background
(),
t
)
if
err
!=
nil
{
return
nil
,
err
}
AddGrpcTran
(
tx
.
GetSignedTx
())
}
}
}
func
AddGrpcTran
(
grpcSignTx
[]
*
basev1
.
MetaTxBase
)
{
grpcSignTranArr
.
mux
.
Lock
()
defer
grpcSignTranArr
.
mux
.
Unlock
()
for
_
,
txBase
:=
range
grpcSignTx
{
grpcSignTranArr
.
TranArr
=
append
(
grpcSignTranArr
.
TranArr
,
txBase
)
atomic
.
AddInt32
(
&
batchSignCount
,
1
)
}
}
func
Add
(
signedTx
*
types
.
Transaction
)
{
signTranArr
.
mux
.
Lock
()
defer
signTranArr
.
mux
.
Unlock
()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment