Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
plugin
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
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
link33
plugin
Commits
15672d56
Commit
15672d56
authored
Nov 11, 2021
by
hezhengjun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add more check for mint
parent
de15b6e6
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
416 additions
and
187 deletions
+416
-187
dockerRelayerTestEvm.sh
plugin/dapp/bridgevmxgo/cmd/build/dockerRelayerTestEvm.sh
+16
-0
api.go
plugin/dapp/evm/executor/abi/api.go
+49
-0
query_test.go
plugin/dapp/evm/executor/query_test.go
+40
-0
evmxgo.go
plugin/dapp/evmxgo/executor/evmxgo.go
+3
-3
evmxgodb.go
plugin/dapp/evmxgo/executor/evmxgodb.go
+1
-1
parse.go
plugin/dapp/evmxgo/executor/parse.go
+59
-4
evmxgo.proto
plugin/dapp/evmxgo/proto/evmxgo.proto
+8
-3
evmxgo.pb.go
plugin/dapp/evmxgo/types/evmxgo.pb.go
+240
-176
No files found.
plugin/dapp/bridgevmxgo/cmd/build/dockerRelayerTestEvm.sh
View file @
15672d56
...
...
@@ -802,6 +802,21 @@ function updateConfig() {
check_tx
"
${
Chain33Cli
}
"
"
${
hash
}
"
}
function
configbridgevmxgoAddr
()
{
local
bridgevmxgoAddr
=
$1
tx
=
$(
curl
-s
--data-binary
'{"jsonrpc":"2.0","id":2,"method":"Chain33.CreateTransaction","params":[{"execer":"manage","actionName":"Modify","payload":{"key":"bridgevmxgo-contract-addr","value":"{\"address\":\"'
"
${
bridgevmxgoAddr
}
"
'\"}","op":"add","addr":""}}]}'
-H
'content-type:text/plain;'
"http://127.0.0.1:8901"
| jq
-r
".result"
)
if
[
"
${
tx
}
"
==
""
]
;
then
echo
-e
"
${
RED
}
update config create tx 1
${
NOC
}
"
exit
1
fi
sign
=
$(${
Chain33Cli
}
wallet sign
-k
"
$chain33ReceiverAddrKey
"
-d
"
${
tx
}
"
)
hash
=
$(${
Chain33Cli
}
wallet send
-d
"
${
sign
}
"
)
check_tx
"
${
Chain33Cli
}
"
"
${
hash
}
"
}
function
TestETH2EVMToChain33
()
{
# 查询 ETH 这端 bridgeBank 地址原来是 0
result
=
$(${
CLIA
}
ethereum balance
-o
"
${
ethBridgeBank
}
"
)
...
...
@@ -826,6 +841,7 @@ function TestETH2EVMToChain33() {
# is_equal "${result}" "4700000000"
updateConfig
"ETH"
"
${
chain33EthBridgeTokenAddr
}
"
configbridgevmxgoAddr
"
${
XgoChain33BridgeBank
}
"
${
EvmxgoBoss4xCLI
}
chain33 offline approve_erc20
-a
330000000000
-s
"
${
XgoChain33BridgeBank
}
"
-c
"
${
chain33EthBridgeTokenAddr
}
"
-k
"
${
chain33ReceiverAddrKey
}
"
-f
1
--chainID
"
${
chain33ID
}
"
chain33_offline_send_evm
"approve_erc20.txt"
...
...
plugin/dapp/evm/executor/abi/api.go
View file @
15672d56
package
abi
import
(
"bytes"
"errors"
"fmt"
"math/big"
...
...
@@ -153,6 +154,54 @@ func Unpack(data []byte, methodName, abiData string) (output []*Param, err error
return
}
func
UnpackInput
(
data
[]
byte
,
methodName
,
abiData
string
)
(
output
[]
*
Param
,
err
error
)
{
if
len
(
data
)
<=
4
{
log
.
Info
(
"UnpackInput"
,
"Data len is not correct"
,
len
(
data
),
"methodName"
,
methodName
)
return
output
,
err
}
// 解析ABI数据结构,获取本次调用的方法对象
abi
,
err
:=
JSON
(
strings
.
NewReader
(
abiData
))
if
err
!=
nil
{
return
output
,
err
}
var
method
Method
var
ok
bool
if
method
,
ok
=
abi
.
Methods
[
methodName
];
!
ok
{
return
output
,
fmt
.
Errorf
(
"function %v not exists"
,
methodName
)
}
if
bytes
.
Compare
(
method
.
ID
,
data
[
:
4
])
!=
0
{
log
.
Info
(
"UnpackInput"
,
"methodID is not consistent method.ID"
,
common
.
Bytes2Hex
(
method
.
ID
),
"data[:4]"
,
common
.
Bytes2Hex
(
data
[
:
4
]))
return
output
,
errors
.
New
(
"Not consistent method"
)
}
if
method
.
Inputs
.
LengthNonIndexed
()
==
0
{
return
output
,
err
}
values
,
err
:=
method
.
Inputs
.
UnpackValues
(
data
[
4
:
])
if
err
!=
nil
{
return
output
,
err
}
output
=
[]
*
Param
{}
for
i
,
v
:=
range
values
{
arg
:=
method
.
Inputs
[
i
]
pval
:=
&
Param
{
Name
:
arg
.
Name
,
Type
:
arg
.
Type
.
String
(),
Value
:
v
}
if
arg
.
Type
.
String
()
==
"address"
{
pval
.
Value
=
v
.
(
common
.
Hash160Address
)
.
ToAddress
()
.
String
()
log
.
Info
(
"Unpack address"
,
"address"
,
pval
.
Value
)
}
output
=
append
(
output
,
pval
)
}
return
}
func
UnpackOutputOrEvent
(
data
[]
byte
,
name
,
abiData
string
)
(
output
[]
*
Param
,
err
error
)
{
if
len
(
data
)
==
0
{
log
.
Info
(
"Unpack"
,
"Data len"
,
0
,
"name"
,
name
)
...
...
plugin/dapp/evm/executor/query_test.go
View file @
15672d56
...
...
@@ -2,6 +2,7 @@ package executor
import
(
"fmt"
"math/big"
"testing"
"github.com/33cn/chain33/common"
...
...
@@ -83,3 +84,42 @@ func Test_UnpackEventLockOfBridgevmxgo(t *testing.T) {
fmt
.
Println
(
i
,
"th info = "
,
info
)
}
}
//'lock(1BCGLhdcdthNutQowV2YShuuN9fJRRGLxu, 195ycckxqnxyaQeLYTQvgETr1vsEp4NYmP, 500000000)'
//"7750c9f0": "lock(address,address,uint256)",
func
Test_UnpackInputLockOfBridgevmxgo
(
t
*
testing
.
T
)
{
methodName
,
packDataOrigin
,
err
:=
evmAbi
.
Pack
(
"lock(1BCGLhdcdthNutQowV2YShuuN9fJRRGLxu, 195ycckxqnxyaQeLYTQvgETr1vsEp4NYmP, 500000000)"
,
BridgeBankABIBridgevmxgo
,
false
)
assert
.
Equal
(
t
,
nil
,
err
)
fmt
.
Println
(
"methodName"
,
methodName
)
fmt
.
Println
(
"packDataOrigin"
,
common
.
ToHex
(
packDataOrigin
))
//event TransferToken(address owner, address to, uint256 tokenId, uint256 amount);
packData
,
err
:=
common
.
FromHex
(
"0x7750c9f00000000000000000000000006fd2a3693c289b6c3c211f5d2f85ce145d1afaeb00000000000000000000000058b1edde0fc37c0f7f4a23d1c2df488ec5df0fe1000000000000000000000000000000000000000000000000000000001dcd6500"
)
//7750c9f0
//0000000000000000000000006fd2a3693c289b6c3c211f5d2f85ce145d1afaeb
//00000000000000000000000058b1edde0fc37c0f7f4a23d1c2df488ec5df0fe1
//000000000000000000000000000000000000000000000000000000001dcd6500
assert
.
Equal
(
t
,
nil
,
err
)
outputs
,
err
:=
evmAbi
.
UnpackInput
(
packData
,
"lock"
,
BridgeBankABIBridgevmxgo
)
assert
.
Equal
(
t
,
nil
,
err
)
for
i
,
info
:=
range
outputs
{
fmt
.
Println
(
i
,
"th info = "
,
info
)
}
correct
:=
0
for
_
,
para
:=
range
outputs
{
switch
para
.
Name
{
case
"_recipient"
:
assert
.
Equal
(
t
,
para
.
Value
,
"1BCGLhdcdthNutQowV2YShuuN9fJRRGLxu"
)
correct
++
case
"_amount"
:
assert
.
Equal
(
t
,
para
.
Value
.
(
*
big
.
Int
)
.
Int64
(),
int64
(
500000000
))
correct
++
case
"_token"
:
assert
.
Equal
(
t
,
para
.
Value
,
"195ycckxqnxyaQeLYTQvgETr1vsEp4NYmP"
)
correct
++
}
}
assert
.
Equal
(
t
,
correct
,
3
)
}
plugin/dapp/evmxgo/executor/evmxgo.go
View file @
15672d56
...
...
@@ -15,8 +15,9 @@ import (
*/
const
(
mintPrefix
=
"evmxgo-mint-"
evmxgoAssetsPrefix
=
"LODB-evmxgo-assets:"
mintPrefix
=
"evmxgo-mint-"
evmxgoAssetsPrefix
=
"LODB-evmxgo-assets:"
bridgevmxgoAddrPrefix
=
"bridgevmxgo-contract-addr"
)
var
(
...
...
@@ -199,4 +200,3 @@ func (e *evmxgo) getBalance(req *types.ReqBalance) ([]*types.Account, error) {
return
accounts
,
nil
}
}
plugin/dapp/evmxgo/executor/evmxgodb.go
View file @
15672d56
...
...
@@ -256,7 +256,7 @@ func (action *evmxgoAction) mint(mint *evmxgotypes.EvmxgoMint, tx2lock *types.Tr
return
nil
,
types
.
ErrInvalidParam
}
cfg
:=
action
.
api
.
GetConfig
()
if
err
:=
checkMintPara
(
mint
,
tx2lock
);
nil
!=
err
{
if
err
:=
checkMintPara
(
mint
,
tx2lock
,
action
.
db
);
nil
!=
err
{
return
nil
,
err
}
...
...
plugin/dapp/evmxgo/executor/parse.go
View file @
15672d56
package
executor
import
(
"encoding/json"
"errors"
"math/big"
dbm
"github.com/33cn/chain33/common/db"
"github.com/33cn/chain33/types"
bridgevmxgo
"github.com/33cn/plugin/plugin/dapp/bridgevmxgo/contracts/generated"
...
...
@@ -16,32 +20,83 @@ const (
//solidity interface: function lock(address _recipient, address _token, uint256 _amount)
//铸币交易的接收人必须与发起lock交易时填写的接收地址一致
func
checkMintPara
(
mint
*
evmxgotypes
.
EvmxgoMint
,
tx2lock
*
types
.
Transaction
)
error
{
func
checkMintPara
(
mint
*
evmxgotypes
.
EvmxgoMint
,
tx2lock
*
types
.
Transaction
,
db
dbm
.
KV
)
error
{
bridgevmxgoConfig
,
err
:=
loadBridgevmxgoAddr
(
db
)
if
nil
!=
err
{
return
err
}
var
action
evmtypes
.
EVMContractAction
if
err
:=
types
.
Decode
(
tx2lock
.
Payload
,
&
action
);
nil
!=
err
{
return
err
}
//确认合约地址的正确性
if
action
.
ContractAddr
!=
bridgevmxgoConfig
.
Address
{
return
errors
.
New
(
"Not consistent bridgevmxgo address configured by manager"
)
}
unpack
,
err
:=
chain33Abi
.
Unpack
(
action
.
Para
,
LockMethod
,
bridgevmxgo
.
BridgeBankABI
)
unpack
,
err
:=
chain33Abi
.
Unpack
Input
(
action
.
Para
,
LockMethod
,
bridgevmxgo
.
BridgeBankABI
)
if
err
!=
nil
{
return
err
}
correct
:=
0
for
_
,
para
:=
range
unpack
{
switch
para
.
Name
{
case
"_recipient"
:
if
mint
.
Recipient
!=
para
.
Value
{
return
errors
.
New
(
"Not consitent recipient address"
)
}
correct
++
case
"_amount"
:
if
mint
.
Amount
!=
para
.
Value
{
if
mint
.
Amount
!=
para
.
Value
.
(
*
big
.
Int
)
.
Int64
()
{
return
errors
.
New
(
"Not consitent Amount"
)
}
correct
++
case
"_token"
:
if
mint
.
BridgeToken
!=
para
.
Value
{
return
errors
.
New
(
"Not consitent token Address"
)
}
correct
++
}
}
if
correct
!=
3
{
return
errors
.
New
(
"not check all the points: _recipient, _amount, _token"
)
}
return
nil
}
func
loadBridgevmxgoAddr
(
db
dbm
.
KV
)
(
*
evmxgotypes
.
BridgevmxgoConfig
,
error
)
{
key
:=
bridgevmxgoAddrPrefix
value
,
err
:=
getManageKey
(
key
,
db
)
if
err
!=
nil
{
elog
.
Info
(
"loadBridgevmxgoAddr"
,
"get db key"
,
"not found"
,
"key"
,
key
)
return
nil
,
err
}
if
value
==
nil
{
elog
.
Info
(
"loadBridgevmxgoAddr"
,
"get db key"
,
" found nil value"
,
"key"
,
key
)
return
nil
,
nil
}
elog
.
Info
(
"loadBridgevmxgoAddr"
,
"value"
,
string
(
value
))
var
item
types
.
ConfigItem
err
=
types
.
Decode
(
value
,
&
item
)
if
err
!=
nil
{
elog
.
Error
(
"loadBridgevmxgoAddr load loadEvmxgoMintConfig"
,
"Can't decode ConfigItem due to"
,
err
.
Error
())
return
nil
,
err
// types.ErrBadConfigValue
}
configValue
:=
item
.
GetArr
()
.
Value
if
len
(
configValue
)
<=
0
{
return
nil
,
evmxgotypes
.
ErrEvmxgoSymbolNotConfigValue
}
var
e
evmxgotypes
.
BridgevmxgoConfig
err
=
json
.
Unmarshal
([]
byte
(
configValue
[
0
]),
&
e
)
if
err
!=
nil
{
elog
.
Error
(
"loadBridgevmxgoAddr load"
,
"Can't decode token info due to:"
,
err
.
Error
())
return
nil
,
err
}
return
&
e
,
nil
}
plugin/dapp/evmxgo/proto/evmxgo.proto
View file @
15672d56
...
...
@@ -39,9 +39,14 @@ message Evmxgo {
// config mint synbol
message
EvmxgoMintConfig
{
string
address
=
1
;
int32
precision
=
2
;
string
introduction
=
3
;
string
address
=
1
;
int32
precision
=
2
;
string
introduction
=
3
;
}
// config bridgevmxgo contract address
message
BridgevmxgoConfig
{
string
address
=
1
;
}
// log
...
...
plugin/dapp/evmxgo/types/evmxgo.pb.go
View file @
15672d56
...
...
@@ -413,6 +413,54 @@ func (x *EvmxgoMintConfig) GetIntroduction() string {
return
""
}
// config bridgevmxgo contract address
type
BridgevmxgoConfig
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Address
string
`protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
}
func
(
x
*
BridgevmxgoConfig
)
Reset
()
{
*
x
=
BridgevmxgoConfig
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
5
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
BridgevmxgoConfig
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
BridgevmxgoConfig
)
ProtoMessage
()
{}
func
(
x
*
BridgevmxgoConfig
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
5
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use BridgevmxgoConfig.ProtoReflect.Descriptor instead.
func
(
*
BridgevmxgoConfig
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
5
}
}
func
(
x
*
BridgevmxgoConfig
)
GetAddress
()
string
{
if
x
!=
nil
{
return
x
.
Address
}
return
""
}
// log
type
ReceiptEvmxgo
struct
{
state
protoimpl
.
MessageState
...
...
@@ -425,7 +473,7 @@ type ReceiptEvmxgo struct {
func
(
x
*
ReceiptEvmxgo
)
Reset
()
{
*
x
=
ReceiptEvmxgo
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
5
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
6
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
...
...
@@ -438,7 +486,7 @@ func (x *ReceiptEvmxgo) String() string {
func
(
*
ReceiptEvmxgo
)
ProtoMessage
()
{}
func
(
x
*
ReceiptEvmxgo
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
5
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
6
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
...
...
@@ -451,7 +499,7 @@ func (x *ReceiptEvmxgo) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReceiptEvmxgo.ProtoReflect.Descriptor instead.
func
(
*
ReceiptEvmxgo
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
5
}
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
6
}
}
func
(
x
*
ReceiptEvmxgo
)
GetSymbol
()
string
{
...
...
@@ -473,7 +521,7 @@ type ReceiptEvmxgoAmount struct {
func
(
x
*
ReceiptEvmxgoAmount
)
Reset
()
{
*
x
=
ReceiptEvmxgoAmount
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
6
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
7
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
...
...
@@ -486,7 +534,7 @@ func (x *ReceiptEvmxgoAmount) String() string {
func
(
*
ReceiptEvmxgoAmount
)
ProtoMessage
()
{}
func
(
x
*
ReceiptEvmxgoAmount
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
6
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
7
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
...
...
@@ -499,7 +547,7 @@ func (x *ReceiptEvmxgoAmount) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReceiptEvmxgoAmount.ProtoReflect.Descriptor instead.
func
(
*
ReceiptEvmxgoAmount
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
6
}
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
7
}
}
func
(
x
*
ReceiptEvmxgoAmount
)
GetPrev
()
*
Evmxgo
{
...
...
@@ -531,7 +579,7 @@ type LocalEvmxgo struct {
func
(
x
*
LocalEvmxgo
)
Reset
()
{
*
x
=
LocalEvmxgo
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
7
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
8
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
...
...
@@ -544,7 +592,7 @@ func (x *LocalEvmxgo) String() string {
func
(
*
LocalEvmxgo
)
ProtoMessage
()
{}
func
(
x
*
LocalEvmxgo
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
7
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
8
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
...
...
@@ -557,7 +605,7 @@ func (x *LocalEvmxgo) ProtoReflect() protoreflect.Message {
// Deprecated: Use LocalEvmxgo.ProtoReflect.Descriptor instead.
func
(
*
LocalEvmxgo
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
7
}
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
8
}
}
func
(
x
*
LocalEvmxgo
)
GetSymbol
()
string
{
...
...
@@ -602,7 +650,7 @@ type LocalEvmxgoLogs struct {
func
(
x
*
LocalEvmxgoLogs
)
Reset
()
{
*
x
=
LocalEvmxgoLogs
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
8
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
9
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
...
...
@@ -615,7 +663,7 @@ func (x *LocalEvmxgoLogs) String() string {
func
(
*
LocalEvmxgoLogs
)
ProtoMessage
()
{}
func
(
x
*
LocalEvmxgoLogs
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
8
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
9
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
...
...
@@ -628,7 +676,7 @@ func (x *LocalEvmxgoLogs) ProtoReflect() protoreflect.Message {
// Deprecated: Use LocalEvmxgoLogs.ProtoReflect.Descriptor instead.
func
(
*
LocalEvmxgoLogs
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
8
}
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
9
}
}
func
(
x
*
LocalEvmxgoLogs
)
GetSymbol
()
string
{
...
...
@@ -672,7 +720,7 @@ type ReqEvmxgos struct {
func
(
x
*
ReqEvmxgos
)
Reset
()
{
*
x
=
ReqEvmxgos
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
9
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
10
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
...
...
@@ -685,7 +733,7 @@ func (x *ReqEvmxgos) String() string {
func
(
*
ReqEvmxgos
)
ProtoMessage
()
{}
func
(
x
*
ReqEvmxgos
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
9
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
10
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
...
...
@@ -698,7 +746,7 @@ func (x *ReqEvmxgos) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReqEvmxgos.ProtoReflect.Descriptor instead.
func
(
*
ReqEvmxgos
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
9
}
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
10
}
}
func
(
x
*
ReqEvmxgos
)
GetQueryAll
()
bool
{
...
...
@@ -726,7 +774,7 @@ type ReplyEvmxgos struct {
func
(
x
*
ReplyEvmxgos
)
Reset
()
{
*
x
=
ReplyEvmxgos
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
0
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
1
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
...
...
@@ -739,7 +787,7 @@ func (x *ReplyEvmxgos) String() string {
func
(
*
ReplyEvmxgos
)
ProtoMessage
()
{}
func
(
x
*
ReplyEvmxgos
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
0
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
1
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
...
...
@@ -752,7 +800,7 @@ func (x *ReplyEvmxgos) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReplyEvmxgos.ProtoReflect.Descriptor instead.
func
(
*
ReplyEvmxgos
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
1
0
}
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
1
1
}
}
func
(
x
*
ReplyEvmxgos
)
GetTokens
()
[]
*
LocalEvmxgo
{
...
...
@@ -774,7 +822,7 @@ type EvmxgoRecv struct {
func
(
x
*
EvmxgoRecv
)
Reset
()
{
*
x
=
EvmxgoRecv
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
1
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
2
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
...
...
@@ -787,7 +835,7 @@ func (x *EvmxgoRecv) String() string {
func
(
*
EvmxgoRecv
)
ProtoMessage
()
{}
func
(
x
*
EvmxgoRecv
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
1
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
2
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
...
...
@@ -800,7 +848,7 @@ func (x *EvmxgoRecv) ProtoReflect() protoreflect.Message {
// Deprecated: Use EvmxgoRecv.ProtoReflect.Descriptor instead.
func
(
*
EvmxgoRecv
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
1
1
}
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
1
2
}
}
func
(
x
*
EvmxgoRecv
)
GetEvmxgo
()
string
{
...
...
@@ -828,7 +876,7 @@ type ReplyAddrRecvForEvmxgos struct {
func
(
x
*
ReplyAddrRecvForEvmxgos
)
Reset
()
{
*
x
=
ReplyAddrRecvForEvmxgos
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
2
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
3
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
...
...
@@ -841,7 +889,7 @@ func (x *ReplyAddrRecvForEvmxgos) String() string {
func
(
*
ReplyAddrRecvForEvmxgos
)
ProtoMessage
()
{}
func
(
x
*
ReplyAddrRecvForEvmxgos
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
2
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
3
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
...
...
@@ -854,7 +902,7 @@ func (x *ReplyAddrRecvForEvmxgos) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReplyAddrRecvForEvmxgos.ProtoReflect.Descriptor instead.
func
(
*
ReplyAddrRecvForEvmxgos
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
1
2
}
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
1
3
}
}
func
(
x
*
ReplyAddrRecvForEvmxgos
)
GetEvmxgoRecvs
()
[]
*
EvmxgoRecv
{
...
...
@@ -875,7 +923,7 @@ type ReplyAccounts struct {
func
(
x
*
ReplyAccounts
)
Reset
()
{
*
x
=
ReplyAccounts
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
3
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
4
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
...
...
@@ -888,7 +936,7 @@ func (x *ReplyAccounts) String() string {
func
(
*
ReplyAccounts
)
ProtoMessage
()
{}
func
(
x
*
ReplyAccounts
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
3
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
4
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
...
...
@@ -901,7 +949,7 @@ func (x *ReplyAccounts) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReplyAccounts.ProtoReflect.Descriptor instead.
func
(
*
ReplyAccounts
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
1
3
}
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
1
4
}
}
func
(
x
*
ReplyAccounts
)
GetAccounts
()
[]
*
types
.
Account
{
...
...
@@ -923,7 +971,7 @@ type ReqAccountEvmxgoAssets struct {
func
(
x
*
ReqAccountEvmxgoAssets
)
Reset
()
{
*
x
=
ReqAccountEvmxgoAssets
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
4
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
5
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
...
...
@@ -936,7 +984,7 @@ func (x *ReqAccountEvmxgoAssets) String() string {
func
(
*
ReqAccountEvmxgoAssets
)
ProtoMessage
()
{}
func
(
x
*
ReqAccountEvmxgoAssets
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
4
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
5
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
...
...
@@ -949,7 +997,7 @@ func (x *ReqAccountEvmxgoAssets) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReqAccountEvmxgoAssets.ProtoReflect.Descriptor instead.
func
(
*
ReqAccountEvmxgoAssets
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
1
4
}
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
1
5
}
}
func
(
x
*
ReqAccountEvmxgoAssets
)
GetAddress
()
string
{
...
...
@@ -978,7 +1026,7 @@ type EvmxgoAsset struct {
func
(
x
*
EvmxgoAsset
)
Reset
()
{
*
x
=
EvmxgoAsset
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
5
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
6
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
...
...
@@ -991,7 +1039,7 @@ func (x *EvmxgoAsset) String() string {
func
(
*
EvmxgoAsset
)
ProtoMessage
()
{}
func
(
x
*
EvmxgoAsset
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
5
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
6
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
...
...
@@ -1004,7 +1052,7 @@ func (x *EvmxgoAsset) ProtoReflect() protoreflect.Message {
// Deprecated: Use EvmxgoAsset.ProtoReflect.Descriptor instead.
func
(
*
EvmxgoAsset
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
1
5
}
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
1
6
}
}
func
(
x
*
EvmxgoAsset
)
GetSymbol
()
string
{
...
...
@@ -1032,7 +1080,7 @@ type ReplyAccountEvmxgoAssets struct {
func
(
x
*
ReplyAccountEvmxgoAssets
)
Reset
()
{
*
x
=
ReplyAccountEvmxgoAssets
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
6
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
7
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
...
...
@@ -1045,7 +1093,7 @@ func (x *ReplyAccountEvmxgoAssets) String() string {
func
(
*
ReplyAccountEvmxgoAssets
)
ProtoMessage
()
{}
func
(
x
*
ReplyAccountEvmxgoAssets
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
6
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
7
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
...
...
@@ -1058,7 +1106,7 @@ func (x *ReplyAccountEvmxgoAssets) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReplyAccountEvmxgoAssets.ProtoReflect.Descriptor instead.
func
(
*
ReplyAccountEvmxgoAssets
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
1
6
}
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
1
7
}
}
func
(
x
*
ReplyAccountEvmxgoAssets
)
GetEvmxgoAssets
()
[]
*
EvmxgoAsset
{
...
...
@@ -1084,7 +1132,7 @@ type ReqAddrEvmxgos struct {
func
(
x
*
ReqAddrEvmxgos
)
Reset
()
{
*
x
=
ReqAddrEvmxgos
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
7
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
8
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
...
...
@@ -1097,7 +1145,7 @@ func (x *ReqAddrEvmxgos) String() string {
func
(
*
ReqAddrEvmxgos
)
ProtoMessage
()
{}
func
(
x
*
ReqAddrEvmxgos
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
7
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
8
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
...
...
@@ -1110,7 +1158,7 @@ func (x *ReqAddrEvmxgos) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReqAddrEvmxgos.ProtoReflect.Descriptor instead.
func
(
*
ReqAddrEvmxgos
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
1
7
}
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
1
8
}
}
func
(
x
*
ReqAddrEvmxgos
)
GetAddr
()
string
{
...
...
@@ -1173,7 +1221,7 @@ type ReqEvmxgoTx struct {
func
(
x
*
ReqEvmxgoTx
)
Reset
()
{
*
x
=
ReqEvmxgoTx
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
8
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
9
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
...
...
@@ -1186,7 +1234,7 @@ func (x *ReqEvmxgoTx) String() string {
func
(
*
ReqEvmxgoTx
)
ProtoMessage
()
{}
func
(
x
*
ReqEvmxgoTx
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
8
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
1
9
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
...
...
@@ -1199,7 +1247,7 @@ func (x *ReqEvmxgoTx) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReqEvmxgoTx.ProtoReflect.Descriptor instead.
func
(
*
ReqEvmxgoTx
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
1
8
}
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
1
9
}
}
func
(
x
*
ReqEvmxgoTx
)
GetSymbol
()
string
{
...
...
@@ -1262,7 +1310,7 @@ type ReplyEvmxgoLogs struct {
func
(
x
*
ReplyEvmxgoLogs
)
Reset
()
{
*
x
=
ReplyEvmxgoLogs
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
19
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
20
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
...
...
@@ -1275,7 +1323,7 @@ func (x *ReplyEvmxgoLogs) String() string {
func
(
*
ReplyEvmxgoLogs
)
ProtoMessage
()
{}
func
(
x
*
ReplyEvmxgoLogs
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_evmxgo_proto_msgTypes
[
19
]
mi
:=
&
file_evmxgo_proto_msgTypes
[
20
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
...
...
@@ -1288,7 +1336,7 @@ func (x *ReplyEvmxgoLogs) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReplyEvmxgoLogs.ProtoReflect.Descriptor instead.
func
(
*
ReplyEvmxgoLogs
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
19
}
return
file_evmxgo_proto_rawDescGZIP
(),
[]
int
{
20
}
}
func
(
x
*
ReplyEvmxgoLogs
)
GetLogs
()
[]
*
LocalEvmxgoLogs
{
...
...
@@ -1347,94 +1395,97 @@ var file_evmxgo_proto_rawDesc = []byte{
0x65
,
0x63
,
0x69
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x09
,
0x70
,
0x72
,
0x65
,
0x63
,
0x69
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x22
,
0x0a
,
0x0c
,
0x69
,
0x6e
,
0x74
,
0x72
,
0x6f
,
0x64
,
0x75
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0c
,
0x69
,
0x6e
,
0x74
,
0x72
,
0x6f
,
0x64
,
0x75
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x22
,
0x27
,
0x0a
,
0x0d
,
0x52
,
0x65
,
0x63
,
0x65
,
0x69
,
0x70
,
0x74
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x22
,
0x61
,
0x0a
,
0x13
,
0x52
,
0x65
,
0x63
,
0x65
,
0x69
,
0x70
,
0x74
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x41
,
0x6d
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x12
,
0x21
,
0x0a
,
0x04
,
0x70
,
0x72
,
0x65
,
0x76
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0d
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x52
,
0x04
,
0x70
,
0x72
,
0x65
,
0x76
,
0x12
,
0x27
,
0x0a
,
0x07
,
0x63
,
0x75
,
0x72
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0d
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x52
,
0x07
,
0x63
,
0x75
,
0x72
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x22
,
0x7d
,
0x0a
,
0x0b
,
0x4c
,
0x6f
,
0x63
,
0x61
,
0x6c
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x12
,
0x22
,
0x0a
,
0x0c
,
0x69
,
0x6e
,
0x74
,
0x72
,
0x6f
,
0x64
,
0x75
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0c
,
0x69
,
0x6e
,
0x74
,
0x72
,
0x6f
,
0x64
,
0x75
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x74
,
0x6f
,
0x74
,
0x61
,
0x6c
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x05
,
0x74
,
0x6f
,
0x74
,
0x61
,
0x6c
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x70
,
0x72
,
0x65
,
0x63
,
0x69
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x09
,
0x70
,
0x72
,
0x65
,
0x63
,
0x69
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x22
,
0x7b
,
0x0a
,
0x0f
,
0x4c
,
0x6f
,
0x63
,
0x61
,
0x6c
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x4c
,
0x6f
,
0x67
,
0x73
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x74
,
0x78
,
0x49
,
0x6e
,
0x64
,
0x65
,
0x78
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x74
,
0x78
,
0x49
,
0x6e
,
0x64
,
0x65
,
0x78
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x54
,
0x79
,
0x70
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x0a
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x54
,
0x79
,
0x70
,
0x65
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x74
,
0x78
,
0x48
,
0x61
,
0x73
,
0x68
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x74
,
0x78
,
0x48
,
0x61
,
0x73
,
0x68
,
0x22
,
0x40
,
0x0a
,
0x0a
,
0x52
,
0x65
,
0x71
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x73
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x71
,
0x75
,
0x65
,
0x72
,
0x79
,
0x41
,
0x6c
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x08
,
0x71
,
0x75
,
0x65
,
0x72
,
0x79
,
0x41
,
0x6c
,
0x6c
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x74
,
0x6f
,
0x6b
,
0x65
,
0x6e
,
0x73
,
0x18
,
0x02
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x06
,
0x74
,
0x6f
,
0x6b
,
0x65
,
0x6e
,
0x73
,
0x22
,
0x3a
,
0x0a
,
0x0c
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x73
,
0x12
,
0x2a
,
0x0a
,
0x06
,
0x74
,
0x6f
,
0x6b
,
0x65
,
0x6e
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x4c
,
0x6f
,
0x63
,
0x61
,
0x6c
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x52
,
0x06
,
0x74
,
0x6f
,
0x6b
,
0x65
,
0x6e
,
0x73
,
0x22
,
0x38
,
0x0a
,
0x0a
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x52
,
0x65
,
0x63
,
0x76
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x65
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x65
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x72
,
0x65
,
0x63
,
0x76
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x04
,
0x72
,
0x65
,
0x63
,
0x76
,
0x22
,
0x4e
,
0x0a
,
0x17
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x41
,
0x64
,
0x64
,
0x72
,
0x52
,
0x65
,
0x63
,
0x76
,
0x46
,
0x6f
,
0x72
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x73
,
0x12
,
0x33
,
0x0a
,
0x0b
,
0x65
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x52
,
0x65
,
0x63
,
0x76
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x11
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x52
,
0x65
,
0x63
,
0x76
,
0x52
,
0x0b
,
0x65
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x52
,
0x65
,
0x63
,
0x76
,
0x73
,
0x22
,
0x3b
,
0x0a
,
0x0d
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x41
,
0x63
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x73
,
0x12
,
0x2a
,
0x0a
,
0x08
,
0x61
,
0x63
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x0e
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x41
,
0x63
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x52
,
0x08
,
0x61
,
0x63
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x73
,
0x22
,
0x4a
,
0x0a
,
0x16
,
0x52
,
0x65
,
0x71
,
0x41
,
0x63
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x41
,
0x73
,
0x73
,
0x65
,
0x74
,
0x73
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x61
,
0x64
,
0x64
,
0x72
,
0x65
,
0x73
,
0x73
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x61
,
0x64
,
0x64
,
0x72
,
0x65
,
0x73
,
0x73
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x65
,
0x78
,
0x65
,
0x63
,
0x65
,
0x72
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x65
,
0x78
,
0x65
,
0x63
,
0x65
,
0x72
,
0x22
,
0x4f
,
0x0a
,
0x0b
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x41
,
0x73
,
0x73
,
0x65
,
0x74
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x12
,
0x28
,
0x0a
,
0x07
,
0x61
,
0x63
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0e
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x41
,
0x63
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x52
,
0x07
,
0x61
,
0x63
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x22
,
0x52
,
0x0a
,
0x18
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x41
,
0x69
,
0x6e
,
0x74
,
0x72
,
0x6f
,
0x64
,
0x75
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x22
,
0x2d
,
0x0a
,
0x11
,
0x42
,
0x72
,
0x69
,
0x64
,
0x67
,
0x65
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x61
,
0x64
,
0x64
,
0x72
,
0x65
,
0x73
,
0x73
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x61
,
0x64
,
0x64
,
0x72
,
0x65
,
0x73
,
0x73
,
0x22
,
0x27
,
0x0a
,
0x0d
,
0x52
,
0x65
,
0x63
,
0x65
,
0x69
,
0x70
,
0x74
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x22
,
0x61
,
0x0a
,
0x13
,
0x52
,
0x65
,
0x63
,
0x65
,
0x69
,
0x70
,
0x74
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x41
,
0x6d
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x12
,
0x21
,
0x0a
,
0x04
,
0x70
,
0x72
,
0x65
,
0x76
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0d
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x52
,
0x04
,
0x70
,
0x72
,
0x65
,
0x76
,
0x12
,
0x27
,
0x0a
,
0x07
,
0x63
,
0x75
,
0x72
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0d
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x52
,
0x07
,
0x63
,
0x75
,
0x72
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x22
,
0x7d
,
0x0a
,
0x0b
,
0x4c
,
0x6f
,
0x63
,
0x61
,
0x6c
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x12
,
0x22
,
0x0a
,
0x0c
,
0x69
,
0x6e
,
0x74
,
0x72
,
0x6f
,
0x64
,
0x75
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0c
,
0x69
,
0x6e
,
0x74
,
0x72
,
0x6f
,
0x64
,
0x75
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x74
,
0x6f
,
0x74
,
0x61
,
0x6c
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x05
,
0x74
,
0x6f
,
0x74
,
0x61
,
0x6c
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x70
,
0x72
,
0x65
,
0x63
,
0x69
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x09
,
0x70
,
0x72
,
0x65
,
0x63
,
0x69
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x22
,
0x7b
,
0x0a
,
0x0f
,
0x4c
,
0x6f
,
0x63
,
0x61
,
0x6c
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x4c
,
0x6f
,
0x67
,
0x73
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x74
,
0x78
,
0x49
,
0x6e
,
0x64
,
0x65
,
0x78
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x74
,
0x78
,
0x49
,
0x6e
,
0x64
,
0x65
,
0x78
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x54
,
0x79
,
0x70
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x0a
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x54
,
0x79
,
0x70
,
0x65
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x74
,
0x78
,
0x48
,
0x61
,
0x73
,
0x68
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x74
,
0x78
,
0x48
,
0x61
,
0x73
,
0x68
,
0x22
,
0x40
,
0x0a
,
0x0a
,
0x52
,
0x65
,
0x71
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x73
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x71
,
0x75
,
0x65
,
0x72
,
0x79
,
0x41
,
0x6c
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x08
,
0x71
,
0x75
,
0x65
,
0x72
,
0x79
,
0x41
,
0x6c
,
0x6c
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x74
,
0x6f
,
0x6b
,
0x65
,
0x6e
,
0x73
,
0x18
,
0x02
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x06
,
0x74
,
0x6f
,
0x6b
,
0x65
,
0x6e
,
0x73
,
0x22
,
0x3a
,
0x0a
,
0x0c
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x73
,
0x12
,
0x2a
,
0x0a
,
0x06
,
0x74
,
0x6f
,
0x6b
,
0x65
,
0x6e
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x4c
,
0x6f
,
0x63
,
0x61
,
0x6c
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x52
,
0x06
,
0x74
,
0x6f
,
0x6b
,
0x65
,
0x6e
,
0x73
,
0x22
,
0x38
,
0x0a
,
0x0a
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x52
,
0x65
,
0x63
,
0x76
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x65
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x65
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x72
,
0x65
,
0x63
,
0x76
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x04
,
0x72
,
0x65
,
0x63
,
0x76
,
0x22
,
0x4e
,
0x0a
,
0x17
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x41
,
0x64
,
0x64
,
0x72
,
0x52
,
0x65
,
0x63
,
0x76
,
0x46
,
0x6f
,
0x72
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x73
,
0x12
,
0x33
,
0x0a
,
0x0b
,
0x65
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x52
,
0x65
,
0x63
,
0x76
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x11
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x52
,
0x65
,
0x63
,
0x76
,
0x52
,
0x0b
,
0x65
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x52
,
0x65
,
0x63
,
0x76
,
0x73
,
0x22
,
0x3b
,
0x0a
,
0x0d
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x41
,
0x63
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x73
,
0x12
,
0x2a
,
0x0a
,
0x08
,
0x61
,
0x63
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x0e
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x41
,
0x63
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x52
,
0x08
,
0x61
,
0x63
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x73
,
0x22
,
0x4a
,
0x0a
,
0x16
,
0x52
,
0x65
,
0x71
,
0x41
,
0x63
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x41
,
0x73
,
0x73
,
0x65
,
0x74
,
0x73
,
0x12
,
0x36
,
0x0a
,
0x0c
,
0x65
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x41
,
0x73
,
0x73
,
0x65
,
0x74
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x41
,
0x73
,
0x73
,
0x65
,
0x74
,
0x52
,
0x0c
,
0x65
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x41
,
0x73
,
0x73
,
0x65
,
0x74
,
0x73
,
0x22
,
0xa2
,
0x01
,
0x0a
,
0x0e
,
0x52
,
0x65
,
0x71
,
0x41
,
0x64
,
0x64
,
0x72
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x73
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x06
,
0x73
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x65
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x18
,
0x03
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x06
,
0x65
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x64
,
0x69
,
0x72
,
0x65
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x09
,
0x64
,
0x69
,
0x72
,
0x65
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x05
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x66
,
0x72
,
0x6f
,
0x6d
,
0x4b
,
0x65
,
0x79
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x66
,
0x72
,
0x6f
,
0x6d
,
0x4b
,
0x65
,
0x79
,
0x22
,
0xaf
,
0x01
,
0x0a
,
0x0b
,
0x52
,
0x65
,
0x71
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x54
,
0x78
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x66
,
0x6c
,
0x61
,
0x67
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x04
,
0x66
,
0x6c
,
0x61
,
0x67
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x05
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x64
,
0x69
,
0x72
,
0x65
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x09
,
0x64
,
0x69
,
0x72
,
0x65
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x68
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x06
,
0x68
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x69
,
0x6e
,
0x64
,
0x65
,
0x78
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x05
,
0x69
,
0x6e
,
0x64
,
0x65
,
0x78
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x22
,
0x3d
,
0x0a
,
0x0f
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x4c
,
0x6f
,
0x67
,
0x73
,
0x12
,
0x2a
,
0x0a
,
0x04
,
0x6c
,
0x6f
,
0x67
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x4c
,
0x6f
,
0x63
,
0x61
,
0x6c
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x4c
,
0x6f
,
0x67
,
0x73
,
0x52
,
0x04
,
0x6c
,
0x6f
,
0x67
,
0x73
,
0x32
,
0x08
,
0x0a
,
0x06
,
0x65
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x42
,
0x0a
,
0x5a
,
0x08
,
0x2e
,
0x2e
,
0x2f
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
0x74
,
0x73
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x61
,
0x64
,
0x64
,
0x72
,
0x65
,
0x73
,
0x73
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x61
,
0x64
,
0x64
,
0x72
,
0x65
,
0x73
,
0x73
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x65
,
0x78
,
0x65
,
0x63
,
0x65
,
0x72
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x65
,
0x78
,
0x65
,
0x63
,
0x65
,
0x72
,
0x22
,
0x4f
,
0x0a
,
0x0b
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x41
,
0x73
,
0x73
,
0x65
,
0x74
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x12
,
0x28
,
0x0a
,
0x07
,
0x61
,
0x63
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0e
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x41
,
0x63
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x52
,
0x07
,
0x61
,
0x63
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x22
,
0x52
,
0x0a
,
0x18
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x41
,
0x63
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x41
,
0x73
,
0x73
,
0x65
,
0x74
,
0x73
,
0x12
,
0x36
,
0x0a
,
0x0c
,
0x65
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x41
,
0x73
,
0x73
,
0x65
,
0x74
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x41
,
0x73
,
0x73
,
0x65
,
0x74
,
0x52
,
0x0c
,
0x65
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x41
,
0x73
,
0x73
,
0x65
,
0x74
,
0x73
,
0x22
,
0xa2
,
0x01
,
0x0a
,
0x0e
,
0x52
,
0x65
,
0x71
,
0x41
,
0x64
,
0x64
,
0x72
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x73
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x06
,
0x73
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x65
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x18
,
0x03
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x06
,
0x65
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x64
,
0x69
,
0x72
,
0x65
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x09
,
0x64
,
0x69
,
0x72
,
0x65
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x05
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x66
,
0x72
,
0x6f
,
0x6d
,
0x4b
,
0x65
,
0x79
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x66
,
0x72
,
0x6f
,
0x6d
,
0x4b
,
0x65
,
0x79
,
0x22
,
0xaf
,
0x01
,
0x0a
,
0x0b
,
0x52
,
0x65
,
0x71
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x54
,
0x78
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x73
,
0x79
,
0x6d
,
0x62
,
0x6f
,
0x6c
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x66
,
0x6c
,
0x61
,
0x67
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x04
,
0x66
,
0x6c
,
0x61
,
0x67
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x05
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x64
,
0x69
,
0x72
,
0x65
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x09
,
0x64
,
0x69
,
0x72
,
0x65
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x68
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x06
,
0x68
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x69
,
0x6e
,
0x64
,
0x65
,
0x78
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x05
,
0x69
,
0x6e
,
0x64
,
0x65
,
0x78
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x22
,
0x3d
,
0x0a
,
0x0f
,
0x52
,
0x65
,
0x70
,
0x6c
,
0x79
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x4c
,
0x6f
,
0x67
,
0x73
,
0x12
,
0x2a
,
0x0a
,
0x04
,
0x6c
,
0x6f
,
0x67
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x16
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x4c
,
0x6f
,
0x63
,
0x61
,
0x6c
,
0x45
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x4c
,
0x6f
,
0x67
,
0x73
,
0x52
,
0x04
,
0x6c
,
0x6f
,
0x67
,
0x73
,
0x32
,
0x08
,
0x0a
,
0x06
,
0x65
,
0x76
,
0x6d
,
0x78
,
0x67
,
0x6f
,
0x42
,
0x0a
,
0x5a
,
0x08
,
0x2e
,
0x2e
,
0x2f
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
}
var
(
...
...
@@ -1449,47 +1500,48 @@ func file_evmxgo_proto_rawDescGZIP() []byte {
return
file_evmxgo_proto_rawDescData
}
var
file_evmxgo_proto_msgTypes
=
make
([]
protoimpl
.
MessageInfo
,
2
0
)
var
file_evmxgo_proto_msgTypes
=
make
([]
protoimpl
.
MessageInfo
,
2
1
)
var
file_evmxgo_proto_goTypes
=
[]
interface
{}{
(
*
EvmxgoAction
)(
nil
),
// 0: types.EvmxgoAction
(
*
EvmxgoMint
)(
nil
),
// 1: types.EvmxgoMint
(
*
EvmxgoBurn
)(
nil
),
// 2: types.EvmxgoBurn
(
*
Evmxgo
)(
nil
),
// 3: types.Evmxgo
(
*
EvmxgoMintConfig
)(
nil
),
// 4: types.EvmxgoMintConfig
(
*
ReceiptEvmxgo
)(
nil
),
// 5: types.ReceiptEvmxgo
(
*
ReceiptEvmxgoAmount
)(
nil
),
// 6: types.ReceiptEvmxgoAmount
(
*
LocalEvmxgo
)(
nil
),
// 7: types.LocalEvmxgo
(
*
LocalEvmxgoLogs
)(
nil
),
// 8: types.LocalEvmxgoLogs
(
*
ReqEvmxgos
)(
nil
),
// 9: types.ReqEvmxgos
(
*
ReplyEvmxgos
)(
nil
),
// 10: types.ReplyEvmxgos
(
*
EvmxgoRecv
)(
nil
),
// 11: types.EvmxgoRecv
(
*
ReplyAddrRecvForEvmxgos
)(
nil
),
// 12: types.ReplyAddrRecvForEvmxgos
(
*
ReplyAccounts
)(
nil
),
// 13: types.ReplyAccounts
(
*
ReqAccountEvmxgoAssets
)(
nil
),
// 14: types.ReqAccountEvmxgoAssets
(
*
EvmxgoAsset
)(
nil
),
// 15: types.EvmxgoAsset
(
*
ReplyAccountEvmxgoAssets
)(
nil
),
// 16: types.ReplyAccountEvmxgoAssets
(
*
ReqAddrEvmxgos
)(
nil
),
// 17: types.ReqAddrEvmxgos
(
*
ReqEvmxgoTx
)(
nil
),
// 18: types.ReqEvmxgoTx
(
*
ReplyEvmxgoLogs
)(
nil
),
// 19: types.ReplyEvmxgoLogs
(
*
types
.
AssetsTransfer
)(
nil
),
// 20: types.AssetsTransfer
(
*
types
.
AssetsWithdraw
)(
nil
),
// 21: types.AssetsWithdraw
(
*
types
.
AssetsTransferToExec
)(
nil
),
// 22: types.AssetsTransferToExec
(
*
types
.
Account
)(
nil
),
// 23: types.Account
(
*
BridgevmxgoConfig
)(
nil
),
// 5: types.BridgevmxgoConfig
(
*
ReceiptEvmxgo
)(
nil
),
// 6: types.ReceiptEvmxgo
(
*
ReceiptEvmxgoAmount
)(
nil
),
// 7: types.ReceiptEvmxgoAmount
(
*
LocalEvmxgo
)(
nil
),
// 8: types.LocalEvmxgo
(
*
LocalEvmxgoLogs
)(
nil
),
// 9: types.LocalEvmxgoLogs
(
*
ReqEvmxgos
)(
nil
),
// 10: types.ReqEvmxgos
(
*
ReplyEvmxgos
)(
nil
),
// 11: types.ReplyEvmxgos
(
*
EvmxgoRecv
)(
nil
),
// 12: types.EvmxgoRecv
(
*
ReplyAddrRecvForEvmxgos
)(
nil
),
// 13: types.ReplyAddrRecvForEvmxgos
(
*
ReplyAccounts
)(
nil
),
// 14: types.ReplyAccounts
(
*
ReqAccountEvmxgoAssets
)(
nil
),
// 15: types.ReqAccountEvmxgoAssets
(
*
EvmxgoAsset
)(
nil
),
// 16: types.EvmxgoAsset
(
*
ReplyAccountEvmxgoAssets
)(
nil
),
// 17: types.ReplyAccountEvmxgoAssets
(
*
ReqAddrEvmxgos
)(
nil
),
// 18: types.ReqAddrEvmxgos
(
*
ReqEvmxgoTx
)(
nil
),
// 19: types.ReqEvmxgoTx
(
*
ReplyEvmxgoLogs
)(
nil
),
// 20: types.ReplyEvmxgoLogs
(
*
types
.
AssetsTransfer
)(
nil
),
// 21: types.AssetsTransfer
(
*
types
.
AssetsWithdraw
)(
nil
),
// 22: types.AssetsWithdraw
(
*
types
.
AssetsTransferToExec
)(
nil
),
// 23: types.AssetsTransferToExec
(
*
types
.
Account
)(
nil
),
// 24: types.Account
}
var
file_evmxgo_proto_depIdxs
=
[]
int32
{
2
0
,
// 0: types.EvmxgoAction.transfer:type_name -> types.AssetsTransfer
2
1
,
// 1: types.EvmxgoAction.withdraw:type_name -> types.AssetsWithdraw
2
2
,
// 2: types.EvmxgoAction.transferToExec:type_name -> types.AssetsTransferToExec
2
1
,
// 0: types.EvmxgoAction.transfer:type_name -> types.AssetsTransfer
2
2
,
// 1: types.EvmxgoAction.withdraw:type_name -> types.AssetsWithdraw
2
3
,
// 2: types.EvmxgoAction.transferToExec:type_name -> types.AssetsTransferToExec
1
,
// 3: types.EvmxgoAction.mint:type_name -> types.EvmxgoMint
2
,
// 4: types.EvmxgoAction.burn:type_name -> types.EvmxgoBurn
3
,
// 5: types.ReceiptEvmxgoAmount.prev:type_name -> types.Evmxgo
3
,
// 6: types.ReceiptEvmxgoAmount.current:type_name -> types.Evmxgo
7
,
// 7: types.ReplyEvmxgos.tokens:type_name -> types.LocalEvmxgo
1
1
,
// 8: types.ReplyAddrRecvForEvmxgos.evmxgoRecvs:type_name -> types.EvmxgoRecv
2
3
,
// 9: types.ReplyAccounts.accounts:type_name -> types.Account
2
3
,
// 10: types.EvmxgoAsset.account:type_name -> types.Account
1
5
,
// 11: types.ReplyAccountEvmxgoAssets.evmxgoAssets:type_name -> types.EvmxgoAsset
8
,
// 12: types.ReplyEvmxgoLogs.logs:type_name -> types.LocalEvmxgoLogs
8
,
// 7: types.ReplyEvmxgos.tokens:type_name -> types.LocalEvmxgo
1
2
,
// 8: types.ReplyAddrRecvForEvmxgos.evmxgoRecvs:type_name -> types.EvmxgoRecv
2
4
,
// 9: types.ReplyAccounts.accounts:type_name -> types.Account
2
4
,
// 10: types.EvmxgoAsset.account:type_name -> types.Account
1
6
,
// 11: types.ReplyAccountEvmxgoAssets.evmxgoAssets:type_name -> types.EvmxgoAsset
9
,
// 12: types.ReplyEvmxgoLogs.logs:type_name -> types.LocalEvmxgoLogs
13
,
// [13:13] is the sub-list for method output_type
13
,
// [13:13] is the sub-list for method input_type
13
,
// [13:13] is the sub-list for extension type_name
...
...
@@ -1564,7 +1616,7 @@ func file_evmxgo_proto_init() {
}
}
file_evmxgo_proto_msgTypes
[
5
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ReceiptEvmxgo
);
i
{
switch
v
:=
v
.
(
*
BridgevmxgoConfig
);
i
{
case
0
:
return
&
v
.
state
case
1
:
...
...
@@ -1576,7 +1628,7 @@ func file_evmxgo_proto_init() {
}
}
file_evmxgo_proto_msgTypes
[
6
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ReceiptEvmxgo
Amount
);
i
{
switch
v
:=
v
.
(
*
ReceiptEvmxgo
);
i
{
case
0
:
return
&
v
.
state
case
1
:
...
...
@@ -1588,7 +1640,7 @@ func file_evmxgo_proto_init() {
}
}
file_evmxgo_proto_msgTypes
[
7
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
LocalEvmxgo
);
i
{
switch
v
:=
v
.
(
*
ReceiptEvmxgoAmount
);
i
{
case
0
:
return
&
v
.
state
case
1
:
...
...
@@ -1600,7 +1652,7 @@ func file_evmxgo_proto_init() {
}
}
file_evmxgo_proto_msgTypes
[
8
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
LocalEvmxgo
Logs
);
i
{
switch
v
:=
v
.
(
*
LocalEvmxgo
);
i
{
case
0
:
return
&
v
.
state
case
1
:
...
...
@@ -1612,7 +1664,7 @@ func file_evmxgo_proto_init() {
}
}
file_evmxgo_proto_msgTypes
[
9
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ReqEvmxgo
s
);
i
{
switch
v
:=
v
.
(
*
LocalEvmxgoLog
s
);
i
{
case
0
:
return
&
v
.
state
case
1
:
...
...
@@ -1624,7 +1676,7 @@ func file_evmxgo_proto_init() {
}
}
file_evmxgo_proto_msgTypes
[
10
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
Re
ply
Evmxgos
);
i
{
switch
v
:=
v
.
(
*
Re
q
Evmxgos
);
i
{
case
0
:
return
&
v
.
state
case
1
:
...
...
@@ -1636,7 +1688,7 @@ func file_evmxgo_proto_init() {
}
}
file_evmxgo_proto_msgTypes
[
11
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
EvmxgoRecv
);
i
{
switch
v
:=
v
.
(
*
ReplyEvmxgos
);
i
{
case
0
:
return
&
v
.
state
case
1
:
...
...
@@ -1648,7 +1700,7 @@ func file_evmxgo_proto_init() {
}
}
file_evmxgo_proto_msgTypes
[
12
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ReplyAddrRecvForEvmxgos
);
i
{
switch
v
:=
v
.
(
*
EvmxgoRecv
);
i
{
case
0
:
return
&
v
.
state
case
1
:
...
...
@@ -1660,7 +1712,7 @@ func file_evmxgo_proto_init() {
}
}
file_evmxgo_proto_msgTypes
[
13
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ReplyA
ccount
s
);
i
{
switch
v
:=
v
.
(
*
ReplyA
ddrRecvForEvmxgo
s
);
i
{
case
0
:
return
&
v
.
state
case
1
:
...
...
@@ -1672,7 +1724,7 @@ func file_evmxgo_proto_init() {
}
}
file_evmxgo_proto_msgTypes
[
14
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
Re
qAccountEvmxgoAsse
ts
);
i
{
switch
v
:=
v
.
(
*
Re
plyAccoun
ts
);
i
{
case
0
:
return
&
v
.
state
case
1
:
...
...
@@ -1684,7 +1736,7 @@ func file_evmxgo_proto_init() {
}
}
file_evmxgo_proto_msgTypes
[
15
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
EvmxgoAsset
);
i
{
switch
v
:=
v
.
(
*
ReqAccountEvmxgoAssets
);
i
{
case
0
:
return
&
v
.
state
case
1
:
...
...
@@ -1696,7 +1748,7 @@ func file_evmxgo_proto_init() {
}
}
file_evmxgo_proto_msgTypes
[
16
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ReplyAccountEvmxgoAssets
);
i
{
switch
v
:=
v
.
(
*
EvmxgoAsset
);
i
{
case
0
:
return
&
v
.
state
case
1
:
...
...
@@ -1708,7 +1760,7 @@ func file_evmxgo_proto_init() {
}
}
file_evmxgo_proto_msgTypes
[
17
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
Re
qAddrEvmxgo
s
);
i
{
switch
v
:=
v
.
(
*
Re
plyAccountEvmxgoAsset
s
);
i
{
case
0
:
return
&
v
.
state
case
1
:
...
...
@@ -1720,7 +1772,7 @@ func file_evmxgo_proto_init() {
}
}
file_evmxgo_proto_msgTypes
[
18
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
Req
EvmxgoTx
);
i
{
switch
v
:=
v
.
(
*
Req
AddrEvmxgos
);
i
{
case
0
:
return
&
v
.
state
case
1
:
...
...
@@ -1732,6 +1784,18 @@ func file_evmxgo_proto_init() {
}
}
file_evmxgo_proto_msgTypes
[
19
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ReqEvmxgoTx
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_evmxgo_proto_msgTypes
[
20
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ReplyEvmxgoLogs
);
i
{
case
0
:
return
&
v
.
state
...
...
@@ -1757,7 +1821,7 @@ func file_evmxgo_proto_init() {
GoPackagePath
:
reflect
.
TypeOf
(
x
{})
.
PkgPath
(),
RawDescriptor
:
file_evmxgo_proto_rawDesc
,
NumEnums
:
0
,
NumMessages
:
2
0
,
NumMessages
:
2
1
,
NumExtensions
:
0
,
NumServices
:
1
,
},
...
...
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