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
f7a27fa1
Commit
f7a27fa1
authored
Dec 16, 2021
by
QM
Committed by
vipwzw
Dec 20, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
delete relayer set symbol
parent
e7a941d0
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
652 additions
and
960 deletions
+652
-960
dockerRelayerTestEvm.sh
plugin/dapp/bridgevmxgo/cmd/build/dockerRelayerTestEvm.sh
+44
-119
deployCrossX2Eth.go
...app/cross2eth/boss4x/ethereum/offline/deployCrossX2Eth.go
+50
-18
offline.go
plugin/dapp/cross2eth/boss4x/ethereum/offline/offline.go
+2
-1
mainPubilcRelayerTest.sh
.../dapp/cross2eth/cmd/build/public/mainPubilcRelayerTest.sh
+223
-245
offlinePublic.sh
plugin/dapp/cross2eth/cmd/build/public/offlinePublic.sh
+3
-3
config.proto
plugin/dapp/cross2eth/ebrelayer/proto/config.proto
+0
-1
relayer.toml
plugin/dapp/cross2eth/ebrelayer/relayer.toml
+0
-10
config.pb.go
plugin/dapp/cross2eth/ebrelayer/types/config.pb.go
+330
-563
relayer.pb.go
plugin/dapp/cross2eth/ebrelayer/types/relayer.pb.go
+0
-0
No files found.
plugin/dapp/bridgevmxgo/cmd/build/dockerRelayerTestEvm.sh
View file @
f7a27fa1
...
...
@@ -12,28 +12,13 @@ source "./mainPubilcRelayerTest.sh"
{
chain33BridgeBank
=
""
ethBridgeBank
=
""
chain33BtyERC20TokenAddr
=
"1111111111111111111114oLvT2"
ethereumBtyBridgeTokenAddr
=
""
chain33EthBridgeTokenAddr
=
""
ethereumBycERC20TokenAddr
=
""
chain33BycBridgeTokenAddr
=
""
ethereumUSDTERC20TokenAddr
=
""
chain33USDTBridgeTokenAddr
=
""
chain33YccERC20TokenAddr
=
""
ethereumYccBridgeTokenAddr
=
""
chain33ZbcERC20TokenAddr
=
""
ethereumZbcBridgeTokenAddr
=
""
BridgeRegistryOnChain33
=
""
BridgeRegistryOnEth
=
""
multisignChain33Addr
=
""
multisignEthAddr
=
""
chain33EthBridgeTokenAddr
=
""
ethereumUSDTERC20TokenAddr
=
""
chain33USDTBridgeTokenAddr
=
""
chain33ID
=
0
maturityDegree
=
10
...
...
@@ -46,7 +31,6 @@ source "./mainPubilcRelayerTest.sh"
chain33DeployAddr
=
"1JxhYLYsrscjTaQfaMoVUrnSdrejP7XRQD"
chain33DeployKey
=
"0x9ef82623a5e9aac58d3a6b06392af66ec77289522b28896aed66abaaede66903"
# validatorsAddr=["0x92C8b16aFD6d423652559C6E266cBE1c29Bfd84f", "0x0df9a824699bc5878232c9e612fe1a5346a5a368", "0xcb074cb21cdddf3ce9c3c0a7ac4497d633c9d9f1", "0xd9dab021e74ecf475788ed7b61356056b2095830"]# shellcheck disable=SC2034
# eth 验证者私钥
ethValidatorAddra
=
"0x92C8b16aFD6d423652559C6E266cBE1c29Bfd84f"
ethValidatorAddrb
=
"0x0df9a824699bc5878232c9e612fe1a5346a5a368"
...
...
@@ -82,6 +66,9 @@ source "./mainPubilcRelayerTest.sh"
chain33ReceiverAddr
=
"12qyocayNF7Lv6C9qW4avxs2E7U41fKSfv"
chain33ReceiverAddrKey
=
"4257d8692ef7fe13c68b65d6a52f03933db2fa5ce8faf210b5b8b80c721ced01"
paraMainAddr
=
"12qyocayNF7Lv6C9qW4avxs2E7U41fKSfv"
paraMainAddrKey
=
"4257d8692ef7fe13c68b65d6a52f03933db2fa5ce8faf210b5b8b80c721ced01"
}
function
chain33_offline_send_evm
()
{
...
...
@@ -92,6 +79,34 @@ function chain33_offline_send_evm() {
check_tx
"
${
Chain33Cli
}
"
"
${
hash
}
"
}
# $1 symbol $2 bridgeTokenAddr
function
updateConfig
()
{
local
symbol
=
$1
local
bridgeTokenAddr
=
$2
tx
=
$(
curl
-s
--data-binary
'{"jsonrpc":"2.0","id":2,"method":"Chain33.CreateTransaction","params":[{"execer":"manage","actionName":"Modify","payload":{"key":"evmxgo-mint-'
"
${
symbol
}
"
'","value":"{\"address\":\"'
"
${
bridgeTokenAddr
}
"
'\",\"precision\":8,\"introduction\":\"symbol:'
"
${
symbol
}
"
', bridgeTokenAddr:'
"
${
bridgeTokenAddr
}
"
'\"}","op":"add","addr":""}}]}'
-H
'content-type:text/plain;'
"http://
${
docker_chain33_ip
}
:8901"
| jq
-r
".result"
)
if
[
"
${
tx
}
"
==
""
]
;
then
echo
-e
"
${
RED
}
update config create tx 1
${
NOC
}
"
exit
1
fi
sign
=
$(${
Chain33Cli
}
wallet sign
-k
"
$paraMainAddrKey
"
-d
"
${
tx
}
"
)
hash
=
$(${
Chain33Cli
}
wallet send
-d
"
${
sign
}
"
)
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://
${
docker_chain33_ip
}
:8901"
| jq
-r
".result"
)
if
[
"
${
tx
}
"
==
""
]
;
then
echo
-e
"
${
RED
}
update config create tx 1
${
NOC
}
"
exit
1
fi
sign
=
$(${
Chain33Cli
}
wallet sign
-k
"
$paraMainAddrKey
"
-d
"
${
tx
}
"
)
hash
=
$(${
Chain33Cli
}
wallet send
-d
"
${
sign
}
"
)
check_tx
"
${
Chain33Cli
}
"
"
${
hash
}
"
}
function
DeployEvmxgo
()
{
# 在 chain33 上部署合约
# shellcheck disable=SC2154
...
...
@@ -112,59 +127,32 @@ function DeployEvmxgo() {
${
EvmxgoBoss4xCLI
}
chain33 offline create_add_lock_list
-s
ETH
-t
"
${
chain33EthBridgeTokenAddr
}
"
-c
"
${
XgoChain33BridgeBank
}
"
-k
"
${
chain33DeployKey
}
"
-f
1
--chainID
"
${
chain33ID
}
"
chain33_offline_send_evm
"create_add_lock_list.txt"
${
EvmxgoBoss4xCLI
}
chain33 offline create_add_lock_list
-s
BYC
-t
"
${
chain33BycBridgeTokenAddr
}
"
-c
"
${
XgoChain33BridgeBank
}
"
-k
"
${
chain33DeployKey
}
"
-f
1
--chainID
"
${
chain33ID
}
"
chain33_offline_send_evm
"create_add_lock_list.txt"
${
EvmxgoBoss4xCLI
}
chain33 offline create_add_lock_list
-s
USDT
-t
"
${
chain33USDTBridgeTokenAddr
}
"
-c
"
${
XgoChain33BridgeBank
}
"
-k
"
${
chain33DeployKey
}
"
-f
1
--chainID
"
${
chain33ID
}
"
chain33_offline_send_evm
"create_add_lock_list.txt"
updateConfig
"ETH"
"
${
chain33EthBridgeTokenAddr
}
"
updateConfig
"USDT"
"
${
chain33USDTBridgeTokenAddr
}
"
configbridgevmxgoAddr
"
${
XgoChain33BridgeBank
}
"
# 重启,需要重新启动relayer,更新nonce
restart_ebrelayerA
}
# $1 symbol $2 bridgeTokenAddr
function
updateConfig
()
{
local
symbol
=
$1
local
bridgeTokenAddr
=
$2
tx
=
$(
curl
-s
--data-binary
'{"jsonrpc":"2.0","id":2,"method":"Chain33.CreateTransaction","params":[{"execer":"manage","actionName":"Modify","payload":{"key":"evmxgo-mint-'
"
${
symbol
}
"
'","value":"{\"address\":\"'
"
${
bridgeTokenAddr
}
"
'\",\"precision\":8,\"introduction\":\"symbol:'
"
${
symbol
}
"
', bridgeTokenAddr:'
"
${
bridgeTokenAddr
}
"
'\"}","op":"add","addr":""}}]}'
-H
'content-type:text/plain;'
"http://
${
docker_chain33_ip
}
: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
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://
${
docker_chain33_ip
}
: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
}
"
)
# cli_ret "${result}" "balance" ".balance" "16
"
cli_ret
"
${
result
}
"
"balance"
".balance"
"0
"
# ETH 这端 lock 11个
result
=
$(${
CLIA
}
ethereum lock
-m
11
-k
"
${
ethTestAddrKey1
}
"
-r
"
${
chain33ReceiverAddr
}
"
)
#
cli_ret "${result}" "lock"
cli_ret
"
${
result
}
"
"lock"
# eth 等待 2 个区块
sleep
4
# 查询 ETH 这端 bridgeBank 地址 11
原来16
# 查询 ETH 这端 bridgeBank 地址 11
result
=
$(${
CLIA
}
ethereum balance
-o
"
${
ethBridgeBank
}
"
)
# cli_ret "${result}" "balance" ".balance" "27
"
cli_ret
"
${
result
}
"
"balance"
".balance"
"11
"
sleep
${
maturityDegree
}
...
...
@@ -173,9 +161,6 @@ function TestETH2EVMToChain33() {
# 结果是 11 * le8
# 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"
...
...
@@ -189,49 +174,10 @@ function TestETH2EVMToChain33() {
# is_equal "${result}" "500000000"
}
function
Testethereum2EVMToChain33_byc
()
{
# 查询 ETH 这端 bridgeBank 地址原来是
result
=
$(${
CLIA
}
ethereum balance
-o
"
${
ethBridgeBank
}
"
-t
"
${
ethereumBycERC20TokenAddr
}
"
)
# cli_ret "${result}" "balance" ".balance" "0"
# ETH 这端 lock 7个
result
=
$(${
CLIA
}
ethereum lock
-m
7
-k
"
${
ethTestAddrKey1
}
"
-r
"
${
chain33ReceiverAddr
}
"
-t
"
${
ethereumBycERC20TokenAddr
}
"
)
cli_ret
"
${
result
}
"
"lock"
# eth 等待 2 个区块
sleep
4
# 查询 ETH 这端 bridgeBank 地址 7
result
=
$(${
CLIA
}
ethereum balance
-o
"
${
ethBridgeBank
}
"
-t
"
${
ethereumBycERC20TokenAddr
}
"
)
# cli_ret "${result}" "balance" ".balance" "7"
sleep
${
maturityDegree
}
# chain33 chain33EthBridgeTokenAddr(ETH合约中)查询 lock 金额
result
=
$(${
Chain33Cli
}
evm query
-a
"
${
chain33BycBridgeTokenAddr
}
"
-c
"
${
chain33TestAddr1
}
"
-b
"balanceOf(
${
chain33ReceiverAddr
}
)"
)
# 结果是 7 * le8
# is_equal "${result}" "700000000"
updateConfig
"BYC"
"
${
chain33BycBridgeTokenAddr
}
"
configbridgevmxgoAddr
"
${
XgoChain33BridgeBank
}
"
${
EvmxgoBoss4xCLI
}
chain33 offline approve_erc20
-a
330000000000
-s
"
${
XgoChain33BridgeBank
}
"
-c
"
${
chain33BycBridgeTokenAddr
}
"
-k
"
${
chain33ReceiverAddrKey
}
"
-f
1
--chainID
"
${
chain33ID
}
"
chain33_offline_send_evm
"approve_erc20.txt"
hash
=
$(${
Chain33Cli
}
send evm call
-f
1
-k
"
${
chain33ReceiverAddr
}
"
-e
"
${
XgoChain33BridgeBank
}
"
-p
"lock(
${
chain33TestAddr2
}
,
${
chain33BycBridgeTokenAddr
}
, 500000000)"
--chainID
"
${
chain33ID
}
"
)
check_tx
"
${
Chain33Cli
}
"
"
${
hash
}
"
result
=
$(${
Chain33Cli
}
evm query
-a
"
${
chain33BycBridgeTokenAddr
}
"
-c
"
${
chain33DeployAddr
}
"
-b
"balanceOf(
${
chain33ReceiverAddr
}
)"
)
# is_equal "${result}" "4200000000"
result
=
$(${
Chain33Cli
}
evm query
-a
"
${
chain33BycBridgeTokenAddr
}
"
-c
"
${
chain33DeployAddr
}
"
-b
"balanceOf(
${
XgoChain33BridgeBank
}
)"
)
# is_equal "${result}" "500000000"
}
function
Testethereum2EVMToChain33_usdt
()
{
# 查询 ETH 这端 bridgeBank 地址原来是
result
=
$(${
CLIA
}
ethereum balance
-o
"
${
ethBridgeBank
}
"
-t
"
${
ethereumUSDTERC20TokenAddr
}
"
)
#
cli_ret "${result}" "balance" ".balance" "0"
cli_ret
"
${
result
}
"
"balance"
".balance"
"0"
# ETH 这端 lock 12个
result
=
$(${
CLIA
}
ethereum lock
-m
12
-k
"
${
ethTestAddrKey1
}
"
-r
"
${
chain33ReceiverAddr
}
"
-t
"
${
ethereumUSDTERC20TokenAddr
}
"
)
...
...
@@ -242,18 +188,14 @@ function Testethereum2EVMToChain33_usdt() {
# 查询 ETH 这端 bridgeBank 地址 12
result
=
$(${
CLIA
}
ethereum balance
-o
"
${
ethBridgeBank
}
"
-t
"
${
ethereumUSDTERC20TokenAddr
}
"
)
#
cli_ret "${result}" "balance" ".balance" "12"
cli_ret
"
${
result
}
"
"balance"
".balance"
"12"
sleep
${
maturityDegree
}
# chain33 chain33EthBridgeTokenAddr(ETH合约中)查询 lock 金额
result
=
$(${
Chain33Cli
}
evm query
-a
"
${
chain33USDTBridgeTokenAddr
}
"
-c
"
${
chain33TestAddr1
}
"
-b
"balanceOf(
${
chain33ReceiverAddr
}
)"
)
# 结果是 7 * le8
# is_equal "${result}" "700000000"
updateConfig
"USDT"
"
${
chain33USDTBridgeTokenAddr
}
"
configbridgevmxgoAddr
"
${
XgoChain33BridgeBank
}
"
${
EvmxgoBoss4xCLI
}
chain33 offline approve_erc20
-a
330000000000
-s
"
${
XgoChain33BridgeBank
}
"
-c
"
${
chain33USDTBridgeTokenAddr
}
"
-k
"
${
chain33ReceiverAddrKey
}
"
-f
1
--chainID
"
${
chain33ID
}
"
chain33_offline_send_evm
"approve_erc20.txt"
...
...
@@ -292,27 +234,10 @@ function test_evm_all() {
Chain33Cli
=
${
Para8901Cli
}
TestChain33ToEthAssets
TestETH2Chain33Assets
TestChain33ToEthZBCAssets
TestETH2Chain33Byc
TestETH2Chain33USDT
Chain33Cli
=
${
Para8901Cli
}
lockBty
lockChain33Ycc
lockEth
lockEthByc
lockEthUSDT
# 离线多签地址转入阈值设大
offline_set_offline_token_Bty 100000000000000 10
offline_set_offline_token_Chain33Ycc 100000000000000 10
offline_set_offline_token_Eth 100000000000000 10
offline_set_offline_token_EthByc 100000000000000 10
offline_set_offline_token_EthUSDT 100000000000000 10
DeployEvmxgo
TestETH2EVMToChain33
Testethereum2EVMToChain33_byc
Testethereum2EVMToChain33_usdt
}
...
...
plugin/dapp/cross2eth/boss4x/ethereum/offline/deployCrossX2Eth.go
View file @
f7a27fa1
...
...
@@ -125,7 +125,7 @@ func CreateEthBridgeBankRelated(cmd *cobra.Command, _ []string) {
func
CreateCmd
()
*
cobra
.
Command
{
cmd
:=
&
cobra
.
Command
{
Use
:
"create"
,
//first step
Short
:
"create a
nd sign all the offline cross to ethereum contracts(inclue valset,ethereumBridge,bridgeBank,oracle,bridgeRegistry,mulSign)
"
,
Short
:
"create a
ll the offline cross to ethereum contracts(inclue valset,ethereumBridge,bridgeBank,oracle,bridgeRegistry,mulSign), set symbol
"
,
Run
:
createTx
,
//对要部署的factory合约进行签名
}
addCreateFlags
(
cmd
)
...
...
@@ -139,6 +139,8 @@ func addCreateFlags(cmd *cobra.Command) {
_
=
cmd
.
MarkFlagRequired
(
"initPowers"
)
cmd
.
Flags
()
.
StringP
(
"owner"
,
"o"
,
""
,
"the deployer address"
)
_
=
cmd
.
MarkFlagRequired
(
"owner"
)
cmd
.
Flags
()
.
StringP
(
"symbol"
,
"s"
,
""
,
"symbol"
)
_
=
cmd
.
MarkFlagRequired
(
"symbol"
)
}
func
createTx
(
cmd
*
cobra
.
Command
,
_
[]
string
)
{
...
...
@@ -149,6 +151,7 @@ func createTx(cmd *cobra.Command, _ []string) {
deployerAddr
:=
common
.
HexToAddress
(
owner
)
validatorsAddrsArray
:=
strings
.
Split
(
validatorsAddrs
,
","
)
initPowersArray
:=
strings
.
Split
(
initpowers
,
","
)
symbol
,
_
:=
cmd
.
Flags
()
.
GetString
(
"symbol"
)
if
len
(
validatorsAddrsArray
)
!=
len
(
initPowersArray
)
{
fmt
.
Println
(
"input validatorsAddrs initPowers error!"
)
...
...
@@ -174,13 +177,13 @@ func createTx(cmd *cobra.Command, _ []string) {
initPowers
=
append
(
initPowers
,
big
.
NewInt
(
vint64
))
}
err
:=
createDeployTxs
(
url
,
deployerAddr
,
validators
,
initPowers
)
err
:=
createDeployTxs
(
url
,
deployerAddr
,
validators
,
initPowers
,
symbol
)
if
err
!=
nil
{
panic
(
err
)
}
}
func
createDeployTxs
(
url
string
,
deployerAddr
common
.
Address
,
validators
[]
common
.
Address
,
initPowers
[]
*
big
.
Int
)
error
{
func
createDeployTxs
(
url
string
,
deployerAddr
common
.
Address
,
validators
[]
common
.
Address
,
initPowers
[]
*
big
.
Int
,
symbol
string
)
error
{
client
,
err
:=
ethclient
.
Dial
(
url
)
if
err
!=
nil
{
return
err
...
...
@@ -200,57 +203,73 @@ func createDeployTxs(url string, deployerAddr common.Address, validators []commo
}
valSetAddr
:=
crypto
.
CreateAddress
(
deployerAddr
,
startNonce
)
infos
=
append
(
infos
,
&
DeployInfo
{
PackData
:
packData
,
ContractorAddr
:
valSetAddr
,
Name
:
"valSet"
,
Nonce
:
startNonce
,
To
:
nil
})
startNonce
+=
1
//step2 chain33bridge
packData
,
err
=
deploychain33BridgePackData
(
deployerAddr
,
valSetAddr
)
if
err
!=
nil
{
return
err
}
chain33BridgeAddr
:=
crypto
.
CreateAddress
(
deployerAddr
,
startNonce
+
1
)
infos
=
append
(
infos
,
&
DeployInfo
{
PackData
:
packData
,
ContractorAddr
:
chain33BridgeAddr
,
Name
:
"chain33Bridge"
,
Nonce
:
startNonce
+
1
,
To
:
nil
})
chain33BridgeAddr
:=
crypto
.
CreateAddress
(
deployerAddr
,
startNonce
)
infos
=
append
(
infos
,
&
DeployInfo
{
PackData
:
packData
,
ContractorAddr
:
chain33BridgeAddr
,
Name
:
"chain33Bridge"
,
Nonce
:
startNonce
,
To
:
nil
})
startNonce
+=
1
//step3 oracle
packData
,
err
=
deployOraclePackData
(
deployerAddr
,
valSetAddr
,
chain33BridgeAddr
)
if
err
!=
nil
{
return
err
}
oracleAddr
:=
crypto
.
CreateAddress
(
deployerAddr
,
startNonce
+
2
)
infos
=
append
(
infos
,
&
DeployInfo
{
PackData
:
packData
,
ContractorAddr
:
oracleAddr
,
Name
:
"oracle"
,
Nonce
:
startNonce
+
2
,
To
:
nil
})
oracleAddr
:=
crypto
.
CreateAddress
(
deployerAddr
,
startNonce
)
infos
=
append
(
infos
,
&
DeployInfo
{
PackData
:
packData
,
ContractorAddr
:
oracleAddr
,
Name
:
"oracle"
,
Nonce
:
startNonce
,
To
:
nil
})
startNonce
+=
1
//step4 bridgebank
packData
,
err
=
deployBridgeBankPackData
(
deployerAddr
,
chain33BridgeAddr
,
oracleAddr
)
if
err
!=
nil
{
return
err
}
bridgeBankAddr
:=
crypto
.
CreateAddress
(
deployerAddr
,
startNonce
+
3
)
infos
=
append
(
infos
,
&
DeployInfo
{
PackData
:
packData
,
ContractorAddr
:
bridgeBankAddr
,
Name
:
"bridgebank"
,
Nonce
:
startNonce
+
3
,
To
:
nil
})
bridgeBankAddr
:=
crypto
.
CreateAddress
(
deployerAddr
,
startNonce
)
infos
=
append
(
infos
,
&
DeployInfo
{
PackData
:
packData
,
ContractorAddr
:
bridgeBankAddr
,
Name
:
"bridgebank"
,
Nonce
:
startNonce
,
To
:
nil
})
startNonce
+=
1
//step5
packData
,
err
=
callSetBridgeBank
(
bridgeBankAddr
)
if
err
!=
nil
{
return
err
}
infos
=
append
(
infos
,
&
DeployInfo
{
PackData
:
packData
,
ContractorAddr
:
common
.
Address
{},
Name
:
"setbridgebank"
,
Nonce
:
startNonce
+
4
,
To
:
&
chain33BridgeAddr
})
infos
=
append
(
infos
,
&
DeployInfo
{
PackData
:
packData
,
ContractorAddr
:
common
.
Address
{},
Name
:
"setbridgebank"
,
Nonce
:
startNonce
,
To
:
&
chain33BridgeAddr
})
startNonce
+=
1
//step6
packData
,
err
=
callSetOracal
(
oracleAddr
)
if
err
!=
nil
{
return
err
}
infos
=
append
(
infos
,
&
DeployInfo
{
PackData
:
packData
,
ContractorAddr
:
common
.
Address
{},
Name
:
"setoracle"
,
Nonce
:
startNonce
+
5
,
To
:
&
chain33BridgeAddr
})
infos
=
append
(
infos
,
&
DeployInfo
{
PackData
:
packData
,
ContractorAddr
:
common
.
Address
{},
Name
:
"setoracle"
,
Nonce
:
startNonce
,
To
:
&
chain33BridgeAddr
})
startNonce
+=
1
//step7
bridgeRegistry
packData
,
err
=
deployBridgeRegistry
(
chain33BridgeAddr
,
bridgeBankAddr
,
oracleAddr
,
valSetAddr
)
//step7
set symbol
packData
,
err
=
setSymbol
(
symbol
)
if
err
!=
nil
{
return
err
}
bridgeRegAddr
:=
crypto
.
CreateAddress
(
deployerAddr
,
startNonce
+
6
)
infos
=
append
(
infos
,
&
DeployInfo
{
PackData
:
packData
,
ContractorAddr
:
bridgeRegAddr
,
Name
:
"bridgeRegistry"
,
Nonce
:
startNonce
+
6
,
To
:
nil
})
infos
=
append
(
infos
,
&
DeployInfo
{
PackData
:
packData
,
ContractorAddr
:
common
.
Address
{},
Name
:
"setsymbol"
,
Nonce
:
startNonce
,
To
:
&
bridgeBankAddr
}
)
startNonce
+=
1
//step8 bridgeRegistry
packData
,
err
=
deployBridgeRegistry
(
chain33BridgeAddr
,
bridgeBankAddr
,
oracleAddr
,
valSetAddr
)
if
err
!=
nil
{
return
err
}
bridgeRegAddr
:=
crypto
.
CreateAddress
(
deployerAddr
,
startNonce
)
infos
=
append
(
infos
,
&
DeployInfo
{
PackData
:
packData
,
ContractorAddr
:
bridgeRegAddr
,
Name
:
"bridgeRegistry"
,
Nonce
:
startNonce
,
To
:
nil
})
startNonce
+=
1
//step9 mulSign
packData
=
common
.
FromHex
(
gnosis
.
GnosisSafeBin
)
mulSignAddr
:=
crypto
.
CreateAddress
(
deployerAddr
,
startNonce
+
7
)
infos
=
append
(
infos
,
&
DeployInfo
{
PackData
:
packData
,
ContractorAddr
:
mulSignAddr
,
Name
:
"mulSignAddr"
,
Nonce
:
startNonce
+
7
,
To
:
nil
})
mulSignAddr
:=
crypto
.
CreateAddress
(
deployerAddr
,
startNonce
)
infos
=
append
(
infos
,
&
DeployInfo
{
PackData
:
packData
,
ContractorAddr
:
mulSignAddr
,
Name
:
"mulSignAddr"
,
Nonce
:
startNonce
,
To
:
nil
})
startNonce
+=
1
return
NewTxWrite
(
infos
,
deployerAddr
,
url
,
"deploytxs.txt"
)
}
...
...
@@ -407,6 +426,19 @@ func deployBridgeRegistry(chain33BridgeAddr, bridgeBankAddr, oracleAddr, valSetA
return
append
(
bin
,
packData
...
),
nil
}
//step 8
func
setSymbol
(
symbol
string
)
([]
byte
,
error
)
{
bridgeAbi
,
err
:=
abi
.
JSON
(
strings
.
NewReader
(
generated
.
BridgeBankABI
))
if
err
!=
nil
{
return
nil
,
err
}
abiData
,
err
:=
bridgeAbi
.
Pack
(
"configplatformTokenSymbol"
,
symbol
)
if
err
!=
nil
{
return
nil
,
err
}
return
abiData
,
nil
}
func
CreateWithFileCmd
()
*
cobra
.
Command
{
cmd
:=
&
cobra
.
Command
{
Use
:
"create_file"
,
//first step
...
...
@@ -449,7 +481,7 @@ func createWithFileTx(cmd *cobra.Command, _ []string) {
initPowers
=
append
(
initPowers
,
big
.
NewInt
(
deployCfg
.
InitPowers
[
i
]))
}
err
=
createDeployTxs
(
url
,
deployerAddr
,
validators
,
initPowers
)
err
=
createDeployTxs
(
url
,
deployerAddr
,
validators
,
initPowers
,
deployCfg
.
Symbol
)
if
err
!=
nil
{
fmt
.
Println
(
"createDeployTxs Err:"
,
err
)
return
...
...
plugin/dapp/cross2eth/boss4x/ethereum/offline/offline.go
View file @
f7a27fa1
...
...
@@ -45,7 +45,7 @@ func DeployOfflineContractsCmd() *cobra.Command {
CreateMultisignTransferTxCmd
(),
// 创建多签转帐交易
SignCmd
(),
// 签名交易 sign deploy contract tx
SendTxsCmd
(),
// 发送交易 send all kinds of tx
ConfigplatformTokenSymbolCmd
(),
//
ConfigplatformTokenSymbolCmd(),
CreateEthBridgeBankRelatedCmd
(),
//构造交易
)
...
...
@@ -67,6 +67,7 @@ type DeployConfigInfo struct {
DeployerPrivateKey
string
`toml:"deployerPrivateKey"`
ValidatorsAddr
[]
string
`toml:"validatorsAddr"`
InitPowers
[]
int64
`toml:"initPowers"`
Symbol
string
`toml:"symbol"`
}
func
CreateTxInfoAndWrite
(
abiData
[]
byte
,
deployAddr
,
contract
,
name
,
url
string
)
{
...
...
plugin/dapp/cross2eth/cmd/build/public/mainPubilcRelayerTest.sh
View file @
f7a27fa1
...
...
@@ -12,29 +12,17 @@ source "./offlinePublic.sh"
{
chain33BridgeBank
=
""
ethBridgeBank
=
""
BridgeRegistryOnChain33
=
""
BridgeRegistryOnEth
=
""
multisignChain33Addr
=
""
multisignEthAddr
=
""
chain33BtyERC20TokenAddr
=
"1111111111111111111114oLvT2"
ethereumBtyBridgeTokenAddr
=
""
chain33EthBridgeTokenAddr
=
""
ethereumBycERC20TokenAddr
=
""
chain33BycBridgeTokenAddr
=
""
ethereumUSDTERC20TokenAddr
=
""
chain33USDTBridgeTokenAddr
=
""
chain33YccERC20TokenAddr
=
""
ethereumYccBridgeTokenAddr
=
""
chain33ZbcERC20TokenAddr
=
""
ethereumZbcBridgeTokenAddr
=
""
BridgeRegistryOnChain33
=
""
BridgeRegistryOnEth
=
""
multisignChain33Addr
=
""
multisignEthAddr
=
""
chain33ID
=
0
maturityDegree
=
10
...
...
@@ -216,54 +204,55 @@ function TestChain33ToEthAssets() {
}
# chain33 lock ZBC, eth burn ZBC
function
TestChain33ToEthZBCAssets
()
{
echo
-e
"
${
GRE
}
===========
$FUNCNAME
begin ===========
${
NOC
}
"
echo
-e
"
${
GRE
}
=========== chain33 lock ZBC, eth burn ZBC ===========
${
NOC
}
"
result
=
$(${
CLIA
}
ethereum balance
-o
"
${
ethTestAddr1
}
"
-t
"
${
ethereumZbcBridgeTokenAddr
}
"
)
cli_ret
"
${
result
}
"
"balance"
".balance"
"0"
# 原来的地址金额
result
=
$(${
Chain33Cli
}
evm query
-a
"
${
chain33ZbcERC20TokenAddr
}
"
-c
"
${
chain33BridgeBank
}
"
-b
"balanceOf(
${
chain33BridgeBank
}
)"
)
is_equal
"
${
result
}
"
"0"
# chain33 lock ZBC
hash
=
$(${
Chain33Cli
}
send evm call
-f
1
-k
"
${
chain33TestAddr1
}
"
-e
"
${
chain33BridgeBank
}
"
-p
"lock(
${
ethTestAddr1
}
,
${
chain33ZbcERC20TokenAddr
}
, 900000000)"
--chainID
"
${
chain33ID
}
"
)
check_tx
"
${
Chain33Cli
}
"
"
${
hash
}
"
# chain33BridgeBank 是否增加了 9
result
=
$(${
Chain33Cli
}
evm query
-a
"
${
chain33ZbcERC20TokenAddr
}
"
-c
"
${
chain33BridgeBank
}
"
-b
"balanceOf(
${
chain33BridgeBank
}
)"
)
is_equal
"
${
result
}
"
"900000000"
sleep
4
# eth 这端 金额是否增加了 9
result
=
$(${
CLIA
}
ethereum balance
-o
"
${
ethTestAddr1
}
"
-t
"
${
ethereumZbcBridgeTokenAddr
}
"
)
cli_ret
"
${
result
}
"
"balance"
".balance"
"9"
# eth burn
result
=
$(${
CLIA
}
ethereum burn
-m
8
-k
"
${
ethTestAddrKey1
}
"
-r
"
${
chain33ReceiverAddr
}
"
-t
"
${
ethereumZbcBridgeTokenAddr
}
"
)
#--node_addr https://ropsten.infura.io/v3/9e83f296716142ffbaeaafc05790f26c)
cli_ret
"
${
result
}
"
"burn"
sleep
4
# eth 这端 金额是否减少了 1
result
=
$(${
CLIA
}
ethereum balance
-o
"
${
ethTestAddr1
}
"
-t
"
${
ethereumZbcBridgeTokenAddr
}
"
)
cli_ret
"
${
result
}
"
"balance"
".balance"
"1"
sleep
${
maturityDegree
}
# 接收的地址金额 变成了 8
result
=
$(${
Chain33Cli
}
evm query
-a
"
${
chain33ZbcERC20TokenAddr
}
"
-c
"
${
chain33ReceiverAddr
}
"
-b
"balanceOf(
${
chain33ReceiverAddr
}
)"
)
is_equal
"
${
result
}
"
"800000000"
# chain33BridgeBank 是否减少了 1
result
=
$(${
Chain33Cli
}
evm query
-a
"
${
chain33ZbcERC20TokenAddr
}
"
-c
"
${
chain33BridgeBank
}
"
-b
"balanceOf(
${
chain33BridgeBank
}
)"
)
is_equal
"
${
result
}
"
"100000000"
echo
-e
"
${
GRE
}
===========
$FUNCNAME
end ===========
${
NOC
}
"
}
#
function TestChain33ToEthZBCAssets() {
#
echo -e "${GRE}=========== $FUNCNAME begin ===========${NOC}"
#
echo -e "${GRE}=========== chain33 lock ZBC, eth burn ZBC ===========${NOC}"
#
result=$(${CLIA} ethereum balance -o "${ethTestAddr1}" -t "${ethereumZbcBridgeTokenAddr}")
#
cli_ret "${result}" "balance" ".balance" "0"
#
#
# 原来的地址金额
#
result=$(${Chain33Cli} evm query -a "${chain33ZbcERC20TokenAddr}" -c "${chain33BridgeBank}" -b "balanceOf(${chain33BridgeBank})")
#
is_equal "${result}" "0"
#
#
# chain33 lock ZBC
#
hash=$(${Chain33Cli} send evm call -f 1 -k "${chain33TestAddr1}" -e "${chain33BridgeBank}" -p "lock(${ethTestAddr1}, ${chain33ZbcERC20TokenAddr}, 900000000)" --chainID "${chain33ID}")
#
check_tx "${Chain33Cli}" "${hash}"
#
#
# chain33BridgeBank 是否增加了 9
#
result=$(${Chain33Cli} evm query -a "${chain33ZbcERC20TokenAddr}" -c "${chain33BridgeBank}" -b "balanceOf(${chain33BridgeBank})")
#
is_equal "${result}" "900000000"
#
#
sleep 4
#
#
# eth 这端 金额是否增加了 9
#
result=$(${CLIA} ethereum balance -o "${ethTestAddr1}" -t "${ethereumZbcBridgeTokenAddr}")
#
cli_ret "${result}" "balance" ".balance" "9"
#
#
# eth burn
#
result=$(${CLIA} ethereum burn -m 8 -k "${ethTestAddrKey1}" -r "${chain33ReceiverAddr}" -t "${ethereumZbcBridgeTokenAddr}") #--node_addr https://ropsten.infura.io/v3/9e83f296716142ffbaeaafc05790f26c)
#
cli_ret "${result}" "burn"
#
#
sleep 4
#
#
# eth 这端 金额是否减少了 1
#
result=$(${CLIA} ethereum balance -o "${ethTestAddr1}" -t "${ethereumZbcBridgeTokenAddr}")
#
cli_ret "${result}" "balance" ".balance" "1"
#
#
sleep ${maturityDegree}
#
#
# 接收的地址金额 变成了 8
#
result=$(${Chain33Cli} evm query -a "${chain33ZbcERC20TokenAddr}" -c "${chain33ReceiverAddr}" -b "balanceOf(${chain33ReceiverAddr})")
#
is_equal "${result}" "800000000"
#
#
# chain33BridgeBank 是否减少了 1
#
result=$(${Chain33Cli} evm query -a "${chain33ZbcERC20TokenAddr}" -c "${chain33BridgeBank}" -b "balanceOf(${chain33BridgeBank})")
#
is_equal "${result}" "100000000"
#
#
echo -e "${GRE}=========== $FUNCNAME end ===========${NOC}"
#
}
# eth to chain33 在以太坊上锁定 ETH 资产,然后在 chain33 上 burn
function
TestETH2Chain33Assets
()
{
echo
-e
"
${
GRE
}
===========
$FUNCNAME
begin ===========
${
NOC
}
"
echo
-e
"
${
GRE
}
=========== eth to chain33 在以太坊上锁定 ETH 资产,然后在 chain33 上 burn ===========
${
NOC
}
"
...
...
@@ -334,75 +323,75 @@ function TestETH2Chain33Assets() {
echo
-e
"
${
GRE
}
===========
$FUNCNAME
end ===========
${
NOC
}
"
}
function
TestETH2Chain33Byc
()
{
echo
-e
"
${
GRE
}
===========
$FUNCNAME
begin ===========
${
NOC
}
"
echo
-e
"
${
GRE
}
=========== eth to chain33 在以太坊上锁定 byc 资产,然后在 chain33 上 burn ===========
${
NOC
}
"
# 查询 ETH 这端 bridgeBank 地址原来是 0
result
=
$(${
CLIA
}
ethereum balance
-o
"
${
ethBridgeBank
}
"
-t
"
${
ethereumBycERC20TokenAddr
}
"
)
cli_ret
"
${
result
}
"
"balance"
".balance"
"0"
# ETH 这端 lock 7个 YCC
result
=
$(${
CLIA
}
ethereum lock
-m
7
-k
"
${
ethTestAddrKey1
}
"
-r
"
${
chain33ReceiverAddr
}
"
-t
"
${
ethereumBycERC20TokenAddr
}
"
)
cli_ret
"
${
result
}
"
"lock"
# eth 等待 2 个区块
sleep
4
# 查询 ETH 这端 bridgeBank 地址 7 YCC
result
=
$(${
CLIA
}
ethereum balance
-o
"
${
ethBridgeBank
}
"
-t
"
${
ethereumBycERC20TokenAddr
}
"
)
cli_ret
"
${
result
}
"
"balance"
".balance"
"7"
sleep
${
maturityDegree
}
# chain33 chain33EthBridgeTokenAddr(ETH合约中)查询 lock 金额
result
=
$(${
Chain33Cli
}
evm query
-a
"
${
chain33BycBridgeTokenAddr
}
"
-c
"
${
chain33TestAddr1
}
"
-b
"balanceOf(
${
chain33ReceiverAddr
}
)"
)
# 结果是 7 * le8
is_equal
"
${
result
}
"
"700000000"
# 原来的数额 0
result
=
$(${
CLIA
}
ethereum balance
-o
"
${
ethReceiverAddr1
}
"
-t
"
${
ethereumBycERC20TokenAddr
}
"
)
cli_ret
"
${
result
}
"
"balance"
".balance"
"0"
echo
'#5.burn YCC from Chain33 YCC(Chain33)-----> Ethereum'
result
=
$(${
CLIA
}
chain33 burn
-m
5
-k
"
${
chain33ReceiverAddrKey
}
"
-r
"
${
ethReceiverAddr1
}
"
-t
"
${
chain33BycBridgeTokenAddr
}
"
)
cli_ret
"
${
result
}
"
"burn"
sleep
${
maturityDegree
}
echo
"check the balance on chain33"
result
=
$(${
Chain33Cli
}
evm query
-a
"
${
chain33BycBridgeTokenAddr
}
"
-c
"
${
chain33TestAddr1
}
"
-b
"balanceOf(
${
chain33ReceiverAddr
}
)"
)
# 结果是 7-5 * le8
is_equal
"
${
result
}
"
"200000000"
# 查询 ETH 这端 bridgeBank 地址 2
result
=
$(${
CLIA
}
ethereum balance
-o
"
${
ethBridgeBank
}
"
-t
"
${
ethereumBycERC20TokenAddr
}
"
)
cli_ret
"
${
result
}
"
"balance"
".balance"
"2"
# 更新后的金额 5
result
=
$(${
CLIA
}
ethereum balance
-o
"
${
ethReceiverAddr1
}
"
-t
"
${
ethereumBycERC20TokenAddr
}
"
)
cli_ret
"
${
result
}
"
"balance"
".balance"
"5"
echo
'#5.burn YCC from Chain33 YCC(Chain33)-----> Ethereum'
result
=
$(${
CLIA
}
chain33 burn
-m
2
-k
"
${
chain33ReceiverAddrKey
}
"
-r
"
${
ethReceiverAddr1
}
"
-t
"
${
chain33BycBridgeTokenAddr
}
"
)
cli_ret
"
${
result
}
"
"burn"
sleep
${
maturityDegree
}
echo
"check the balance on chain33"
result
=
$(${
Chain33Cli
}
evm query
-a
"
${
chain33BycBridgeTokenAddr
}
"
-c
"
${
chain33TestAddr1
}
"
-b
"balanceOf(
${
chain33ReceiverAddr
}
)"
)
# 结果是 7-5 * le8
is_equal
"
${
result
}
"
"0"
# 查询 ETH 这端 bridgeBank 地址 0
result
=
$(${
CLIA
}
ethereum balance
-o
"
${
ethBridgeBank
}
"
-t
"
${
ethereumBycERC20TokenAddr
}
"
)
cli_ret
"
${
result
}
"
"balance"
".balance"
"0"
# 更新后的金额 5
result
=
$(${
CLIA
}
ethereum balance
-o
"
${
ethReceiverAddr1
}
"
-t
"
${
ethereumBycERC20TokenAddr
}
"
)
cli_ret
"
${
result
}
"
"balance"
".balance"
"7"
echo
-e
"
${
GRE
}
===========
$FUNCNAME
end ===========
${
NOC
}
"
}
#
function TestETH2Chain33Byc() {
#
echo -e "${GRE}=========== $FUNCNAME begin ===========${NOC}"
#
echo -e "${GRE}=========== eth to chain33 在以太坊上锁定 byc 资产,然后在 chain33 上 burn ===========${NOC}"
#
# 查询 ETH 这端 bridgeBank 地址原来是 0
#
result=$(${CLIA} ethereum balance -o "${ethBridgeBank}" -t "${ethereumBycERC20TokenAddr}")
#
cli_ret "${result}" "balance" ".balance" "0"
#
#
# ETH 这端 lock 7个 YCC
#
result=$(${CLIA} ethereum lock -m 7 -k "${ethTestAddrKey1}" -r "${chain33ReceiverAddr}" -t "${ethereumBycERC20TokenAddr}")
#
cli_ret "${result}" "lock"
#
#
# eth 等待 2 个区块
#
sleep 4
#
#
# 查询 ETH 这端 bridgeBank 地址 7 YCC
#
result=$(${CLIA} ethereum balance -o "${ethBridgeBank}" -t "${ethereumBycERC20TokenAddr}")
#
cli_ret "${result}" "balance" ".balance" "7"
#
#
sleep ${maturityDegree}
#
#
# chain33 chain33EthBridgeTokenAddr(ETH合约中)查询 lock 金额
#
result=$(${Chain33Cli} evm query -a "${chain33BycBridgeTokenAddr}" -c "${chain33TestAddr1}" -b "balanceOf(${chain33ReceiverAddr})")
#
# 结果是 7 * le8
#
is_equal "${result}" "700000000"
#
#
# 原来的数额 0
#
result=$(${CLIA} ethereum balance -o "${ethReceiverAddr1}" -t "${ethereumBycERC20TokenAddr}")
#
cli_ret "${result}" "balance" ".balance" "0"
#
#
echo '#5.burn YCC from Chain33 YCC(Chain33)-----> Ethereum'
#
result=$(${CLIA} chain33 burn -m 5 -k "${chain33ReceiverAddrKey}" -r "${ethReceiverAddr1}" -t "${chain33BycBridgeTokenAddr}")
#
cli_ret "${result}" "burn"
#
#
sleep ${maturityDegree}
#
#
echo "check the balance on chain33"
#
result=$(${Chain33Cli} evm query -a "${chain33BycBridgeTokenAddr}" -c "${chain33TestAddr1}" -b "balanceOf(${chain33ReceiverAddr})")
#
# 结果是 7-5 * le8
#
is_equal "${result}" "200000000"
#
#
# 查询 ETH 这端 bridgeBank 地址 2
#
result=$(${CLIA} ethereum balance -o "${ethBridgeBank}" -t "${ethereumBycERC20TokenAddr}")
#
cli_ret "${result}" "balance" ".balance" "2"
#
#
# 更新后的金额 5
#
result=$(${CLIA} ethereum balance -o "${ethReceiverAddr1}" -t "${ethereumBycERC20TokenAddr}")
#
cli_ret "${result}" "balance" ".balance" "5"
#
#
echo '#5.burn YCC from Chain33 YCC(Chain33)-----> Ethereum'
#
result=$(${CLIA} chain33 burn -m 2 -k "${chain33ReceiverAddrKey}" -r "${ethReceiverAddr1}" -t "${chain33BycBridgeTokenAddr}")
#
cli_ret "${result}" "burn"
#
#
sleep ${maturityDegree}
#
#
echo "check the balance on chain33"
#
result=$(${Chain33Cli} evm query -a "${chain33BycBridgeTokenAddr}" -c "${chain33TestAddr1}" -b "balanceOf(${chain33ReceiverAddr})")
#
# 结果是 7-5 * le8
#
is_equal "${result}" "0"
#
#
# 查询 ETH 这端 bridgeBank 地址 0
#
result=$(${CLIA} ethereum balance -o "${ethBridgeBank}" -t "${ethereumBycERC20TokenAddr}")
#
cli_ret "${result}" "balance" ".balance" "0"
#
#
# 更新后的金额 5
#
result=$(${CLIA} ethereum balance -o "${ethReceiverAddr1}" -t "${ethereumBycERC20TokenAddr}")
#
cli_ret "${result}" "balance" ".balance" "7"
#
#
echo -e "${GRE}=========== $FUNCNAME end ===========${NOC}"
#
}
function
TestETH2Chain33USDT
()
{
echo
-e
"
${
GRE
}
===========
$FUNCNAME
begin ===========
${
NOC
}
"
...
...
@@ -492,22 +481,22 @@ function offline_set_offline_token_Bty() {
}
# shellcheck disable=SC2120
function
offline_set_offline_token_Chain33Ycc
()
{
echo
-e
"
${
GRE
}
===========
$FUNCNAME
begin ===========
${
NOC
}
"
echo
-e
"
${
GRE
}
===== chain33 端 configLockedTokenOfflineSave ERC20 YCC ======
${
NOC
}
"
# echo '2:#配置自动转离线钱包(YCC, 100, 60%)'
local
threshold
=
10000000000
local
percents
=
60
if
[[
$#
-eq
2
]]
;
then
threshold
=
$1
percents
=
$2
fi
# shellcheck disable=SC2086
${
Boss4xCLI
}
chain33 offline set_offline_token
-c
"
${
chain33BridgeBank
}
"
-t
"
${
chain33YccERC20TokenAddr
}
"
-s
YCC
-m
${
threshold
}
-p
${
percents
}
-k
"
${
chain33DeployKey
}
"
--chainID
"
${
chain33ID
}
"
chain33_offline_send
"chain33_set_offline_token.txt"
echo
-e
"
${
GRE
}
===========
$FUNCNAME
end ===========
${
NOC
}
"
}
#
function offline_set_offline_token_Chain33Ycc() {
#
echo -e "${GRE}=========== $FUNCNAME begin ===========${NOC}"
#
echo -e "${GRE}===== chain33 端 configLockedTokenOfflineSave ERC20 YCC ======${NOC}"
#
# echo '2:#配置自动转离线钱包(YCC, 100, 60%)'
#
local threshold=10000000000
#
local percents=60
#
if [[ $# -eq 2 ]]; then
#
threshold=$1
#
percents=$2
#
fi
#
# shellcheck disable=SC2086
#
${Boss4xCLI} chain33 offline set_offline_token -c "${chain33BridgeBank}" -t "${chain33YccERC20TokenAddr}" -s YCC -m ${threshold} -p ${percents} -k "${chain33DeployKey}" --chainID "${chain33ID}"
#
chain33_offline_send "chain33_set_offline_token.txt"
#
#
echo -e "${GRE}=========== $FUNCNAME end ===========${NOC}"
#
}
# shellcheck disable=SC2120
function
offline_set_offline_token_Eth
()
{
...
...
@@ -526,22 +515,23 @@ function offline_set_offline_token_Eth() {
}
# shellcheck disable=SC2120
function
offline_set_offline_token_EthByc
()
{
echo
-e
"
${
GRE
}
===========
$FUNCNAME
begin ===========
${
NOC
}
"
local
threshold
=
100
local
percents
=
40
if
[[
$#
-eq
2
]]
;
then
threshold
=
$1
percents
=
$2
fi
# shellcheck disable=SC2086
${
Boss4xCLI
}
ethereum offline set_offline_token
-s
BYC
-m
${
threshold
}
-p
${
percents
}
-t
"
${
ethereumBycERC20TokenAddr
}
"
-c
"
${
ethBridgeBank
}
"
-d
"
${
ethDeployAddr
}
"
ethereum_offline_sign_send
"set_offline_token.txt"
echo
-e
"
${
GRE
}
===========
$FUNCNAME
end ===========
${
NOC
}
"
}
#
function offline_set_offline_token_EthByc() {
#
echo -e "${GRE}=========== $FUNCNAME begin ===========${NOC}"
#
local threshold=100
#
local percents=40
#
if [[ $# -eq 2 ]]; then
#
threshold=$1
#
percents=$2
#
fi
#
# shellcheck disable=SC2086
#
${Boss4xCLI} ethereum offline set_offline_token -s BYC -m ${threshold} -p ${percents} -t "${ethereumBycERC20TokenAddr}" -c "${ethBridgeBank}" -d "${ethDeployAddr}"
#
ethereum_offline_sign_send "set_offline_token.txt"
#
#
echo -e "${GRE}=========== $FUNCNAME end ===========${NOC}"
#
}
# shellcheck disable=SC2120
function
offline_set_offline_token_EthUSDT
()
{
echo
-e
"
${
GRE
}
===========
$FUNCNAME
begin ===========
${
NOC
}
"
local
threshold
=
100
...
...
@@ -557,32 +547,32 @@ function offline_set_offline_token_EthUSDT() {
echo
-e
"
${
GRE
}
===========
$FUNCNAME
end ===========
${
NOC
}
"
}
function
offline_transfer_multisign_Bty_test
()
{
echo
-e
"
${
GRE
}
===========
$FUNCNAME
begin ===========
${
NOC
}
"
# transfer test
# shellcheck disable=SC2154
${
Boss4xCLI
}
chain33 offline create_multisign_transfer
-a
50
-r
"
${
chain33BridgeBank
}
"
-m
"
${
multisignChain33Addr
}
"
# shellcheck disable=SC2154
${
Boss4xCLI
}
chain33 offline multisign_transfer
-k
"
${
chain33DeployKey
}
"
-s
"
${
chain33MultisignKeyA
}
,
${
chain33MultisignKeyB
}
,
${
chain33MultisignKeyC
}
,
${
chain33MultisignKeyD
}
"
--chainID
"
${
chain33ID
}
"
chain33_offline_send
"multisign_transfer.txt"
sleep
10
result
=
$(${
Chain33Cli
}
asset balance
-a
"
${
chain33BridgeBank
}
"
--asset_exec
paracross
--asset_symbol
coins.bty
-e
user.p.para.evm | jq
-r
.balance
)
is_equal
"
${
result
}
"
"103.2500"
result
=
$(${
Chain33Cli
}
asset balance
-a
"
${
multisignChain33Addr
}
"
--asset_exec
paracross
--asset_symbol
coins.bty
-e
user.p.para.evm | jq
-r
.balance
)
is_equal
"
${
result
}
"
"59.7500"
# shellcheck disable=SC2154
${
Boss4xCLI
}
chain33 offline create_multisign_transfer
-a
10
-r
"
${
chain33MultisignA
}
"
-m
"
${
multisignChain33Addr
}
"
# shellcheck disable=SC2154
${
Boss4xCLI
}
chain33 offline multisign_transfer
-k
"
${
chain33DeployKey
}
"
-s
"
${
chain33MultisignKeyA
}
,
${
chain33MultisignKeyB
}
,
${
chain33MultisignKeyC
}
,
${
chain33MultisignKeyD
}
"
--chainID
"
${
chain33ID
}
"
chain33_offline_send
"multisign_transfer.txt"
sleep
10
result
=
$(${
Chain33Cli
}
asset balance
-a
"
${
chain33MultisignA
}
"
--asset_exec
paracross
--asset_symbol
coins.bty
-e
user.p.para.evm | jq
-r
.balance
)
is_equal
"
${
result
}
"
"10.0000"
result
=
$(${
Chain33Cli
}
asset balance
-a
"
${
multisignChain33Addr
}
"
--asset_exec
paracross
--asset_symbol
coins.bty
-e
user.p.para.evm | jq
-r
.balance
)
is_equal
"
${
result
}
"
"49.7500"
echo
-e
"
${
GRE
}
===========
$FUNCNAME
end ===========
${
NOC
}
"
}
#
function offline_transfer_multisign_Bty_test() {
#
echo -e "${GRE}=========== $FUNCNAME begin ===========${NOC}"
#
# transfer test
#
# shellcheck disable=SC2154
#
${Boss4xCLI} chain33 offline create_multisign_transfer -a 50 -r "${chain33BridgeBank}" -m "${multisignChain33Addr}"
#
# shellcheck disable=SC2154
#
${Boss4xCLI} chain33 offline multisign_transfer -k "${chain33DeployKey}" -s "${chain33MultisignKeyA},${chain33MultisignKeyB},${chain33MultisignKeyC},${chain33MultisignKeyD}" --chainID "${chain33ID}"
#
chain33_offline_send "multisign_transfer.txt"
#
sleep 10
#
result=$(${Chain33Cli} asset balance -a "${chain33BridgeBank}" --asset_exec paracross --asset_symbol coins.bty -e user.p.para.evm | jq -r .balance)
#
is_equal "${result}" "103.2500"
#
result=$(${Chain33Cli} asset balance -a "${multisignChain33Addr}" --asset_exec paracross --asset_symbol coins.bty -e user.p.para.evm | jq -r .balance)
#
is_equal "${result}" "59.7500"
#
#
# shellcheck disable=SC2154
#
${Boss4xCLI} chain33 offline create_multisign_transfer -a 10 -r "${chain33MultisignA}" -m "${multisignChain33Addr}"
#
# shellcheck disable=SC2154
#
${Boss4xCLI} chain33 offline multisign_transfer -k "${chain33DeployKey}" -s "${chain33MultisignKeyA},${chain33MultisignKeyB},${chain33MultisignKeyC},${chain33MultisignKeyD}" --chainID "${chain33ID}"
#
chain33_offline_send "multisign_transfer.txt"
#
sleep 10
#
result=$(${Chain33Cli} asset balance -a "${chain33MultisignA}" --asset_exec paracross --asset_symbol coins.bty -e user.p.para.evm | jq -r .balance)
#
is_equal "${result}" "10.0000"
#
result=$(${Chain33Cli} asset balance -a "${multisignChain33Addr}" --asset_exec paracross --asset_symbol coins.bty -e user.p.para.evm | jq -r .balance)
#
is_equal "${result}" "49.7500"
#
echo -e "${GRE}=========== $FUNCNAME end ===========${NOC}"
#
}
function
coins_cross_transfer
()
{
local
key
=
"
${
1
}
"
...
...
@@ -660,21 +650,21 @@ function lockBty() {
echo
-e
"
${
GRE
}
===========
$FUNCNAME
end ===========
${
NOC
}
"
}
function
lockChain33Ycc
()
{
echo
-e
"
${
GRE
}
===========
$FUNCNAME
begin ===========
${
NOC
}
"
echo
-e
"
${
GRE
}
===== chain33 端 lock ERC20 YCC ======
${
NOC
}
"
# echo '2:#配置自动转离线钱包(YCC, 100, 60%)'
offline_set_offline_token_Chain33Ycc
lock_chain33_ycc_multisign 30 30 0
lock_chain33_ycc_multisign 70 40 60
lock_chain33_ycc_multisign 260 120 240
lock_chain33_ycc_multisign 10 52 318
# transfer test
offline_transfer_multisign_Chain33Ycc_test
echo
-e
"
${
GRE
}
===========
$FUNCNAME
end ===========
${
NOC
}
"
}
#
function lockChain33Ycc() {
#
echo -e "${GRE}=========== $FUNCNAME begin ===========${NOC}"
#
echo -e "${GRE}===== chain33 端 lock ERC20 YCC ======${NOC}"
#
# echo '2:#配置自动转离线钱包(YCC, 100, 60%)'
#
offline_set_offline_token_Chain33Ycc
#
#
lock_chain33_ycc_multisign 30 30 0
#
lock_chain33_ycc_multisign 70 40 60
#
lock_chain33_ycc_multisign 260 120 240
#
lock_chain33_ycc_multisign 10 52 318
#
#
# transfer test
#
offline_transfer_multisign_Chain33Ycc_test
#
echo -e "${GRE}=========== $FUNCNAME end ===========${NOC}"
#
}
function
lockEth
()
{
echo
-e
"
${
GRE
}
===========
$FUNCNAME
begin ===========
${
NOC
}
"
...
...
@@ -695,26 +685,26 @@ function lockEth() {
echo
-e
"
${
GRE
}
===========
$FUNCNAME
end ===========
${
NOC
}
"
}
function
lockEthByc
()
{
echo
-e
"
${
GRE
}
===========
$FUNCNAME
begin ===========
${
NOC
}
"
echo
-e
"
${
GRE
}
===== ethereum 端 lock ERC20 Byc ======
${
NOC
}
"
# echo '2:#配置自动转离线钱包(ycc, 100, 40%)'
offline_set_offline_token_EthByc
# 重启 nonce 会不统一 要重启一下
restart_ebrelayerA
lock_ethereum_byc_multisign 70 70 0
lock_ethereum_byc_multisign 30 60 40
lock_ethereum_byc_multisign 60 72 88
# multisignEthAddr 要有手续费
${
CLIA
}
ethereum transfer
-k
"
${
ethDeployKey
}
"
-m
10
-r
"
${
multisignEthAddr
}
"
sleep
10
# transfer
offline_transfer_multisign_EthByc
echo
-e
"
${
GRE
}
===========
$FUNCNAME
end ===========
${
NOC
}
"
}
#
function lockEthByc() {
#
echo -e "${GRE}=========== $FUNCNAME begin ===========${NOC}"
#
echo -e "${GRE}===== ethereum 端 lock ERC20 Byc ======${NOC}"
#
# echo '2:#配置自动转离线钱包(ycc, 100, 40%)'
#
offline_set_offline_token_EthByc
#
# 重启 nonce 会不统一 要重启一下
#
restart_ebrelayerA
#
#
lock_ethereum_byc_multisign 70 70 0
#
lock_ethereum_byc_multisign 30 60 40
#
lock_ethereum_byc_multisign 60 72 88
#
#
# multisignEthAddr 要有手续费
#
${CLIA} ethereum transfer -k "${ethDeployKey}" -m 10 -r "${multisignEthAddr}"
#
sleep 10
#
#
# transfer
#
offline_transfer_multisign_EthByc
#
echo -e "${GRE}=========== $FUNCNAME end ===========${NOC}"
#
}
function
lockEthUSDT
()
{
echo
-e
"
${
GRE
}
===========
$FUNCNAME
begin ===========
${
NOC
}
"
...
...
@@ -790,8 +780,8 @@ function StartDockerRelayerDeploy() {
InitAndOfflineDeploy
# 设置 ethereum symbol
${
Boss4xCLI
}
ethereum offline set_symbol
-s
"ETH"
-c
"
${
ethBridgeBank
}
"
-d
"
${
ethDeployAddr
}
"
ethereum_offline_sign_send
"set_symbol.txt"
#
${Boss4xCLI} ethereum offline set_symbol -s "ETH" -c "${ethBridgeBank}" -d "${ethDeployAddr}"
#
ethereum_offline_sign_send "set_symbol.txt"
# 设置离线多签数据
Chain33Cli
=
${
MainCli
}
...
...
@@ -821,12 +811,12 @@ function StartDockerRelayerDeploy() {
# InitTokenAddr
offline_create_bridge_token_eth_BTY
offline_create_bridge_token_chain33_ETH
"ETH"
offline_deploy_erc20_eth_BYC
offline_create_bridge_token_chain33_BYC
offline_deploy_erc20_chain33_YCC
offline_create_bridge_token_eth_YCC
offline_deploy_erc20_chain33_ZBC
offline_create_bridge_token_eth_ZBC
#
offline_deploy_erc20_eth_BYC
#
offline_create_bridge_token_chain33_BYC
#
offline_deploy_erc20_chain33_YCC
#
offline_create_bridge_token_eth_YCC
#
offline_deploy_erc20_chain33_ZBC
#
offline_create_bridge_token_eth_ZBC
# offline_deploy_erc20_eth_USDT
offline_deploy_erc20_create_tether_usdt_USDT
offline_create_bridge_token_chain33_USDT
...
...
@@ -834,10 +824,10 @@ function StartDockerRelayerDeploy() {
# shellcheck disable=SC2086
{
docker
cp
"
${
chain33EthBridgeTokenAddr
}
.abi"
"
${
dockerNamePrefix
}
_ebrelayera_1"
:/root/
${
chain33EthBridgeTokenAddr
}
.abi
docker
cp
"
${
chain33BycBridgeTokenAddr
}
.abi"
"
${
dockerNamePrefix
}
_ebrelayera_1"
:/root/
${
chain33BycBridgeTokenAddr
}
.abi
#
docker cp "${chain33BycBridgeTokenAddr}.abi" "${dockerNamePrefix}_ebrelayera_1":/root/${chain33BycBridgeTokenAddr}.abi
docker
cp
"
${
chain33USDTBridgeTokenAddr
}
.abi"
"
${
dockerNamePrefix
}
_ebrelayera_1"
:/root/
${
chain33USDTBridgeTokenAddr
}
.abi
docker
cp
"
${
chain33YccERC20TokenAddr
}
.abi"
"
${
dockerNamePrefix
}
_ebrelayera_1"
:/root/
${
chain33YccERC20TokenAddr
}
.abi
docker
cp
"
${
ethereumYccBridgeTokenAddr
}
.abi"
"
${
dockerNamePrefix
}
_ebrelayera_1"
:/root/
${
ethereumYccBridgeTokenAddr
}
.abi
#
docker cp "${chain33YccERC20TokenAddr}.abi" "${dockerNamePrefix}_ebrelayera_1":/root/${chain33YccERC20TokenAddr}.abi
#
docker cp "${ethereumYccBridgeTokenAddr}.abi" "${dockerNamePrefix}_ebrelayera_1":/root/${ethereumYccBridgeTokenAddr}.abi
}
# 重启,因为relayerA的验证人地址和部署人的地址是一样的,所以需要重新启动relayer,更新nonce
...
...
@@ -855,14 +845,8 @@ function echo_addrs() {
echo
-e
"
${
GRE
}
chain33BtyERC20TokenAddr:
${
chain33BtyERC20TokenAddr
}
${
NOC
}
"
echo
-e
"
${
GRE
}
chain33EthBridgeTokenAddr:
${
chain33EthBridgeTokenAddr
}
${
NOC
}
"
echo
-e
"
${
GRE
}
ethereumBtyBridgeTokenAddr:
${
ethereumBtyBridgeTokenAddr
}
${
NOC
}
"
echo
-e
"
${
GRE
}
ethereumBycERC20TokenAddr:
${
ethereumBycERC20TokenAddr
}
${
NOC
}
"
echo
-e
"
${
GRE
}
chain33BycBridgeTokenAddr:
${
chain33BycBridgeTokenAddr
}
${
NOC
}
"
echo
-e
"
${
GRE
}
ethereumUSDTERC20TokenAddr:
${
ethereumUSDTERC20TokenAddr
}
${
NOC
}
"
echo
-e
"
${
GRE
}
chain33USDTBridgeTokenAddr:
${
chain33USDTBridgeTokenAddr
}
${
NOC
}
"
echo
-e
"
${
GRE
}
chain33YccERC20TokenAddr:
${
chain33YccERC20TokenAddr
}
${
NOC
}
"
echo
-e
"
${
GRE
}
ethereumYccBridgeTokenAddr:
${
ethereumYccBridgeTokenAddr
}
${
NOC
}
"
echo
-e
"
${
GRE
}
chain33ZbcERC20TokenAddr:
${
chain33ZbcERC20TokenAddr
}
${
NOC
}
"
echo
-e
"
${
GRE
}
ethereumZbcBridgeTokenAddr:
${
ethereumZbcBridgeTokenAddr
}
${
NOC
}
"
echo
-e
"
${
GRE
}
multisignChain33Addr:
${
multisignChain33Addr
}
${
NOC
}
"
echo
-e
"
${
GRE
}
multisignEthAddr:
${
multisignEthAddr
}
${
NOC
}
"
# shellcheck disable=SC2154
...
...
@@ -913,21 +897,15 @@ function test_all() {
Chain33Cli
=
${
Para8901Cli
}
TestChain33ToEthAssets
TestETH2Chain33Assets
TestChain33ToEthZBCAssets
TestETH2Chain33Byc
TestETH2Chain33USDT
Chain33Cli
=
${
Para8901Cli
}
lockBty
lockChain33Ycc
lockEth
lockEthByc
lockEthUSDT
# 离线多签地址转入阈值设大
offline_set_offline_token_Bty 100000000000000 10
offline_set_offline_token_Chain33Ycc 100000000000000 10
offline_set_offline_token_Eth 100000000000000 10
offline_set_offline_token_EthByc 100000000000000 10
offline_set_offline_token_EthUSDT 100000000000000 10
}
plugin/dapp/cross2eth/cmd/build/public/offlinePublic.sh
View file @
f7a27fa1
...
...
@@ -70,17 +70,17 @@ function InitAndOfflineDeploy() {
# 在 Eth 上部署合约
# shellcheck disable=SC2154
${
Boss4xCLI
}
ethereum offline create
-p
"25,25,25,25"
-o
"
${
ethDeployAddr
}
"
-v
"
${
ethValidatorAddra
}
,
${
ethValidatorAddrb
}
,
${
ethValidatorAddrc
}
,
${
ethValidatorAddrd
}
"
${
Boss4xCLI
}
ethereum offline create
-
s
"ETH"
-
p
"25,25,25,25"
-o
"
${
ethDeployAddr
}
"
-v
"
${
ethValidatorAddra
}
,
${
ethValidatorAddrb
}
,
${
ethValidatorAddrc
}
,
${
ethValidatorAddrd
}
"
${
Boss4xCLI
}
ethereum offline sign
-k
"
${
ethDeployKey
}
"
result
=
$(${
Boss4xCLI
}
ethereum offline send
-f
"deploysigntxs.txt"
)
for
i
in
{
0..7
}
;
do
hash
=
$(
echo
"
${
result
}
"
| jq
-r
".[
$i
].TxHash"
)
check_eth_tx
"
${
hash
}
"
done
BridgeRegistryOnEth
=
$(
echo
"
${
result
}
"
| jq
-r
".[6].ContractAddr"
)
ethBridgeBank
=
$(
echo
"
${
result
}
"
| jq
-r
".[3].ContractAddr"
)
BridgeRegistryOnEth
=
$(
echo
"
${
result
}
"
| jq
-r
".[7].ContractAddr"
)
# shellcheck disable=SC2034
multisignEthAddr
=
$(
echo
"
${
result
}
"
| jq
-r
".[
7
].ContractAddr"
)
multisignEthAddr
=
$(
echo
"
${
result
}
"
| jq
-r
".[
8
].ContractAddr"
)
${
CLIA
}
ethereum multisign set_multiSign
-a
"
${
multisignEthAddr
}
"
# 拷贝 BridgeRegistry.abi 和 BridgeBank.abi
...
...
plugin/dapp/cross2eth/ebrelayer/proto/config.proto
View file @
f7a27fa1
...
...
@@ -16,7 +16,6 @@ message SyncTxConfig {
int64
startSyncHeight
=
10
;
int64
startSyncSequence
=
11
;
string
startSyncHash
=
12
;
repeated
string
contracts
=
13
;
}
message
Log
{
...
...
plugin/dapp/cross2eth/ebrelayer/relayer.toml
View file @
f7a27fa1
...
...
@@ -5,8 +5,6 @@ ChainName="" #链的名称,用来区分主链和平行链,如user.p.xxx.,必
JrpcBindAddr
=
"localhost:9901"
EthProviderCli
=
"http://127.0.0.1:7545"
EthProvider
=
"ws://127.0.0.1:7545/"
#EthProvider="wss://rinkeby.infura.io/ws/v3/404eb4acc421426ebeb6e92c7ce9a270"
#EthProvider="wss://ropsten.infura.io/ws/v3/404eb4acc421426ebeb6e92c7ce9a270"
EthMaturityDegree
=
10
EthBlockFetchPeriod
=
5000
BridgeRegistryOnChain33
=
""
...
...
@@ -22,11 +20,7 @@ dbdriver="leveldb"
dbPath
=
"datadir"
dbCache
=
64
fetchHeightPeriodMs
=
5000
contracts
=
["165UZpSHske8hryahjM91kAWMJRW47Hn7E"]
#如果需要配置起始的块的信息,则为了保持一致性,三项缺一不可,或者都不配置
#startSyncHeight=24531
#startSyncSequence=24531
#startSyncHash="0xb96168940ceebc12dcf4a4911ec8f509344f5c8591af37a49f4fb5f433093d2e"
startSyncHeight
=
0
startSyncSequence
=
0
startSyncHash
=
""
...
...
@@ -34,8 +28,6 @@ startSyncHash=""
[deploy4chain33]
#合约部署人员私钥,用于部署合约时签名使用
operatorAddr
=
"14KEKbYtKKQm4wMthSK9J4La4nAiidGozt"
#合约部署人员私钥,用于部署合约时签名使用
deployerPrivateKey
=
"0xcc38546e9e659d15e6b4893f0ab32a06d103931a8230b0bde71459d2b27d6944"
#验证人地址,至少配置3个以上,即大于等于3个
validatorsAddr
=[
"14KEKbYtKKQm4wMthSK9J4La4nAiidGozt"
,
"13KTf57aCkVVJYNJBXBBveiA5V811SrLcT"
,
"1JQwQWsShTHC4zxHzbUfYQK4kRBriUQdEe"
,
"1NHuKqoKe3hyv52PF8XBAyaTmJWAqA2Jbb"
]
#验证人权重
...
...
@@ -44,8 +36,6 @@ initPowers=[96, 1, 1, 1]
[deploy]
#合约部署人员私钥,用于部署合约时签名使用
operatorAddr
=
"0x8afdadfc88a1087c9a1d6c0f5dd04634b87f303a"
#合约部署人员私钥,用于部署合约时签名使用
deployerPrivateKey
=
"8656d2bc732a8a816a461ba5e2d8aac7c7f85c26a813df30d5327210465eb230"
#验证人地址,至少配置3个以上,即大于等于3个
validatorsAddr
=[
"0x92C8b16aFD6d423652559C6E266cBE1c29Bfd84f"
,
"0x0df9a824699bc5878232c9e612fe1a5346a5a368"
,
"0xcb074cb21cdddf3ce9c3c0a7ac4497d633c9d9f1"
,
"0xd9dab021e74ecf475788ed7b61356056b2095830"
]
#验证人权重
...
...
plugin/dapp/cross2eth/ebrelayer/types/config.pb.go
View file @
f7a27fa1
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.23.0
// protoc v3.9.1
// source: config.proto
package
types
import
(
reflect
"reflect"
sync
"sync"
fmt
"fmt"
proto
"github.com/golang/protobuf/proto"
protoreflect
"google.golang.org/protobuf/reflect/protoreflect"
protoimpl
"google.golang.org/protobuf/runtime/protoimpl"
math
"math"
)
const
(
// Verify that this generated code is sufficiently up-to-date.
_
=
protoimpl
.
EnforceVersion
(
20
-
protoimpl
.
MinVersion
)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_
=
protoimpl
.
EnforceVersion
(
protoimpl
.
MaxVersion
-
20
)
)
// Reference imports to suppress errors if they are not otherwise used.
var
_
=
proto
.
Marshal
var
_
=
fmt
.
Errorf
var
_
=
math
.
Inf
// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const
_
=
proto
.
ProtoPackageIsVersion4
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const
_
=
proto
.
ProtoPackageIsVersion3
// please upgrade the proto package
type
SyncTxConfig
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Chain33Host
string
`protobuf:"bytes,1,opt,name=chain33host,proto3" json:"chain33host,omitempty"`
PushHost
string
`protobuf:"bytes,2,opt,name=pushHost,proto3" json:"pushHost,omitempty"`
PushName
string
`protobuf:"bytes,3,opt,name=pushName,proto3" json:"pushName,omitempty"`
PushBind
string
`protobuf:"bytes,4,opt,name=pushBind,proto3" json:"pushBind,omitempty"`
MaturityDegree
int32
`protobuf:"varint,5,opt,name=maturityDegree,proto3" json:"maturityDegree,omitempty"`
Dbdriver
string
`protobuf:"bytes,6,opt,name=dbdriver,proto3" json:"dbdriver,omitempty"`
//数据库类型
DbPath
string
`protobuf:"bytes,7,opt,name=dbPath,proto3" json:"dbPath,omitempty"`
//数据库存储目录
DbCache
int32
`protobuf:"varint,8,opt,name=dbCache,proto3" json:"dbCache,omitempty"`
//数据库缓存大小
Dbdriver
string
`protobuf:"bytes,6,opt,name=dbdriver,proto3" json:"dbdriver,omitempty"`
DbPath
string
`protobuf:"bytes,7,opt,name=dbPath,proto3" json:"dbPath,omitempty"`
DbCache
int32
`protobuf:"varint,8,opt,name=dbCache,proto3" json:"dbCache,omitempty"`
FetchHeightPeriodMs
int64
`protobuf:"varint,9,opt,name=fetchHeightPeriodMs,proto3" json:"fetchHeightPeriodMs,omitempty"`
StartSyncHeight
int64
`protobuf:"varint,10,opt,name=startSyncHeight,proto3" json:"startSyncHeight,omitempty"`
StartSyncSequence
int64
`protobuf:"varint,11,opt,name=startSyncSequence,proto3" json:"startSyncSequence,omitempty"`
StartSyncHash
string
`protobuf:"bytes,12,opt,name=startSyncHash,proto3" json:"startSyncHash,omitempty"`
Contracts
[]
string
`protobuf:"bytes,13,rep,name=contracts,proto3" json:"contracts,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
x
*
SyncTxConfig
)
Reset
()
{
*
x
=
SyncTxConfig
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_config_proto_msgTypes
[
0
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
func
(
m
*
SyncTxConfig
)
Reset
()
{
*
m
=
SyncTxConfig
{}
}
func
(
m
*
SyncTxConfig
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
SyncTxConfig
)
ProtoMessage
()
{}
func
(
*
SyncTxConfig
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_3eaf2c85e69e9ea4
,
[]
int
{
0
}
}
func
(
x
*
SyncTxConfig
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
func
(
m
*
SyncTxConfig
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_SyncTxConfig
.
Unmarshal
(
m
,
b
)
}
func
(
*
SyncTxConfig
)
ProtoMessage
()
{}
func
(
x
*
SyncTxConfig
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_config_proto_msgTypes
[
0
]
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
)
func
(
m
*
SyncTxConfig
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_SyncTxConfig
.
Marshal
(
b
,
m
,
deterministic
)
}
// Deprecated: Use SyncTxConfig.ProtoReflect.Descriptor instead.
func
(
*
SyncTxConfig
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_config_proto_rawDescGZIP
(),
[]
int
{
0
}
func
(
m
*
SyncTxConfig
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_SyncTxConfig
.
Merge
(
m
,
src
)
}
func
(
m
*
SyncTxConfig
)
XXX_Size
()
int
{
return
xxx_messageInfo_SyncTxConfig
.
Size
(
m
)
}
func
(
m
*
SyncTxConfig
)
XXX_DiscardUnknown
()
{
xxx_messageInfo_SyncTxConfig
.
DiscardUnknown
(
m
)
}
func
(
x
*
SyncTxConfig
)
GetChain33Host
()
string
{
if
x
!=
nil
{
return
x
.
Chain33Host
var
xxx_messageInfo_SyncTxConfig
proto
.
InternalMessageInfo
func
(
m
*
SyncTxConfig
)
GetChain33Host
()
string
{
if
m
!=
nil
{
return
m
.
Chain33Host
}
return
""
}
func
(
x
*
SyncTxConfig
)
GetPushHost
()
string
{
if
x
!=
nil
{
return
x
.
PushHost
func
(
m
*
SyncTxConfig
)
GetPushHost
()
string
{
if
m
!=
nil
{
return
m
.
PushHost
}
return
""
}
func
(
x
*
SyncTxConfig
)
GetPushName
()
string
{
if
x
!=
nil
{
return
x
.
PushName
func
(
m
*
SyncTxConfig
)
GetPushName
()
string
{
if
m
!=
nil
{
return
m
.
PushName
}
return
""
}
func
(
x
*
SyncTxConfig
)
GetPushBind
()
string
{
if
x
!=
nil
{
return
x
.
PushBind
func
(
m
*
SyncTxConfig
)
GetPushBind
()
string
{
if
m
!=
nil
{
return
m
.
PushBind
}
return
""
}
func
(
x
*
SyncTxConfig
)
GetMaturityDegree
()
int32
{
if
x
!=
nil
{
return
x
.
MaturityDegree
func
(
m
*
SyncTxConfig
)
GetMaturityDegree
()
int32
{
if
m
!=
nil
{
return
m
.
MaturityDegree
}
return
0
}
func
(
x
*
SyncTxConfig
)
GetDbdriver
()
string
{
if
x
!=
nil
{
return
x
.
Dbdriver
func
(
m
*
SyncTxConfig
)
GetDbdriver
()
string
{
if
m
!=
nil
{
return
m
.
Dbdriver
}
return
""
}
func
(
x
*
SyncTxConfig
)
GetDbPath
()
string
{
if
x
!=
nil
{
return
x
.
DbPath
func
(
m
*
SyncTxConfig
)
GetDbPath
()
string
{
if
m
!=
nil
{
return
m
.
DbPath
}
return
""
}
func
(
x
*
SyncTxConfig
)
GetDbCache
()
int32
{
if
x
!=
nil
{
return
x
.
DbCache
func
(
m
*
SyncTxConfig
)
GetDbCache
()
int32
{
if
m
!=
nil
{
return
m
.
DbCache
}
return
0
}
func
(
x
*
SyncTxConfig
)
GetFetchHeightPeriodMs
()
int64
{
if
x
!=
nil
{
return
x
.
FetchHeightPeriodMs
func
(
m
*
SyncTxConfig
)
GetFetchHeightPeriodMs
()
int64
{
if
m
!=
nil
{
return
m
.
FetchHeightPeriodMs
}
return
0
}
func
(
x
*
SyncTxConfig
)
GetStartSyncHeight
()
int64
{
if
x
!=
nil
{
return
x
.
StartSyncHeight
func
(
m
*
SyncTxConfig
)
GetStartSyncHeight
()
int64
{
if
m
!=
nil
{
return
m
.
StartSyncHeight
}
return
0
}
func
(
x
*
SyncTxConfig
)
GetStartSyncSequence
()
int64
{
if
x
!=
nil
{
return
x
.
StartSyncSequence
func
(
m
*
SyncTxConfig
)
GetStartSyncSequence
()
int64
{
if
m
!=
nil
{
return
m
.
StartSyncSequence
}
return
0
}
func
(
x
*
SyncTxConfig
)
GetStartSyncHash
()
string
{
if
x
!=
nil
{
return
x
.
StartSyncHash
func
(
m
*
SyncTxConfig
)
GetStartSyncHash
()
string
{
if
m
!=
nil
{
return
m
.
StartSyncHash
}
return
""
}
func
(
x
*
SyncTxConfig
)
GetContracts
()
[]
string
{
if
x
!=
nil
{
return
x
.
Contracts
}
return
nil
}
type
Log
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Loglevel
string
`protobuf:"bytes,1,opt,name=loglevel,proto3" json:"loglevel,omitempty"`
LogConsoleLevel
string
`protobuf:"bytes,2,opt,name=logConsoleLevel,proto3" json:"logConsoleLevel,omitempty"`
LogFile
string
`protobuf:"bytes,3,opt,name=logFile,proto3" json:"logFile,omitempty"`
...
...
@@ -184,119 +158,111 @@ type Log struct {
Compress
bool
`protobuf:"varint,8,opt,name=compress,proto3" json:"compress,omitempty"`
CallerFile
bool
`protobuf:"varint,9,opt,name=callerFile,proto3" json:"callerFile,omitempty"`
CallerFunction
bool
`protobuf:"varint,10,opt,name=callerFunction,proto3" json:"callerFunction,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
x
*
Log
)
Reset
()
{
*
x
=
Log
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_config_proto_msgTypes
[
1
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
func
(
m
*
Log
)
Reset
()
{
*
m
=
Log
{}
}
func
(
m
*
Log
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Log
)
ProtoMessage
()
{}
func
(
*
Log
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_3eaf2c85e69e9ea4
,
[]
int
{
1
}
}
func
(
x
*
Log
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
func
(
m
*
Log
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_Log
.
Unmarshal
(
m
,
b
)
}
func
(
*
Log
)
ProtoMessage
()
{}
func
(
x
*
Log
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_config_proto_msgTypes
[
1
]
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
)
func
(
m
*
Log
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_Log
.
Marshal
(
b
,
m
,
deterministic
)
}
// Deprecated: Use Log.ProtoReflect.Descriptor instead.
func
(
*
Log
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_config_proto_rawDescGZIP
(),
[]
int
{
1
}
func
(
m
*
Log
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_Log
.
Merge
(
m
,
src
)
}
func
(
m
*
Log
)
XXX_Size
()
int
{
return
xxx_messageInfo_Log
.
Size
(
m
)
}
func
(
m
*
Log
)
XXX_DiscardUnknown
()
{
xxx_messageInfo_Log
.
DiscardUnknown
(
m
)
}
func
(
x
*
Log
)
GetLoglevel
()
string
{
if
x
!=
nil
{
return
x
.
Loglevel
var
xxx_messageInfo_Log
proto
.
InternalMessageInfo
func
(
m
*
Log
)
GetLoglevel
()
string
{
if
m
!=
nil
{
return
m
.
Loglevel
}
return
""
}
func
(
x
*
Log
)
GetLogConsoleLevel
()
string
{
if
x
!=
nil
{
return
x
.
LogConsoleLevel
func
(
m
*
Log
)
GetLogConsoleLevel
()
string
{
if
m
!=
nil
{
return
m
.
LogConsoleLevel
}
return
""
}
func
(
x
*
Log
)
GetLogFile
()
string
{
if
x
!=
nil
{
return
x
.
LogFile
func
(
m
*
Log
)
GetLogFile
()
string
{
if
m
!=
nil
{
return
m
.
LogFile
}
return
""
}
func
(
x
*
Log
)
GetMaxFileSize
()
uint32
{
if
x
!=
nil
{
return
x
.
MaxFileSize
func
(
m
*
Log
)
GetMaxFileSize
()
uint32
{
if
m
!=
nil
{
return
m
.
MaxFileSize
}
return
0
}
func
(
x
*
Log
)
GetMaxBackups
()
uint32
{
if
x
!=
nil
{
return
x
.
MaxBackups
func
(
m
*
Log
)
GetMaxBackups
()
uint32
{
if
m
!=
nil
{
return
m
.
MaxBackups
}
return
0
}
func
(
x
*
Log
)
GetMaxAge
()
uint32
{
if
x
!=
nil
{
return
x
.
MaxAge
func
(
m
*
Log
)
GetMaxAge
()
uint32
{
if
m
!=
nil
{
return
m
.
MaxAge
}
return
0
}
func
(
x
*
Log
)
GetLocalTime
()
bool
{
if
x
!=
nil
{
return
x
.
LocalTime
func
(
m
*
Log
)
GetLocalTime
()
bool
{
if
m
!=
nil
{
return
m
.
LocalTime
}
return
false
}
func
(
x
*
Log
)
GetCompress
()
bool
{
if
x
!=
nil
{
return
x
.
Compress
func
(
m
*
Log
)
GetCompress
()
bool
{
if
m
!=
nil
{
return
m
.
Compress
}
return
false
}
func
(
x
*
Log
)
GetCallerFile
()
bool
{
if
x
!=
nil
{
return
x
.
CallerFile
func
(
m
*
Log
)
GetCallerFile
()
bool
{
if
m
!=
nil
{
return
m
.
CallerFile
}
return
false
}
func
(
x
*
Log
)
GetCallerFunction
()
bool
{
if
x
!=
nil
{
return
x
.
CallerFunction
func
(
m
*
Log
)
GetCallerFunction
()
bool
{
if
m
!=
nil
{
return
m
.
CallerFunction
}
return
false
}
type
RelayerConfig
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Title
string
`protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
SyncTxConfig
*
SyncTxConfig
`protobuf:"bytes,2,opt,name=syncTxConfig,proto3" json:"syncTxConfig,omitempty"`
Log
*
Log
`protobuf:"bytes,3,opt,name=log,proto3" json:"log,omitempty"`
JrpcBindAddr
string
`protobuf:"bytes,4,opt,name=jrpcBindAddr,proto3" json:"jrpcBindAddr,omitempty"`
// Jrpc服务地址
JrpcBindAddr
string
`protobuf:"bytes,4,opt,name=jrpcBindAddr,proto3" json:"jrpcBindAddr,omitempty"`
EthProvider
string
`protobuf:"bytes,5,opt,name=ethProvider,proto3" json:"ethProvider,omitempty"`
BridgeRegistry
string
`protobuf:"bytes,6,opt,name=bridgeRegistry,proto3" json:"bridgeRegistry,omitempty"`
Deploy
*
Deploy
`protobuf:"bytes,7,opt,name=deploy,proto3" json:"deploy,omitempty"`
...
...
@@ -307,143 +273,135 @@ type RelayerConfig struct {
BridgeRegistryOnChain33
string
`protobuf:"bytes,12,opt,name=bridgeRegistryOnChain33,proto3" json:"bridgeRegistryOnChain33,omitempty"`
ChainName
string
`protobuf:"bytes,13,opt,name=chainName,proto3" json:"chainName,omitempty"`
ChainID4Chain33
int32
`protobuf:"varint,14,opt,name=chainID4Chain33,proto3" json:"chainID4Chain33,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
x
*
RelayerConfig
)
Reset
()
{
*
x
=
RelayerConfig
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_config_proto_msgTypes
[
2
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
func
(
m
*
RelayerConfig
)
Reset
()
{
*
m
=
RelayerConfig
{}
}
func
(
m
*
RelayerConfig
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
RelayerConfig
)
ProtoMessage
()
{}
func
(
*
RelayerConfig
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_3eaf2c85e69e9ea4
,
[]
int
{
2
}
}
func
(
x
*
RelayerConfig
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
func
(
m
*
RelayerConfig
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_RelayerConfig
.
Unmarshal
(
m
,
b
)
}
func
(
*
RelayerConfig
)
ProtoMessage
()
{}
func
(
x
*
RelayerConfig
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_config_proto_msgTypes
[
2
]
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
)
func
(
m
*
RelayerConfig
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_RelayerConfig
.
Marshal
(
b
,
m
,
deterministic
)
}
// Deprecated: Use RelayerConfig.ProtoReflect.Descriptor instead.
func
(
*
RelayerConfig
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_config_proto_rawDescGZIP
(),
[]
int
{
2
}
func
(
m
*
RelayerConfig
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_RelayerConfig
.
Merge
(
m
,
src
)
}
func
(
m
*
RelayerConfig
)
XXX_Size
()
int
{
return
xxx_messageInfo_RelayerConfig
.
Size
(
m
)
}
func
(
m
*
RelayerConfig
)
XXX_DiscardUnknown
()
{
xxx_messageInfo_RelayerConfig
.
DiscardUnknown
(
m
)
}
func
(
x
*
RelayerConfig
)
GetTitle
()
string
{
if
x
!=
nil
{
return
x
.
Title
var
xxx_messageInfo_RelayerConfig
proto
.
InternalMessageInfo
func
(
m
*
RelayerConfig
)
GetTitle
()
string
{
if
m
!=
nil
{
return
m
.
Title
}
return
""
}
func
(
x
*
RelayerConfig
)
GetSyncTxConfig
()
*
SyncTxConfig
{
if
x
!=
nil
{
return
x
.
SyncTxConfig
func
(
m
*
RelayerConfig
)
GetSyncTxConfig
()
*
SyncTxConfig
{
if
m
!=
nil
{
return
m
.
SyncTxConfig
}
return
nil
}
func
(
x
*
RelayerConfig
)
GetLog
()
*
Log
{
if
x
!=
nil
{
return
x
.
Log
func
(
m
*
RelayerConfig
)
GetLog
()
*
Log
{
if
m
!=
nil
{
return
m
.
Log
}
return
nil
}
func
(
x
*
RelayerConfig
)
GetJrpcBindAddr
()
string
{
if
x
!=
nil
{
return
x
.
JrpcBindAddr
func
(
m
*
RelayerConfig
)
GetJrpcBindAddr
()
string
{
if
m
!=
nil
{
return
m
.
JrpcBindAddr
}
return
""
}
func
(
x
*
RelayerConfig
)
GetEthProvider
()
string
{
if
x
!=
nil
{
return
x
.
EthProvider
func
(
m
*
RelayerConfig
)
GetEthProvider
()
string
{
if
m
!=
nil
{
return
m
.
EthProvider
}
return
""
}
func
(
x
*
RelayerConfig
)
GetBridgeRegistry
()
string
{
if
x
!=
nil
{
return
x
.
BridgeRegistry
func
(
m
*
RelayerConfig
)
GetBridgeRegistry
()
string
{
if
m
!=
nil
{
return
m
.
BridgeRegistry
}
return
""
}
func
(
x
*
RelayerConfig
)
GetDeploy
()
*
Deploy
{
if
x
!=
nil
{
return
x
.
Deploy
func
(
m
*
RelayerConfig
)
GetDeploy
()
*
Deploy
{
if
m
!=
nil
{
return
m
.
Deploy
}
return
nil
}
func
(
x
*
RelayerConfig
)
GetDeploy4Chain33
()
*
Deploy
{
if
x
!=
nil
{
return
x
.
Deploy4Chain33
func
(
m
*
RelayerConfig
)
GetDeploy4Chain33
()
*
Deploy
{
if
m
!=
nil
{
return
m
.
Deploy4Chain33
}
return
nil
}
func
(
x
*
RelayerConfig
)
GetEthMaturityDegree
()
int32
{
if
x
!=
nil
{
return
x
.
EthMaturityDegree
func
(
m
*
RelayerConfig
)
GetEthMaturityDegree
()
int32
{
if
m
!=
nil
{
return
m
.
EthMaturityDegree
}
return
0
}
func
(
x
*
RelayerConfig
)
GetEthBlockFetchPeriod
()
int32
{
if
x
!=
nil
{
return
x
.
EthBlockFetchPeriod
func
(
m
*
RelayerConfig
)
GetEthBlockFetchPeriod
()
int32
{
if
m
!=
nil
{
return
m
.
EthBlockFetchPeriod
}
return
0
}
func
(
x
*
RelayerConfig
)
GetEthProviderCli
()
string
{
if
x
!=
nil
{
return
x
.
EthProviderCli
func
(
m
*
RelayerConfig
)
GetEthProviderCli
()
string
{
if
m
!=
nil
{
return
m
.
EthProviderCli
}
return
""
}
func
(
x
*
RelayerConfig
)
GetBridgeRegistryOnChain33
()
string
{
if
x
!=
nil
{
return
x
.
BridgeRegistryOnChain33
func
(
m
*
RelayerConfig
)
GetBridgeRegistryOnChain33
()
string
{
if
m
!=
nil
{
return
m
.
BridgeRegistryOnChain33
}
return
""
}
func
(
x
*
RelayerConfig
)
GetChainName
()
string
{
if
x
!=
nil
{
return
x
.
ChainName
func
(
m
*
RelayerConfig
)
GetChainName
()
string
{
if
m
!=
nil
{
return
m
.
ChainName
}
return
""
}
func
(
x
*
RelayerConfig
)
GetChainID4Chain33
()
int32
{
if
x
!=
nil
{
return
x
.
ChainID4Chain33
func
(
m
*
RelayerConfig
)
GetChainID4Chain33
()
int32
{
if
m
!=
nil
{
return
m
.
ChainID4Chain33
}
return
0
}
type
SyncTxReceiptConfig
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Chain33Host
string
`protobuf:"bytes,1,opt,name=chain33host,proto3" json:"chain33host,omitempty"`
PushHost
string
`protobuf:"bytes,2,opt,name=pushHost,proto3" json:"pushHost,omitempty"`
PushName
string
`protobuf:"bytes,3,opt,name=pushName,proto3" json:"pushName,omitempty"`
...
...
@@ -452,101 +410,93 @@ type SyncTxReceiptConfig struct {
StartSyncSequence
int64
`protobuf:"varint,6,opt,name=startSyncSequence,proto3" json:"startSyncSequence,omitempty"`
StartSyncHash
string
`protobuf:"bytes,7,opt,name=startSyncHash,proto3" json:"startSyncHash,omitempty"`
Contracts
[]
string
`protobuf:"bytes,8,rep,name=contracts,proto3" json:"contracts,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
x
*
SyncTxReceiptConfig
)
Reset
()
{
*
x
=
SyncTxReceiptConfig
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_config_proto_msgTypes
[
3
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
func
(
m
*
SyncTxReceiptConfig
)
Reset
()
{
*
m
=
SyncTxReceiptConfig
{}
}
func
(
m
*
SyncTxReceiptConfig
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
SyncTxReceiptConfig
)
ProtoMessage
()
{}
func
(
*
SyncTxReceiptConfig
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_3eaf2c85e69e9ea4
,
[]
int
{
3
}
}
func
(
x
*
SyncTxReceiptConfig
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
func
(
m
*
SyncTxReceiptConfig
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_SyncTxReceiptConfig
.
Unmarshal
(
m
,
b
)
}
func
(
*
SyncTxReceiptConfig
)
ProtoMessage
()
{}
func
(
x
*
SyncTxReceiptConfig
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_config_proto_msgTypes
[
3
]
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
)
func
(
m
*
SyncTxReceiptConfig
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_SyncTxReceiptConfig
.
Marshal
(
b
,
m
,
deterministic
)
}
// Deprecated: Use SyncTxReceiptConfig.ProtoReflect.Descriptor instead.
func
(
*
SyncTxReceiptConfig
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_config_proto_rawDescGZIP
(),
[]
int
{
3
}
func
(
m
*
SyncTxReceiptConfig
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_SyncTxReceiptConfig
.
Merge
(
m
,
src
)
}
func
(
m
*
SyncTxReceiptConfig
)
XXX_Size
()
int
{
return
xxx_messageInfo_SyncTxReceiptConfig
.
Size
(
m
)
}
func
(
m
*
SyncTxReceiptConfig
)
XXX_DiscardUnknown
()
{
xxx_messageInfo_SyncTxReceiptConfig
.
DiscardUnknown
(
m
)
}
var
xxx_messageInfo_SyncTxReceiptConfig
proto
.
InternalMessageInfo
func
(
x
*
SyncTxReceiptConfig
)
GetChain33Host
()
string
{
if
x
!=
nil
{
return
x
.
Chain33Host
func
(
m
*
SyncTxReceiptConfig
)
GetChain33Host
()
string
{
if
m
!=
nil
{
return
m
.
Chain33Host
}
return
""
}
func
(
x
*
SyncTxReceiptConfig
)
GetPushHost
()
string
{
if
x
!=
nil
{
return
x
.
PushHost
func
(
m
*
SyncTxReceiptConfig
)
GetPushHost
()
string
{
if
m
!=
nil
{
return
m
.
PushHost
}
return
""
}
func
(
x
*
SyncTxReceiptConfig
)
GetPushName
()
string
{
if
x
!=
nil
{
return
x
.
PushName
func
(
m
*
SyncTxReceiptConfig
)
GetPushName
()
string
{
if
m
!=
nil
{
return
m
.
PushName
}
return
""
}
func
(
x
*
SyncTxReceiptConfig
)
GetPushBind
()
string
{
if
x
!=
nil
{
return
x
.
PushBind
func
(
m
*
SyncTxReceiptConfig
)
GetPushBind
()
string
{
if
m
!=
nil
{
return
m
.
PushBind
}
return
""
}
func
(
x
*
SyncTxReceiptConfig
)
GetStartSyncHeight
()
int64
{
if
x
!=
nil
{
return
x
.
StartSyncHeight
func
(
m
*
SyncTxReceiptConfig
)
GetStartSyncHeight
()
int64
{
if
m
!=
nil
{
return
m
.
StartSyncHeight
}
return
0
}
func
(
x
*
SyncTxReceiptConfig
)
GetStartSyncSequence
()
int64
{
if
x
!=
nil
{
return
x
.
StartSyncSequence
func
(
m
*
SyncTxReceiptConfig
)
GetStartSyncSequence
()
int64
{
if
m
!=
nil
{
return
m
.
StartSyncSequence
}
return
0
}
func
(
x
*
SyncTxReceiptConfig
)
GetStartSyncHash
()
string
{
if
x
!=
nil
{
return
x
.
StartSyncHash
func
(
m
*
SyncTxReceiptConfig
)
GetStartSyncHash
()
string
{
if
m
!=
nil
{
return
m
.
StartSyncHash
}
return
""
}
func
(
x
*
SyncTxReceiptConfig
)
GetContracts
()
[]
string
{
if
x
!=
nil
{
return
x
.
Contracts
func
(
m
*
SyncTxReceiptConfig
)
GetContracts
()
[]
string
{
if
m
!=
nil
{
return
m
.
Contracts
}
return
nil
}
type
Deploy
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
//操作管理员地址
OperatorAddr
string
`protobuf:"bytes,1,opt,name=operatorAddr,proto3" json:"operatorAddr,omitempty"`
//合约部署人员私钥,用于部署合约时签名使用
...
...
@@ -555,306 +505,123 @@ type Deploy struct {
ValidatorsAddr
[]
string
`protobuf:"bytes,3,rep,name=validatorsAddr,proto3" json:"validatorsAddr,omitempty"`
//验证人权重
InitPowers
[]
int64
`protobuf:"varint,4,rep,packed,name=initPowers,proto3" json:"initPowers,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
x
*
Deploy
)
Reset
()
{
*
x
=
Deploy
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_config_proto_msgTypes
[
4
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
func
(
m
*
Deploy
)
Reset
()
{
*
m
=
Deploy
{}
}
func
(
m
*
Deploy
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Deploy
)
ProtoMessage
()
{}
func
(
*
Deploy
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_3eaf2c85e69e9ea4
,
[]
int
{
4
}
}
func
(
x
*
Deploy
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
func
(
m
*
Deploy
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_Deploy
.
Unmarshal
(
m
,
b
)
}
func
(
*
Deploy
)
ProtoMessage
()
{}
func
(
x
*
Deploy
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_config_proto_msgTypes
[
4
]
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
)
func
(
m
*
Deploy
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_Deploy
.
Marshal
(
b
,
m
,
deterministic
)
}
// Deprecated: Use Deploy.ProtoReflect.Descriptor instead.
func
(
*
Deploy
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_config_proto_rawDescGZIP
(),
[]
int
{
4
}
func
(
m
*
Deploy
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_Deploy
.
Merge
(
m
,
src
)
}
func
(
m
*
Deploy
)
XXX_Size
()
int
{
return
xxx_messageInfo_Deploy
.
Size
(
m
)
}
func
(
m
*
Deploy
)
XXX_DiscardUnknown
()
{
xxx_messageInfo_Deploy
.
DiscardUnknown
(
m
)
}
var
xxx_messageInfo_Deploy
proto
.
InternalMessageInfo
func
(
x
*
Deploy
)
GetOperatorAddr
()
string
{
if
x
!=
nil
{
return
x
.
OperatorAddr
func
(
m
*
Deploy
)
GetOperatorAddr
()
string
{
if
m
!=
nil
{
return
m
.
OperatorAddr
}
return
""
}
func
(
x
*
Deploy
)
GetDeployerPrivateKey
()
string
{
if
x
!=
nil
{
return
x
.
DeployerPrivateKey
func
(
m
*
Deploy
)
GetDeployerPrivateKey
()
string
{
if
m
!=
nil
{
return
m
.
DeployerPrivateKey
}
return
""
}
func
(
x
*
Deploy
)
GetValidatorsAddr
()
[]
string
{
if
x
!=
nil
{
return
x
.
ValidatorsAddr
func
(
m
*
Deploy
)
GetValidatorsAddr
()
[]
string
{
if
m
!=
nil
{
return
m
.
ValidatorsAddr
}
return
nil
}
func
(
x
*
Deploy
)
GetInitPowers
()
[]
int64
{
if
x
!=
nil
{
return
x
.
InitPowers
func
(
m
*
Deploy
)
GetInitPowers
()
[]
int64
{
if
m
!=
nil
{
return
m
.
InitPowers
}
return
nil
}
var
File_config_proto
protoreflect
.
FileDescriptor
var
file_config_proto_rawDesc
=
[]
byte
{
0x0a
,
0x0c
,
0x63
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x12
,
0x05
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x22
,
0xc8
,
0x03
,
0x0a
,
0x0c
,
0x53
,
0x79
,
0x6e
,
0x63
,
0x54
,
0x78
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x12
,
0x20
,
0x0a
,
0x0b
,
0x63
,
0x68
,
0x61
,
0x69
,
0x6e
,
0x33
,
0x33
,
0x68
,
0x6f
,
0x73
,
0x74
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0b
,
0x63
,
0x68
,
0x61
,
0x69
,
0x6e
,
0x33
,
0x33
,
0x68
,
0x6f
,
0x73
,
0x74
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x70
,
0x75
,
0x73
,
0x68
,
0x48
,
0x6f
,
0x73
,
0x74
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x70
,
0x75
,
0x73
,
0x68
,
0x48
,
0x6f
,
0x73
,
0x74
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x70
,
0x75
,
0x73
,
0x68
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x70
,
0x75
,
0x73
,
0x68
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x70
,
0x75
,
0x73
,
0x68
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x70
,
0x75
,
0x73
,
0x68
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x12
,
0x26
,
0x0a
,
0x0e
,
0x6d
,
0x61
,
0x74
,
0x75
,
0x72
,
0x69
,
0x74
,
0x79
,
0x44
,
0x65
,
0x67
,
0x72
,
0x65
,
0x65
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x0e
,
0x6d
,
0x61
,
0x74
,
0x75
,
0x72
,
0x69
,
0x74
,
0x79
,
0x44
,
0x65
,
0x67
,
0x72
,
0x65
,
0x65
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x64
,
0x62
,
0x64
,
0x72
,
0x69
,
0x76
,
0x65
,
0x72
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x64
,
0x62
,
0x64
,
0x72
,
0x69
,
0x76
,
0x65
,
0x72
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x64
,
0x62
,
0x50
,
0x61
,
0x74
,
0x68
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x64
,
0x62
,
0x50
,
0x61
,
0x74
,
0x68
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x64
,
0x62
,
0x43
,
0x61
,
0x63
,
0x68
,
0x65
,
0x18
,
0x08
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x07
,
0x64
,
0x62
,
0x43
,
0x61
,
0x63
,
0x68
,
0x65
,
0x12
,
0x30
,
0x0a
,
0x13
,
0x66
,
0x65
,
0x74
,
0x63
,
0x68
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x50
,
0x65
,
0x72
,
0x69
,
0x6f
,
0x64
,
0x4d
,
0x73
,
0x18
,
0x09
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x13
,
0x66
,
0x65
,
0x74
,
0x63
,
0x68
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x50
,
0x65
,
0x72
,
0x69
,
0x6f
,
0x64
,
0x4d
,
0x73
,
0x12
,
0x28
,
0x0a
,
0x0f
,
0x73
,
0x74
,
0x61
,
0x72
,
0x74
,
0x53
,
0x79
,
0x6e
,
0x63
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x18
,
0x0a
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x0f
,
0x73
,
0x74
,
0x61
,
0x72
,
0x74
,
0x53
,
0x79
,
0x6e
,
0x63
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x12
,
0x2c
,
0x0a
,
0x11
,
0x73
,
0x74
,
0x61
,
0x72
,
0x74
,
0x53
,
0x79
,
0x6e
,
0x63
,
0x53
,
0x65
,
0x71
,
0x75
,
0x65
,
0x6e
,
0x63
,
0x65
,
0x18
,
0x0b
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x11
,
0x73
,
0x74
,
0x61
,
0x72
,
0x74
,
0x53
,
0x79
,
0x6e
,
0x63
,
0x53
,
0x65
,
0x71
,
0x75
,
0x65
,
0x6e
,
0x63
,
0x65
,
0x12
,
0x24
,
0x0a
,
0x0d
,
0x73
,
0x74
,
0x61
,
0x72
,
0x74
,
0x53
,
0x79
,
0x6e
,
0x63
,
0x48
,
0x61
,
0x73
,
0x68
,
0x18
,
0x0c
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0d
,
0x73
,
0x74
,
0x61
,
0x72
,
0x74
,
0x53
,
0x79
,
0x6e
,
0x63
,
0x48
,
0x61
,
0x73
,
0x68
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x63
,
0x6f
,
0x6e
,
0x74
,
0x72
,
0x61
,
0x63
,
0x74
,
0x73
,
0x18
,
0x0d
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x09
,
0x63
,
0x6f
,
0x6e
,
0x74
,
0x72
,
0x61
,
0x63
,
0x74
,
0x73
,
0x22
,
0xc1
,
0x02
,
0x0a
,
0x03
,
0x4c
,
0x6f
,
0x67
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x6c
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x76
,
0x65
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x6c
,
0x6f
,
0x67
,
0x6c
,
0x65
,
0x76
,
0x65
,
0x6c
,
0x12
,
0x28
,
0x0a
,
0x0f
,
0x6c
,
0x6f
,
0x67
,
0x43
,
0x6f
,
0x6e
,
0x73
,
0x6f
,
0x6c
,
0x65
,
0x4c
,
0x65
,
0x76
,
0x65
,
0x6c
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0f
,
0x6c
,
0x6f
,
0x67
,
0x43
,
0x6f
,
0x6e
,
0x73
,
0x6f
,
0x6c
,
0x65
,
0x4c
,
0x65
,
0x76
,
0x65
,
0x6c
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x6c
,
0x6f
,
0x67
,
0x46
,
0x69
,
0x6c
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x6c
,
0x6f
,
0x67
,
0x46
,
0x69
,
0x6c
,
0x65
,
0x12
,
0x20
,
0x0a
,
0x0b
,
0x6d
,
0x61
,
0x78
,
0x46
,
0x69
,
0x6c
,
0x65
,
0x53
,
0x69
,
0x7a
,
0x65
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x0d
,
0x52
,
0x0b
,
0x6d
,
0x61
,
0x78
,
0x46
,
0x69
,
0x6c
,
0x65
,
0x53
,
0x69
,
0x7a
,
0x65
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x6d
,
0x61
,
0x78
,
0x42
,
0x61
,
0x63
,
0x6b
,
0x75
,
0x70
,
0x73
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x0d
,
0x52
,
0x0a
,
0x6d
,
0x61
,
0x78
,
0x42
,
0x61
,
0x63
,
0x6b
,
0x75
,
0x70
,
0x73
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x6d
,
0x61
,
0x78
,
0x41
,
0x67
,
0x65
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x0d
,
0x52
,
0x06
,
0x6d
,
0x61
,
0x78
,
0x41
,
0x67
,
0x65
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x6c
,
0x6f
,
0x63
,
0x61
,
0x6c
,
0x54
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x09
,
0x6c
,
0x6f
,
0x63
,
0x61
,
0x6c
,
0x54
,
0x69
,
0x6d
,
0x65
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x63
,
0x6f
,
0x6d
,
0x70
,
0x72
,
0x65
,
0x73
,
0x73
,
0x18
,
0x08
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x08
,
0x63
,
0x6f
,
0x6d
,
0x70
,
0x72
,
0x65
,
0x73
,
0x73
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x63
,
0x61
,
0x6c
,
0x6c
,
0x65
,
0x72
,
0x46
,
0x69
,
0x6c
,
0x65
,
0x18
,
0x09
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x0a
,
0x63
,
0x61
,
0x6c
,
0x6c
,
0x65
,
0x72
,
0x46
,
0x69
,
0x6c
,
0x65
,
0x12
,
0x26
,
0x0a
,
0x0e
,
0x63
,
0x61
,
0x6c
,
0x6c
,
0x65
,
0x72
,
0x46
,
0x75
,
0x6e
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x0a
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x0e
,
0x63
,
0x61
,
0x6c
,
0x6c
,
0x65
,
0x72
,
0x46
,
0x75
,
0x6e
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x22
,
0xd2
,
0x04
,
0x0a
,
0x0d
,
0x52
,
0x65
,
0x6c
,
0x61
,
0x79
,
0x65
,
0x72
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x74
,
0x69
,
0x74
,
0x6c
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x05
,
0x74
,
0x69
,
0x74
,
0x6c
,
0x65
,
0x12
,
0x37
,
0x0a
,
0x0c
,
0x73
,
0x79
,
0x6e
,
0x63
,
0x54
,
0x78
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x13
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x53
,
0x79
,
0x6e
,
0x63
,
0x54
,
0x78
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x52
,
0x0c
,
0x73
,
0x79
,
0x6e
,
0x63
,
0x54
,
0x78
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x12
,
0x1c
,
0x0a
,
0x03
,
0x6c
,
0x6f
,
0x67
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0a
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x4c
,
0x6f
,
0x67
,
0x52
,
0x03
,
0x6c
,
0x6f
,
0x67
,
0x12
,
0x22
,
0x0a
,
0x0c
,
0x6a
,
0x72
,
0x70
,
0x63
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x41
,
0x64
,
0x64
,
0x72
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0c
,
0x6a
,
0x72
,
0x70
,
0x63
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x41
,
0x64
,
0x64
,
0x72
,
0x12
,
0x20
,
0x0a
,
0x0b
,
0x65
,
0x74
,
0x68
,
0x50
,
0x72
,
0x6f
,
0x76
,
0x69
,
0x64
,
0x65
,
0x72
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0b
,
0x65
,
0x74
,
0x68
,
0x50
,
0x72
,
0x6f
,
0x76
,
0x69
,
0x64
,
0x65
,
0x72
,
0x12
,
0x26
,
0x0a
,
0x0e
,
0x62
,
0x72
,
0x69
,
0x64
,
0x67
,
0x65
,
0x52
,
0x65
,
0x67
,
0x69
,
0x73
,
0x74
,
0x72
,
0x79
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0e
,
0x62
,
0x72
,
0x69
,
0x64
,
0x67
,
0x65
,
0x52
,
0x65
,
0x67
,
0x69
,
0x73
,
0x74
,
0x72
,
0x79
,
0x12
,
0x25
,
0x0a
,
0x06
,
0x64
,
0x65
,
0x70
,
0x6c
,
0x6f
,
0x79
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0d
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x44
,
0x65
,
0x70
,
0x6c
,
0x6f
,
0x79
,
0x52
,
0x06
,
0x64
,
0x65
,
0x70
,
0x6c
,
0x6f
,
0x79
,
0x12
,
0x35
,
0x0a
,
0x0e
,
0x64
,
0x65
,
0x70
,
0x6c
,
0x6f
,
0x79
,
0x34
,
0x63
,
0x68
,
0x61
,
0x69
,
0x6e
,
0x33
,
0x33
,
0x18
,
0x08
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x0d
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x44
,
0x65
,
0x70
,
0x6c
,
0x6f
,
0x79
,
0x52
,
0x0e
,
0x64
,
0x65
,
0x70
,
0x6c
,
0x6f
,
0x79
,
0x34
,
0x63
,
0x68
,
0x61
,
0x69
,
0x6e
,
0x33
,
0x33
,
0x12
,
0x2c
,
0x0a
,
0x11
,
0x65
,
0x74
,
0x68
,
0x4d
,
0x61
,
0x74
,
0x75
,
0x72
,
0x69
,
0x74
,
0x79
,
0x44
,
0x65
,
0x67
,
0x72
,
0x65
,
0x65
,
0x18
,
0x09
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x11
,
0x65
,
0x74
,
0x68
,
0x4d
,
0x61
,
0x74
,
0x75
,
0x72
,
0x69
,
0x74
,
0x79
,
0x44
,
0x65
,
0x67
,
0x72
,
0x65
,
0x65
,
0x12
,
0x30
,
0x0a
,
0x13
,
0x65
,
0x74
,
0x68
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x46
,
0x65
,
0x74
,
0x63
,
0x68
,
0x50
,
0x65
,
0x72
,
0x69
,
0x6f
,
0x64
,
0x18
,
0x0a
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x13
,
0x65
,
0x74
,
0x68
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x46
,
0x65
,
0x74
,
0x63
,
0x68
,
0x50
,
0x65
,
0x72
,
0x69
,
0x6f
,
0x64
,
0x12
,
0x26
,
0x0a
,
0x0e
,
0x65
,
0x74
,
0x68
,
0x50
,
0x72
,
0x6f
,
0x76
,
0x69
,
0x64
,
0x65
,
0x72
,
0x43
,
0x6c
,
0x69
,
0x18
,
0x0b
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0e
,
0x65
,
0x74
,
0x68
,
0x50
,
0x72
,
0x6f
,
0x76
,
0x69
,
0x64
,
0x65
,
0x72
,
0x43
,
0x6c
,
0x69
,
0x12
,
0x38
,
0x0a
,
0x17
,
0x62
,
0x72
,
0x69
,
0x64
,
0x67
,
0x65
,
0x52
,
0x65
,
0x67
,
0x69
,
0x73
,
0x74
,
0x72
,
0x79
,
0x4f
,
0x6e
,
0x43
,
0x68
,
0x61
,
0x69
,
0x6e
,
0x33
,
0x33
,
0x18
,
0x0c
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x17
,
0x62
,
0x72
,
0x69
,
0x64
,
0x67
,
0x65
,
0x52
,
0x65
,
0x67
,
0x69
,
0x73
,
0x74
,
0x72
,
0x79
,
0x4f
,
0x6e
,
0x43
,
0x68
,
0x61
,
0x69
,
0x6e
,
0x33
,
0x33
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x63
,
0x68
,
0x61
,
0x69
,
0x6e
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x0d
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x09
,
0x63
,
0x68
,
0x61
,
0x69
,
0x6e
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x28
,
0x0a
,
0x0f
,
0x63
,
0x68
,
0x61
,
0x69
,
0x6e
,
0x49
,
0x44
,
0x34
,
0x43
,
0x68
,
0x61
,
0x69
,
0x6e
,
0x33
,
0x33
,
0x18
,
0x0e
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x0f
,
0x63
,
0x68
,
0x61
,
0x69
,
0x6e
,
0x49
,
0x44
,
0x34
,
0x43
,
0x68
,
0x61
,
0x69
,
0x6e
,
0x33
,
0x33
,
0x22
,
0xa7
,
0x02
,
0x0a
,
0x13
,
0x53
,
0x79
,
0x6e
,
0x63
,
0x54
,
0x78
,
0x52
,
0x65
,
0x63
,
0x65
,
0x69
,
0x70
,
0x74
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x12
,
0x20
,
0x0a
,
0x0b
,
0x63
,
0x68
,
0x61
,
0x69
,
0x6e
,
0x33
,
0x33
,
0x68
,
0x6f
,
0x73
,
0x74
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0b
,
0x63
,
0x68
,
0x61
,
0x69
,
0x6e
,
0x33
,
0x33
,
0x68
,
0x6f
,
0x73
,
0x74
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x70
,
0x75
,
0x73
,
0x68
,
0x48
,
0x6f
,
0x73
,
0x74
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x70
,
0x75
,
0x73
,
0x68
,
0x48
,
0x6f
,
0x73
,
0x74
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x70
,
0x75
,
0x73
,
0x68
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x70
,
0x75
,
0x73
,
0x68
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x70
,
0x75
,
0x73
,
0x68
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x70
,
0x75
,
0x73
,
0x68
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x12
,
0x28
,
0x0a
,
0x0f
,
0x73
,
0x74
,
0x61
,
0x72
,
0x74
,
0x53
,
0x79
,
0x6e
,
0x63
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x0f
,
0x73
,
0x74
,
0x61
,
0x72
,
0x74
,
0x53
,
0x79
,
0x6e
,
0x63
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x12
,
0x2c
,
0x0a
,
0x11
,
0x73
,
0x74
,
0x61
,
0x72
,
0x74
,
0x53
,
0x79
,
0x6e
,
0x63
,
0x53
,
0x65
,
0x71
,
0x75
,
0x65
,
0x6e
,
0x63
,
0x65
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x11
,
0x73
,
0x74
,
0x61
,
0x72
,
0x74
,
0x53
,
0x79
,
0x6e
,
0x63
,
0x53
,
0x65
,
0x71
,
0x75
,
0x65
,
0x6e
,
0x63
,
0x65
,
0x12
,
0x24
,
0x0a
,
0x0d
,
0x73
,
0x74
,
0x61
,
0x72
,
0x74
,
0x53
,
0x79
,
0x6e
,
0x63
,
0x48
,
0x61
,
0x73
,
0x68
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0d
,
0x73
,
0x74
,
0x61
,
0x72
,
0x74
,
0x53
,
0x79
,
0x6e
,
0x63
,
0x48
,
0x61
,
0x73
,
0x68
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x63
,
0x6f
,
0x6e
,
0x74
,
0x72
,
0x61
,
0x63
,
0x74
,
0x73
,
0x18
,
0x08
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x09
,
0x63
,
0x6f
,
0x6e
,
0x74
,
0x72
,
0x61
,
0x63
,
0x74
,
0x73
,
0x22
,
0xa4
,
0x01
,
0x0a
,
0x06
,
0x44
,
0x65
,
0x70
,
0x6c
,
0x6f
,
0x79
,
0x12
,
0x22
,
0x0a
,
0x0c
,
0x6f
,
0x70
,
0x65
,
0x72
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x41
,
0x64
,
0x64
,
0x72
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0c
,
0x6f
,
0x70
,
0x65
,
0x72
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x41
,
0x64
,
0x64
,
0x72
,
0x12
,
0x2e
,
0x0a
,
0x12
,
0x64
,
0x65
,
0x70
,
0x6c
,
0x6f
,
0x79
,
0x65
,
0x72
,
0x50
,
0x72
,
0x69
,
0x76
,
0x61
,
0x74
,
0x65
,
0x4b
,
0x65
,
0x79
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x12
,
0x64
,
0x65
,
0x70
,
0x6c
,
0x6f
,
0x79
,
0x65
,
0x72
,
0x50
,
0x72
,
0x69
,
0x76
,
0x61
,
0x74
,
0x65
,
0x4b
,
0x65
,
0x79
,
0x12
,
0x26
,
0x0a
,
0x0e
,
0x76
,
0x61
,
0x6c
,
0x69
,
0x64
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x73
,
0x41
,
0x64
,
0x64
,
0x72
,
0x18
,
0x03
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x0e
,
0x76
,
0x61
,
0x6c
,
0x69
,
0x64
,
0x61
,
0x74
,
0x6f
,
0x72
,
0x73
,
0x41
,
0x64
,
0x64
,
0x72
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x69
,
0x6e
,
0x69
,
0x74
,
0x50
,
0x6f
,
0x77
,
0x65
,
0x72
,
0x73
,
0x18
,
0x04
,
0x20
,
0x03
,
0x28
,
0x03
,
0x52
,
0x0a
,
0x69
,
0x6e
,
0x69
,
0x74
,
0x50
,
0x6f
,
0x77
,
0x65
,
0x72
,
0x73
,
0x42
,
0x0a
,
0x5a
,
0x08
,
0x2e
,
0x2e
,
0x2f
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
}
var
(
file_config_proto_rawDescOnce
sync
.
Once
file_config_proto_rawDescData
=
file_config_proto_rawDesc
)
func
file_config_proto_rawDescGZIP
()
[]
byte
{
file_config_proto_rawDescOnce
.
Do
(
func
()
{
file_config_proto_rawDescData
=
protoimpl
.
X
.
CompressGZIP
(
file_config_proto_rawDescData
)
})
return
file_config_proto_rawDescData
}
var
file_config_proto_msgTypes
=
make
([]
protoimpl
.
MessageInfo
,
5
)
var
file_config_proto_goTypes
=
[]
interface
{}{
(
*
SyncTxConfig
)(
nil
),
// 0: types.SyncTxConfig
(
*
Log
)(
nil
),
// 1: types.Log
(
*
RelayerConfig
)(
nil
),
// 2: types.RelayerConfig
(
*
SyncTxReceiptConfig
)(
nil
),
// 3: types.SyncTxReceiptConfig
(
*
Deploy
)(
nil
),
// 4: types.Deploy
}
var
file_config_proto_depIdxs
=
[]
int32
{
0
,
// 0: types.RelayerConfig.syncTxConfig:type_name -> types.SyncTxConfig
1
,
// 1: types.RelayerConfig.log:type_name -> types.Log
4
,
// 2: types.RelayerConfig.deploy:type_name -> types.Deploy
4
,
// 3: types.RelayerConfig.deploy4chain33:type_name -> types.Deploy
4
,
// [4:4] is the sub-list for method output_type
4
,
// [4:4] is the sub-list for method input_type
4
,
// [4:4] is the sub-list for extension type_name
4
,
// [4:4] is the sub-list for extension extendee
0
,
// [0:4] is the sub-list for field type_name
}
func
init
()
{
file_config_proto_init
()
}
func
file_config_proto_init
()
{
if
File_config_proto
!=
nil
{
return
}
if
!
protoimpl
.
UnsafeEnabled
{
file_config_proto_msgTypes
[
0
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
SyncTxConfig
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_config_proto_msgTypes
[
1
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
Log
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_config_proto_msgTypes
[
2
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
RelayerConfig
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_config_proto_msgTypes
[
3
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
SyncTxReceiptConfig
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_config_proto_msgTypes
[
4
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
Deploy
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
}
type
x
struct
{}
out
:=
protoimpl
.
TypeBuilder
{
File
:
protoimpl
.
DescBuilder
{
GoPackagePath
:
reflect
.
TypeOf
(
x
{})
.
PkgPath
(),
RawDescriptor
:
file_config_proto_rawDesc
,
NumEnums
:
0
,
NumMessages
:
5
,
NumExtensions
:
0
,
NumServices
:
0
,
},
GoTypes
:
file_config_proto_goTypes
,
DependencyIndexes
:
file_config_proto_depIdxs
,
MessageInfos
:
file_config_proto_msgTypes
,
}
.
Build
()
File_config_proto
=
out
.
File
file_config_proto_rawDesc
=
nil
file_config_proto_goTypes
=
nil
file_config_proto_depIdxs
=
nil
func
init
()
{
proto
.
RegisterType
((
*
SyncTxConfig
)(
nil
),
"types.SyncTxConfig"
)
proto
.
RegisterType
((
*
Log
)(
nil
),
"types.Log"
)
proto
.
RegisterType
((
*
RelayerConfig
)(
nil
),
"types.RelayerConfig"
)
proto
.
RegisterType
((
*
SyncTxReceiptConfig
)(
nil
),
"types.SyncTxReceiptConfig"
)
proto
.
RegisterType
((
*
Deploy
)(
nil
),
"types.Deploy"
)
}
func
init
()
{
proto
.
RegisterFile
(
"config.proto"
,
fileDescriptor_3eaf2c85e69e9ea4
)
}
var
fileDescriptor_3eaf2c85e69e9ea4
=
[]
byte
{
// 772 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xc4
,
0x55
,
0xc1
,
0x6e
,
0xdb
,
0x46
,
0x10
,
0x85
,
0x4c
,
0x4b
,
0x96
,
0x56
,
0x92
,
0x8b
,
0xae
,
0x8b
,
0x96
,
0x28
,
0x8c
,
0x42
,
0x10
,
0xda
,
0x42
,
0x87
,
0x42
,
0x2d
,
0x6c
,
0x17
,
0xc9
,
0xd5
,
0x92
,
0x61
,
0x38
,
0x88
,
0x9d
,
0x08
,
0x6b
,
0x9f
,
0x72
,
0x5b
,
0x2d
,
0xc7
,
0xe4
,
0xc6
,
0x2b
,
0x2e
,
0xb3
,
0x5c
,
0x29
,
0x52
,
0xbe
,
0x27
,
0x40
,
0x80
,
0xfc
,
0x45
,
0x7e
,
0x21
,
0x5f
,
0x14
,
0xec
,
0x90
,
0x94
,
0x28
,
0x5a
,
0x01
,
0x92
,
0x53
,
0x6e
,
0x9c
,
0xf7
,
0x06
,
0xa3
,
0x9d
,
0x37
,
0xf3
,
0x46
,
0xa4
,
0x23
,
0x74
,
0x7c
,
0x2f
,
0xc3
,
0x61
,
0x62
,
0xb4
,
0xd5
,
0xb4
,
0x6e
,
0x57
,
0x09
,
0xa4
,
0xfd
,
0x8f
,
0x1e
,
0xe9
,
0xdc
,
0xae
,
0x62
,
0x71
,
0xb7
,
0x1c
,
0x23
,
0x4b
,
0x7b
,
0xa4
,
0x2d
,
0x22
,
0x2e
,
0xe3
,
0xd3
,
0xd3
,
0x48
,
0xa7
,
0xd6
,
0xaf
,
0xf5
,
0x6a
,
0x83
,
0x16
,
0x2b
,
0x43
,
0xf4
,
0x77
,
0xd2
,
0x4c
,
0xe6
,
0x69
,
0x74
,
0xe5
,
0xe8
,
0x3d
,
0xa4
,
0xd7
,
0x71
,
0xc1
,
0xbd
,
0xe0
,
0x33
,
0xf0
,
0xbd
,
0x0d
,
0xe7
,
0xe2
,
0x82
,
0x1b
,
0xc9
,
0x38
,
0xf0
,
0xf7
,
0x37
,
0x9c
,
0x8b
,
0xe9
,
0xdf
,
0xe4
,
0x70
,
0xc6
,
0xed
,
0xdc
,
0x48
,
0xbb
,
0xba
,
0x80
,
0xd0
,
0x00
,
0xf8
,
0xf5
,
0x5e
,
0x6d
,
0x50
,
0x67
,
0x15
,
0xd4
,
0xd5
,
0x08
,
0xa6
,
0x81
,
0x91
,
0x0b
,
0x30
,
0x7e
,
0x23
,
0xab
,
0x51
,
0xc4
,
0xf4
,
0x57
,
0xd2
,
0x08
,
0xa6
,
0x13
,
0x6e
,
0x23
,
0xff
,
0x00
,
0x99
,
0x3c
,
0xa2
,
0x3e
,
0x39
,
0x08
,
0xa6
,
0x63
,
0x2e
,
0x22
,
0xf0
,
0x9b
,
0x58
,
0xb4
,
0x08
,
0xe9
,
0x7f
,
0xe4
,
0xe8
,
0x1e
,
0xac
,
0x88
,
0xae
,
0x40
,
0x86
,
0x91
,
0x9d
,
0x80
,
0x91
,
0x3a
,
0xb8
,
0x49
,
0xfd
,
0x56
,
0xaf
,
0x36
,
0xf0
,
0xd8
,
0x2e
,
0x8a
,
0x0e
,
0xc8
,
0x4f
,
0xa9
,
0xe5
,
0xc6
,
0x3a
,
0xc9
,
0x32
,
0xca
,
0x27
,
0x98
,
0x5d
,
0x85
,
0xe9
,
0x3f
,
0xe4
,
0xe7
,
0x35
,
0x74
,
0x0b
,
0x6f
,
0xe6
,
0x10
,
0x0b
,
0xf0
,
0xdb
,
0x98
,
0xfb
,
0x98
,
0xa0
,
0x7f
,
0x92
,
0xee
,
0xa6
,
0x00
,
0x4f
,
0x23
,
0xbf
,
0x83
,
0x2d
,
0x6c
,
0x83
,
0xfd
,
0x4f
,
0x7b
,
0xc4
,
0xbb
,
0xd6
,
0xa1
,
0x53
,
0x41
,
0xe9
,
0x50
,
0xc1
,
0x02
,
0x54
,
0x3e
,
0xa0
,
0x75
,
0xec
,
0x5e
,
0xa8
,
0x74
,
0x38
,
0xd6
,
0x71
,
0xaa
,
0x15
,
0x5c
,
0x63
,
0x4a
,
0x36
,
0xa4
,
0x2a
,
0xec
,
0x74
,
0x51
,
0x3a
,
0xbc
,
0x94
,
0xaa
,
0x18
,
0x55
,
0x11
,
0xba
,
0x1d
,
0x98
,
0xf1
,
0xa5
,
0xfb
,
0xbc
,
0x95
,
0xef
,
0x00
,
0x87
,
0xd5
,
0x65
,
0x65
,
0x88
,
0xfe
,
0x41
,
0xc8
,
0x8c
,
0x2f
,
0x47
,
0x5c
,
0x3c
,
0xcc
,
0x93
,
0x14
,
0x67
,
0xd5
,
0x65
,
0x25
,
0xc4
,
0xcd
,
0x62
,
0xc6
,
0x97
,
0xe7
,
0x21
,
0xe0
,
0x94
,
0xba
,
0x2c
,
0x8f
,
0xe8
,
0x31
,
0x69
,
0x29
,
0x2d
,
0xb8
,
0xba
,
0x93
,
0x33
,
0xc0
,
0x31
,
0x35
,
0xd9
,
0x06
,
0x70
,
0x7d
,
0x09
,
0x3d
,
0x4b
,
0x0c
,
0xa4
,
0x29
,
0x8e
,
0xaa
,
0xc9
,
0xd6
,
0xb1
,
0xfb
,
0x45
,
0xc1
,
0x95
,
0x02
,
0x83
,
0x0f
,
0x6e
,
0x21
,
0x5b
,
0x42
,
0xdc
,
0x06
,
0xe5
,
0xd1
,
0x3c
,
0x16
,
0x56
,
0xea
,
0x18
,
0x07
,
0xd3
,
0x64
,
0x15
,
0xb4
,
0xff
,
0x79
,
0x9f
,
0x74
,
0x19
,
0x28
,
0xbe
,
0x02
,
0x93
,
0x6f
,
0xfc
,
0x2f
,
0xa4
,
0x6e
,
0xa5
,
0x55
,
0x90
,
0x4b
,
0x99
,
0x05
,
0xf4
,
0x09
,
0xe9
,
0xa4
,
0x25
,
0x5f
,
0xa0
,
0x88
,
0xed
,
0x93
,
0xa3
,
0x21
,
0xda
,
0x66
,
0x58
,
0xb6
,
0x0c
,
0xdb
,
0x4a
,
0xa4
,
0xc7
,
0xc4
,
0x53
,
0x3a
,
0x44
,
0x49
,
0xdb
,
0x27
,
0x24
,
0xcf
,
0xbf
,
0xd6
,
0x21
,
0x73
,
0x30
,
0xed
,
0x93
,
0xce
,
0x6b
,
0x93
,
0x08
,
0xb7
,
0xf4
,
0xe7
,
0x41
,
0x60
,
0x72
,
0x23
,
0x6c
,
0x61
,
0x4e
,
0x7e
,
0xb0
,
0xd1
,
0xc4
,
0xe8
,
0x85
,
0x0c
,
0xc0
,
0xa0
,
0xba
,
0x2d
,
0x56
,
0x86
,
0x5c
,
0xb3
,
0x53
,
0x23
,
0x83
,
0x10
,
0x18
,
0x84
,
0x32
,
0xb5
,
0x66
,
0x95
,
0x9b
,
0xa1
,
0x82
,
0xd2
,
0xbf
,
0x48
,
0x23
,
0x80
,
0x44
,
0xe9
,
0x15
,
0x6a
,
0xdd
,
0x3e
,
0xe9
,
0xe6
,
0xcf
,
0xb9
,
0x40
,
0x90
,
0xe5
,
0x24
,
0xfd
,
0x9f
,
0x1c
,
0x66
,
0x5f
,
0x67
,
0xb9
,
0xcf
,
0x51
,
0xfd
,
0x47
,
0xe9
,
0x95
,
0x24
,
0xb7
,
0xe2
,
0x60
,
0xa3
,
0x9b
,
0x6d
,
0xdf
,
0xb6
,
0xd0
,
0x62
,
0x8f
,
0x09
,
0x67
,
0x36
,
0xb0
,
0xd1
,
0x48
,
0x69
,
0xf1
,
0x70
,
0xe9
,
0x9c
,
0x95
,
0x79
,
0x0a
,
0xa7
,
0x54
,
0x67
,
0xbb
,
0x28
,
0xd7
,
0x65
,
0xa9
,
0xe9
,
0xb1
,
0x92
,
0xe8
,
0x9f
,
0x16
,
0xab
,
0xa0
,
0xf4
,
0x29
,
0xf9
,
0x6d
,
0xbb
,
0xef
,
0x97
,
0xf1
,
0x38
,
0xef
,
0x23
,
0xb3
,
0xd1
,
0xd7
,
0x68
,
0xb7
,
0x8e
,
0xd8
,
0x0c
,
0xde
,
0xab
,
0x2e
,
0xe6
,
0x6e
,
0x00
,
0x67
,
0x25
,
0x0c
,
0x9e
,
0x5d
,
0x9c
,
0x15
,
0xf5
,
0x0e
,
0xf1
,
0xb5
,
0x55
,
0xb8
,
0xff
,
0x61
,
0x8f
,
0x1c
,
0x65
,
0x2b
,
0xc1
,
0x40
,
0x80
,
0x4c
,
0xec
,
0x0f
,
0x3d
,
0xa6
,
0x3b
,
0x8e
,
0x54
,
0xfd
,
0x3b
,
0x8e
,
0x54
,
0xe3
,
0x9b
,
0x8f
,
0xd4
,
0xc1
,
0x8e
,
0x23
,
0x85
,
0x9a
,
0xea
,
0xd8
,
0x1a
,
0x2e
,
0xac
,
0x73
,
0xb1
,
0x87
,
0x9a
,
0x16
,
0x40
,
0xff
,
0x7d
,
0x8d
,
0x34
,
0xb2
,
0x75
,
0x72
,
0x56
,
0xd0
,
0x09
,
0x18
,
0x6e
,
0xb5
,
0x41
,
0x2b
,
0x64
,
0xea
,
0x6c
,
0x61
,
0x74
,
0x48
,
0x68
,
0xb6
,
0x74
,
0x60
,
0x26
,
0x46
,
0x2e
,
0xb8
,
0x85
,
0xe7
,
0xb0
,
0xca
,
0x85
,
0xda
,
0xc1
,
0xb8
,
0x95
,
0x59
,
0x70
,
0x25
,
0x03
,
0x57
,
0x20
,
0xc5
,
0xaa
,
0x1e
,
0xbe
,
0xa0
,
0x82
,
0xba
,
0x6b
,
0x22
,
0x63
,
0x69
,
0x27
,
0xfa
,
0x2d
,
0x98
,
0xd4
,
0xdf
,
0xef
,
0x79
,
0x03
,
0x8f
,
0x95
,
0x90
,
0x11
,
0x79
,
0xd5
,
0x1c
,
0x0e
,
0xff
,
0xc5
,
0xed
,
0x9f
,
0x36
,
0xf0
,
0x0f
,
0xf3
,
0xf4
,
0x4b
,
0x00
,
0x00
,
0x00
,
0xff
,
0xff
,
0x54
,
0x92
,
0x59
,
0xbb
,
0x40
,
0x07
,
0x00
,
0x00
,
}
plugin/dapp/cross2eth/ebrelayer/types/relayer.pb.go
View file @
f7a27fa1
This source diff could not be displayed because it is too large. You can
view the blob
instead.
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