Commit 1c653de9 authored by QM's avatar QM Committed by vipwzw

fix cross2eth test

parent b7c4d78e
......@@ -2,7 +2,7 @@ version: '3'
services:
ganachetest:
entrypoint: ["node", "/app/ganache-core.docker.cli.js", "-a", "20", "-b", "2", "--debug", "-m", "coast bar giraffe art venue decide symbol law visual crater vital fold"]
entrypoint: ["node", "/app/ganache-core.docker.cli.js", "-a", "20", "-b", "2", "--debug", "-m", "coast bar giraffe art venue decide symbol law visual crater vital fold", "-e", "1000"]
image: trufflesuite/ganache-cli:latest
ebrelayera:
......
......@@ -8,22 +8,7 @@ set +e
source "./offlinePublic.sh"
# ETH 部署合约者的私钥 用于部署合约时签名使用
ethDeployAddr="0x8afdadfc88a1087c9a1d6c0f5dd04634b87f303a"
ethDeployKey="8656d2bc732a8a816a461ba5e2d8aac7c7f85c26a813df30d5327210465eb230"
# validatorsAddr=["0x8afdadfc88a1087c9a1d6c0f5dd04634b87f303a", "0x0df9a824699bc5878232c9e612fe1a5346a5a368", "0xcb074cb21cdddf3ce9c3c0a7ac4497d633c9d9f1", "0xd9dab021e74ecf475788ed7b61356056b2095830"]
ethValidatorAddrKeyA="8656d2bc732a8a816a461ba5e2d8aac7c7f85c26a813df30d5327210465eb230"
# chain33 部署合约者的私钥 用于部署合约时签名使用
chain33DeployAddr="1N6HstkyLFS8QCeVfdvYxx1xoryXoJtvvZ"
chain33DeployKey="0x027ca96466c71c7e7c5d73b7e1f43cb889b3bd65ebd2413eefd31c6709c262ae"
chain33ReceiverAddr="12qyocayNF7Lv6C9qW4avxs2E7U41fKSfv"
chain33ReceiverAddrKey="4257d8692ef7fe13c68b65d6a52f03933db2fa5ce8faf210b5b8b80c721ced01"
ethReceiverAddr1="0xa4ea64a583f6e51c3799335b28a8f0529570a635"
#ethReceiverAddrKey1="355b876d7cbcb930d5dfab767f66336ce327e082cbaa1877210c1bae89b1df71"
maturityDegree=10
......@@ -44,10 +29,23 @@ multisignChain33Addr=""
multisignEthAddr=""
chain33ID=0
# validatorsAddr=["0x8afdadfc88a1087c9a1d6c0f5dd04634b87f303a", "0x0df9a824699bc5878232c9e612fe1a5346a5a368", "0xcb074cb21cdddf3ce9c3c0a7ac4497d633c9d9f1", "0xd9dab021e74ecf475788ed7b61356056b2095830"]
#ethValidatorAddrKeyA="8656d2bc732a8a816a461ba5e2d8aac7c7f85c26a813df30d5327210465eb230"
# shellcheck disable=SC2034
{
# ETH 部署合约者的私钥 用于部署合约时签名使用
ethDeployAddr="0x8AFDADFC88a1087c9A1D6c0F5Dd04634b87F303a"
ethDeployKey="0x8656d2bc732a8a816a461ba5e2d8aac7c7f85c26a813df30d5327210465eb230"
# chain33 部署合约者的私钥 用于部署合约时签名使用
chain33DeployAddr="1JxhYLYsrscjTaQfaMoVUrnSdrejP7XRQD"
chain33DeployKey="0x9ef82623a5e9aac58d3a6b06392af66ec77289522b28896aed66abaaede66903"
# validatorsAddr=["0x92C8b16aFD6d423652559C6E266cBE1c29Bfd84f", "0x0df9a824699bc5878232c9e612fe1a5346a5a368", "0xcb074cb21cdddf3ce9c3c0a7ac4497d633c9d9f1", "0xd9dab021e74ecf475788ed7b61356056b2095830"]# shellcheck disable=SC2034
# eth 验证者私钥
ethValidatorAddra="0x92C8b16aFD6d423652559C6E266cBE1c29Bfd84f"
ethValidatorAddrb="0x0df9a824699bc5878232c9e612fe1a5346a5a368"
ethValidatorAddrc="0xcb074cb21cdddf3ce9c3c0a7ac4497d633c9d9f1"
ethValidatorAddrd="0xd9dab021e74ecf475788ed7b61356056b2095830"
ethValidatorAddrKeya="3fa21584ae2e4fd74db9b58e2386f5481607dfa4d7ba0617aaa7858e5025dc1e"
ethValidatorAddrKeyb="a5f3063552f4483cfc20ac4f40f45b798791379862219de9e915c64722c1d400"
ethValidatorAddrKeyc="bbf5e65539e9af0eb0cfac30bad475111054b09c11d668fc0731d54ea777471e"
ethValidatorAddrKeyd="c9fa31d7984edf81b8ef3b40c761f1847f6fcd5711ab2462da97dc458f1f896b"
......@@ -57,10 +55,26 @@ chain33ID=0
chain33Validatorb="155ooMPBTF8QQsGAknkK7ei5D78rwDEFe6"
chain33Validatorc="13zBdQwuyDh7cKN79oT2odkxYuDbgQiXFv"
chain33Validatord="113ZzVamKfAtGt9dq45fX1mNsEoDiN95HG"
#chain33ValidatorKeya="0xcc38546e9e659d15e6b4893f0ab32a06d103931a8230b0bde71459d2b27d6944"
chain33ValidatorKeya="0x027ca96466c71c7e7c5d73b7e1f43cb889b3bd65ebd2413eefd31c6709c262ae"
chain33ValidatorKeyb="0x9d539bc5fd084eb7fe86ad631dba9aa086dba38418725c38d9751459f567da66"
chain33ValidatorKeyc="0x0a6671f101e30a2cc2d79d77436b62cdf2664ed33eb631a9c9e3f3dd348a23be"
chain33ValidatorKeyd="0x3818b257b05ee75b6e43ee0e3cfc2d8502342cf67caed533e3756966690b62a5"
ethTestAddr1=0xbc333839E37bc7fAAD0137aBaE2275030555101f
ethTestAddrKey1=0x0c61f5a879d70807686e43eccc1f52987a15230ae0472902834af4d1933674f2
ethTestAddr2=0x495953A743ef169EC5D4aC7b5F786BF2Bd56aFd5
ethTestAddrKey2=0x2809477ede1261da21270096776ba7dc68b89c9df5f029965eaa5fe7f0b80697
ethReceiverAddr1="0xa4ea64a583f6e51c3799335b28a8f0529570a635"
#ethReceiverAddrKey1="355b876d7cbcb930d5dfab767f66336ce327e082cbaa1877210c1bae89b1df71"
chain33TestAddr1="1Cj1rqUenPmkeD6A8MGEzkBKQFN2H9yL3x"
chain33TestAddrKey1="0x7269a7a87d476310da37a9ca1ddc9333c9d7a0dfe1f2998b84758843a895433b"
chain33TestAddr2="1BCGLhdcdthNutQowV2YShuuN9fJRRGLxu"
chain33TestAddrKey2="0xb74acfd4eebbbd07bcae212baa7f094235ab8dc04f2f1d828681477b98b24008"
chain33ReceiverAddr="12qyocayNF7Lv6C9qW4avxs2E7U41fKSfv"
chain33ReceiverAddrKey="4257d8692ef7fe13c68b65d6a52f03933db2fa5ce8faf210b5b8b80c721ced01"
}
function start_docker_ebrelayerA() {
......@@ -126,19 +140,19 @@ function restart_ebrelayerA() {
function TestChain33ToEthAssets() {
echo -e "${GRE}=========== $FUNCNAME begin ===========${NOC}"
echo -e "${GRE}=========== chain33 lock BTY, eth burn BTY ===========${NOC}"
result=$(${CLIA} ethereum balance -o "${ethDeployAddr}" -t "${ethereumBtyTokenAddr}")
result=$(${CLIA} ethereum balance -o "${ethTestAddr1}" -t "${ethereumBtyTokenAddr}")
cli_ret "${result}" "balance" ".balance" "0"
# 原来的地址金额
result=$(${Chain33Cli} asset balance -a "${chain33DeployAddr}" --asset_exec paracross --asset_symbol coins.bty -e user.p.para.evm | jq -r .balance)
result=$(${Chain33Cli} asset balance -a "${chain33TestAddr1}" --asset_exec paracross --asset_symbol coins.bty -e user.p.para.evm | jq -r .balance)
is_equal "${result}" "500.0000"
# chain33 lock bty
hash=$(${Chain33Cli} send evm call -f 1 -a 5 -k "${chain33DeployAddr}" -e "${chain33BridgeBank}" -p "lock(${ethDeployAddr}, ${chain33BtyTokenAddr}, 500000000)" --chainID "${chain33ID}")
hash=$(${Chain33Cli} send evm call -f 1 -a 5 -k "${chain33TestAddr1}" -e "${chain33BridgeBank}" -p "lock(${ethTestAddr1}, ${chain33BtyTokenAddr}, 500000000)" --chainID "${chain33ID}")
check_tx "${Chain33Cli}" "${hash}"
# 原来的地址金额 减少了 5
result=$(${Chain33Cli} asset balance -a "${chain33DeployAddr}" --asset_exec paracross --asset_symbol coins.bty -e user.p.para.evm | jq -r .balance)
result=$(${Chain33Cli} asset balance -a "${chain33TestAddr1}" --asset_exec paracross --asset_symbol coins.bty -e user.p.para.evm | jq -r .balance)
is_equal "${result}" "495.0000"
# chain33BridgeBank 是否增加了 5
......@@ -148,17 +162,17 @@ function TestChain33ToEthAssets() {
sleep 4
# eth 这端 金额是否增加了 5
result=$(${CLIA} ethereum balance -o "${ethDeployAddr}" -t "${ethereumBtyTokenAddr}")
result=$(${CLIA} ethereum balance -o "${ethTestAddr1}" -t "${ethereumBtyTokenAddr}")
cli_ret "${result}" "balance" ".balance" "5"
# eth burn
result=$(${CLIA} ethereum burn -m 3 -k "${ethDeployKey}" -r "${chain33ReceiverAddr}" -t "${ethereumBtyTokenAddr}") #--node_addr https://ropsten.infura.io/v3/9e83f296716142ffbaeaafc05790f26c)
result=$(${CLIA} ethereum burn -m 3 -k "${ethTestAddrKey1}" -r "${chain33ReceiverAddr}" -t "${ethereumBtyTokenAddr}") #--node_addr https://ropsten.infura.io/v3/9e83f296716142ffbaeaafc05790f26c)
cli_ret "${result}" "burn"
sleep 4
# eth 这端 金额是否减少了 3
result=$(${CLIA} ethereum balance -o "${ethDeployAddr}" -t "${ethereumBtyTokenAddr}")
result=$(${CLIA} ethereum balance -o "${ethTestAddr1}" -t "${ethereumBtyTokenAddr}")
cli_ret "${result}" "balance" ".balance" "2"
sleep ${maturityDegree}
......@@ -172,13 +186,13 @@ function TestChain33ToEthAssets() {
is_equal "${result}" "2.0000"
# eth burn 2
result=$(${CLIA} ethereum burn -m 2 -k "${ethDeployKey}" -r "${chain33ReceiverAddr}" -t "${ethereumBtyTokenAddr}") #--node_addr https://ropsten.infura.io/v3/9e83f296716142ffbaeaafc05790f26c)
result=$(${CLIA} ethereum burn -m 2 -k "${ethTestAddrKey1}" -r "${chain33ReceiverAddr}" -t "${ethereumBtyTokenAddr}") #--node_addr https://ropsten.infura.io/v3/9e83f296716142ffbaeaafc05790f26c)
cli_ret "${result}" "burn"
sleep 4
# eth 这端 金额是否减少了
result=$(${CLIA} ethereum balance -o "${ethDeployAddr}" -t "${ethereumBtyTokenAddr}")
result=$(${CLIA} ethereum balance -o "${ethTestAddr1}" -t "${ethereumBtyTokenAddr}")
cli_ret "${result}" "balance" ".balance" "0"
sleep ${maturityDegree}
......@@ -198,7 +212,7 @@ function TestChain33ToEthAssets() {
function TestChain33ToEthZBCAssets() {
echo -e "${GRE}=========== $FUNCNAME begin ===========${NOC}"
echo -e "${GRE}=========== chain33 lock ZBC, eth burn ZBC ===========${NOC}"
result=$(${CLIA} ethereum balance -o "${ethDeployAddr}" -t "${ethBridgeToeknZBCAddr}")
result=$(${CLIA} ethereum balance -o "${ethTestAddr1}" -t "${ethBridgeToeknZBCAddr}")
cli_ret "${result}" "balance" ".balance" "0"
# 原来的地址金额
......@@ -206,7 +220,7 @@ function TestChain33ToEthZBCAssets() {
is_equal "${result}" "0"
# chain33 lock ZBC
hash=$(${Chain33Cli} send evm call -f 1 -k "${chain33DeployAddr}" -e "${chain33BridgeBank}" -p "lock(${ethDeployAddr}, ${chain33ZBCErc20Addr}, 900000000)" --chainID "${chain33ID}")
hash=$(${Chain33Cli} send evm call -f 1 -k "${chain33TestAddr1}" -e "${chain33BridgeBank}" -p "lock(${ethTestAddr1}, ${chain33ZBCErc20Addr}, 900000000)" --chainID "${chain33ID}")
check_tx "${Chain33Cli}" "${hash}"
# chain33BridgeBank 是否增加了 9
......@@ -216,17 +230,17 @@ function TestChain33ToEthZBCAssets() {
sleep 4
# eth 这端 金额是否增加了 9
result=$(${CLIA} ethereum balance -o "${ethDeployAddr}" -t "${ethBridgeToeknZBCAddr}")
result=$(${CLIA} ethereum balance -o "${ethTestAddr1}" -t "${ethBridgeToeknZBCAddr}")
cli_ret "${result}" "balance" ".balance" "9"
# eth burn
result=$(${CLIA} ethereum burn -m 8 -k "${ethDeployKey}" -r "${chain33ReceiverAddr}" -t "${ethBridgeToeknZBCAddr}") #--node_addr https://ropsten.infura.io/v3/9e83f296716142ffbaeaafc05790f26c)
result=$(${CLIA} ethereum burn -m 8 -k "${ethTestAddrKey1}" -r "${chain33ReceiverAddr}" -t "${ethBridgeToeknZBCAddr}") #--node_addr https://ropsten.infura.io/v3/9e83f296716142ffbaeaafc05790f26c)
cli_ret "${result}" "burn"
sleep 4
# eth 这端 金额是否减少了 1
result=$(${CLIA} ethereum balance -o "${ethDeployAddr}" -t "${ethBridgeToeknZBCAddr}")
result=$(${CLIA} ethereum balance -o "${ethTestAddr1}" -t "${ethBridgeToeknZBCAddr}")
cli_ret "${result}" "balance" ".balance" "1"
sleep ${maturityDegree}
......@@ -251,7 +265,7 @@ function TestETH2Chain33Assets() {
cli_ret "${result}" "balance" ".balance" "0"
# ETH 这端 lock 11个
result=$(${CLIA} ethereum lock -m 11 -k "${ethValidatorAddrKeyA}" -r "${chain33ReceiverAddr}")
result=$(${CLIA} ethereum lock -m 11 -k "${ethTestAddrKey1}" -r "${chain33ReceiverAddr}")
cli_ret "${result}" "lock"
# eth 等待 2 个区块
......@@ -269,11 +283,12 @@ function TestETH2Chain33Assets() {
is_equal "${result}" "1100000000"
# 原来的数额
result=$(${CLIA} ethereum balance -o "${ethReceiverAddr1}")
cli_ret "${result}" "balance" ".balance" "100"
result=$(${CLIA} ethereum balance -o "${ethTestAddr2}")
cli_ret "${result}" "balance" ".balance" "1000"
echo '#5.burn ETH from Chain33 ETH(Chain33)-----> Ethereum'
${CLIA} chain33 burn -m 5 -k "${chain33ReceiverAddrKey}" -r "${ethReceiverAddr1}" -t "${chain33EthTokenAddr}"
result=$(${CLIA} chain33 burn -m 5 -k "${chain33ReceiverAddrKey}" -r "${ethTestAddr2}" -t "${chain33EthTokenAddr}")
cli_ret "${result}" "burn"
sleep ${maturityDegree}
......@@ -287,11 +302,12 @@ function TestETH2Chain33Assets() {
cli_ret "${result}" "balance" ".balance" "6"
# 比之前多 5
result=$(${CLIA} ethereum balance -o "${ethReceiverAddr1}")
cli_ret "${result}" "balance" ".balance" "105"
result=$(${CLIA} ethereum balance -o "${ethTestAddr2}")
cli_ret "${result}" "balance" ".balance" "1005"
echo '#5.burn ETH from Chain33 ETH(Chain33)-----> Ethereum 6'
${CLIA} chain33 burn -m 6 -k "${chain33ReceiverAddrKey}" -r "${ethReceiverAddr1}" -t "${chain33EthTokenAddr}"
result=$(${CLIA} chain33 burn -m 6 -k "${chain33ReceiverAddrKey}" -r "${ethTestAddr2}" -t "${chain33EthTokenAddr}")
cli_ret "${result}" "burn"
sleep ${maturityDegree}
......@@ -305,8 +321,8 @@ function TestETH2Chain33Assets() {
cli_ret "${result}" "balance" ".balance" "0"
# 比之前多 5
result=$(${CLIA} ethereum balance -o "${ethReceiverAddr1}")
cli_ret "${result}" "balance" ".balance" "111"
result=$(${CLIA} ethereum balance -o "${ethTestAddr2}")
cli_ret "${result}" "balance" ".balance" "1011"
echo -e "${GRE}=========== $FUNCNAME end ===========${NOC}"
}
......@@ -319,7 +335,7 @@ function TestETH2Chain33Ycc() {
cli_ret "${result}" "balance" ".balance" "0"
# ETH 这端 lock 7个 YCC
result=$(${CLIA} ethereum lock -m 7 -k "${ethDeployKey}" -r "${chain33ReceiverAddr}" -t "${ethereumYccTokenAddr}")
result=$(${CLIA} ethereum lock -m 7 -k "${ethTestAddrKey1}" -r "${chain33ReceiverAddr}" -t "${ethereumYccTokenAddr}")
cli_ret "${result}" "lock"
# eth 等待 2 个区块
......@@ -332,21 +348,22 @@ function TestETH2Chain33Ycc() {
sleep ${maturityDegree}
# chain33 chain33EthTokenAddr(ETH合约中)查询 lock 金额
result=$(${Chain33Cli} evm query -a "${chain33YccTokenAddr}" -c "${chain33DeployAddr}" -b "balanceOf(${chain33ReceiverAddr})")
result=$(${Chain33Cli} evm query -a "${chain33YccTokenAddr}" -c "${chain33TestAddr1}" -b "balanceOf(${chain33ReceiverAddr})")
# 结果是 7 * le8
is_equal "${result}" "700000000"
# 原来的数额 0
result=$(${CLIA} ethereum balance -o "${ethReceiverAddr1}" -t "${ethereumYccTokenAddr}")
# cli_ret "${result}" "balance" ".balance" "0"
cli_ret "${result}" "balance" ".balance" "0"
echo '#5.burn YCC from Chain33 YCC(Chain33)-----> Ethereum'
${CLIA} chain33 burn -m 5 -k "${chain33ReceiverAddrKey}" -r "${ethReceiverAddr1}" -t "${chain33YccTokenAddr}"
result=$(${CLIA} chain33 burn -m 5 -k "${chain33ReceiverAddrKey}" -r "${ethReceiverAddr1}" -t "${chain33YccTokenAddr}")
cli_ret "${result}" "burn"
sleep ${maturityDegree}
echo "check the balance on chain33"
result=$(${Chain33Cli} evm query -a "${chain33YccTokenAddr}" -c "${chain33DeployAddr}" -b "balanceOf(${chain33ReceiverAddr})")
result=$(${Chain33Cli} evm query -a "${chain33YccTokenAddr}" -c "${chain33TestAddr1}" -b "balanceOf(${chain33ReceiverAddr})")
# 结果是 7-5 * le8
is_equal "${result}" "200000000"
......@@ -359,12 +376,13 @@ function TestETH2Chain33Ycc() {
cli_ret "${result}" "balance" ".balance" "5"
echo '#5.burn YCC from Chain33 YCC(Chain33)-----> Ethereum'
${CLIA} chain33 burn -m 2 -k "${chain33ReceiverAddrKey}" -r "${ethReceiverAddr1}" -t "${chain33YccTokenAddr}"
result=$(${CLIA} chain33 burn -m 2 -k "${chain33ReceiverAddrKey}" -r "${ethReceiverAddr1}" -t "${chain33YccTokenAddr}")
cli_ret "${result}" "burn"
sleep ${maturityDegree}
echo "check the balance on chain33"
result=$(${Chain33Cli} evm query -a "${chain33YccTokenAddr}" -c "${chain33DeployAddr}" -b "balanceOf(${chain33ReceiverAddr})")
result=$(${Chain33Cli} evm query -a "${chain33YccTokenAddr}" -c "${chain33TestAddr1}" -b "balanceOf(${chain33ReceiverAddr})")
# 结果是 7-5 * le8
is_equal "${result}" "0"
......@@ -416,37 +434,48 @@ function offline_transfer_multisign_Bty_test() {
echo -e "${GRE}=========== $FUNCNAME end ===========${NOC}"
}
function initPara() {
# para add
hash=$(${Para8901Cli} send coins transfer -a 10000 -n test -t "${chain33ReceiverAddr}" -k CC38546E9E659D15E6B4893F0AB32A06D103931A8230B0BDE71459D2B27D6944)
check_tx "${Para8901Cli}" "${hash}"
Chain33Cli=${Para8901Cli}
InitChain33Validator
function coins_cross_transfer() {
local key="${1}"
local addr="${2}"
local amount="${3}"
local para_amount="${4}"
local evm_amount="${5}"
# 先把 bty 转入到 paracross 合约中
hash=$(${MainCli} send coins send_exec -e paracross -a 1000 -k "${chain33DeployKey}")
hash=$(${MainCli} send coins send_exec -e paracross -a "${amount}" -k "${key}")
check_tx "${MainCli}" "${hash}"
# 主链中的 bty 夸链到 平行链中
hash=$(${Para8801Cli} send para cross_transfer -a 800 -e coins -s bty -t "${chain33DeployAddr}" -k "${chain33DeployKey}")
hash=$(${Para8801Cli} send para cross_transfer -a "${para_amount}" -e coins -s bty -t "${addr}" -k "${key}")
check_tx "${Para8801Cli}" "${hash}"
check_tx "${Para8901Cli}" "${hash}"
result=$(${Para8901Cli} asset balance -a "${chain33DeployAddr}" --asset_exec paracross --asset_symbol coins.bty | jq -r .balance)
is_equal "${result}" "800.0000"
result=$(${Para8901Cli} asset balance -a "${addr}" --asset_exec paracross --asset_symbol coins.bty | jq -r .balance)
is_equal "${result}" "${para_amount}.0000"
# 把平行链中的 bty 转入 平行链中的 evm 合约
hash=$(${Para8901Cli} send para transfer_exec -a 500 -e user.p.para.evm -s coins.bty -k "${chain33DeployKey}")
hash=$(${Para8901Cli} send para transfer_exec -a "${evm_amount}" -e user.p.para.evm -s coins.bty -k "${key}")
check_tx "${Para8901Cli}" "${hash}"
result=$(${Para8901Cli} asset balance -a "${chain33DeployAddr}" --asset_exec paracross --asset_symbol coins.bty -e user.p.para.evm | jq -r .balance)
is_equal "${result}" "500.0000"
result=$(${Para8901Cli} asset balance -a "${addr}" --asset_exec paracross --asset_symbol coins.bty -e user.p.para.evm | jq -r .balance)
is_equal "${result}" "${evm_amount}.0000"
}
function initPara() {
# para add
hash=$(${Para8901Cli} send coins transfer -a 10000 -n test -t "${chain33ReceiverAddr}" -k CC38546E9E659D15E6B4893F0AB32A06D103931A8230B0BDE71459D2B27D6944)
check_tx "${Para8901Cli}" "${hash}"
Chain33Cli=${Para8901Cli}
InitChain33Validator
coins_cross_transfer "${chain33DeployKey}" "${chain33DeployAddr}" 1000 800 500
coins_cross_transfer "${chain33TestAddrKey1}" "${chain33TestAddr1}" 1000 800 500
coins_cross_transfer "${chain33TestAddrKey2}" "${chain33TestAddr2}" 1000 800 500
}
# lock bty 判断是否转入多签地址金额是否正确
function lock_bty_multisign_docker() {
local lockAmount=$1
local lockAmount2="${1}00000000"
hash=$(${Chain33Cli} send evm call -f 1 -a "${lockAmount}" -k "${chain33DeployAddr}" -e "${chain33BridgeBank}" -p "lock(${ethDeployAddr}, ${chain33BtyTokenAddr}, ${lockAmount2})" --chainID "${chain33ID}")
hash=$(${Chain33Cli} send evm call -f 1 -a "${lockAmount}" -k "${chain33TestAddr1}" -e "${chain33BridgeBank}" -p "lock(${ethTestAddr1}, ${chain33BtyTokenAddr}, ${lockAmount2})" --chainID "${chain33ID}")
check_tx "${Chain33Cli}" "${hash}"
if [[ $# -eq 3 ]]; then
......@@ -618,6 +647,43 @@ function StartDockerRelayerDeploy() {
echo -e "${GRE}=========== $FUNCNAME end ===========${NOC}"
}
function echo_addrs() {
echo -e "${GRE}=========== echo contract addrs ===========${NOC}"
echo -e "${GRE}BridgeRegistryOnChain33: ${BridgeRegistryOnChain33} ${NOC}"
echo -e "${GRE}BridgeRegistryOnEth: ${BridgeRegistryOnEth} ${NOC}"
echo -e "${GRE}chain33BridgeBank: ${chain33BridgeBank} ${NOC}"
echo -e "${GRE}ethBridgeBank: ${ethBridgeBank} ${NOC}"
echo -e "${GRE}chain33BtyTokenAddr: ${chain33BtyTokenAddr} ${NOC}"
echo -e "${GRE}chain33EthTokenAddr: ${chain33EthTokenAddr} ${NOC}"
echo -e "${GRE}ethereumBtyTokenAddr: ${ethereumBtyTokenAddr} ${NOC}"
echo -e "${GRE}chain33YccTokenAddr: ${chain33YccTokenAddr} ${NOC}"
echo -e "${GRE}ethereumYccTokenAddr: ${ethereumYccTokenAddr} ${NOC}"
echo -e "${GRE}chain33YccErc20Addr: ${chain33YccErc20Addr} ${NOC}"
echo -e "${GRE}ethBridgeToeknYccAddr: ${ethBridgeToeknYccAddr} ${NOC}"
echo -e "${GRE}chain33ZBCErc20Addr: ${chain33ZBCErc20Addr} ${NOC}"
echo -e "${GRE}ethBridgeToeknZBCAddr: ${ethBridgeToeknZBCAddr} ${NOC}"
echo -e "${GRE}multisignChain33Addr: ${multisignChain33Addr} ${NOC}"
echo -e "${GRE}multisignEthAddr: ${multisignEthAddr} ${NOC}"
echo -e "${GRE}=========== echo don't use addrs ===========${NOC}"
echo -e "${GRE}ethDeployAddr: ${ethDeployAddr} ${NOC}"
echo -e "${GRE}chain33DeployAddr: ${chain33DeployAddr} ${NOC}"
echo -e "${GRE}chain33ValidatorA: ${chain33Validatora} ${NOC}"
echo -e "${GRE}chain33ValidatorB: ${chain33Validatorb} ${NOC}"
echo -e "${GRE}chain33ValidatorC: ${chain33Validatorc} ${NOC}"
echo -e "${GRE}chain33ValidatorD: ${chain33Validatord} ${NOC}"
echo -e "${GRE}ethValidatorAddrA: ${ethValidatorAddra} ${NOC}"
echo -e "${GRE}ethValidatorAddrB: ${ethValidatorAddrb} ${NOC}"
echo -e "${GRE}ethValidatorAddrC: ${ethValidatorAddrc} ${NOC}"
echo -e "${GRE}ethValidatorAddrD: ${ethValidatorAddrd} ${NOC}"
echo -e "${GRE}=========== echo use test addrs and keys===========${NOC}"
echo -e "${GRE}ethTestAddr1: ${ethTestAddr1} ${NOC}"
echo -e "${GRE}ethTestAddrKey1: ${ethTestAddrKey1} ${NOC}"
echo -e "${GRE}chain33TestAddr1: ${chain33TestAddr1} ${NOC}"
echo -e "${GRE}chain33TestAddrKey1: ${chain33TestAddrKey1} ${NOC}"
}
function AllRelayerMainTest() {
set +e
docker_chain33_ip=$(get_docker_addr "${dockerNamePrefix}_chain33_1")
......@@ -662,8 +728,8 @@ function AllRelayerMainTest() {
# test
Chain33Cli=${Para8901Cli}
TestChain33ToEthAssets
TestChain33ToEthZBCAssets
TestETH2Chain33Assets
TestChain33ToEthZBCAssets
TestETH2Chain33Ycc
Chain33Cli=${Para8901Cli}
......@@ -672,5 +738,6 @@ function AllRelayerMainTest() {
lockEth
lockEthYcc
echo_addrs
echo -e "${GRE}=========== $FUNCNAME end ===========${NOC}"
}
......@@ -9,17 +9,6 @@ set +e
source "./publicTest.sh"
source "./relayerPublic.sh"
# ETH 部署合约者的私钥 用于部署合约时签名使用
ethDeployAddr="0x8afdadfc88a1087c9a1d6c0f5dd04634b87f303a"
ethDeployKey="8656d2bc732a8a816a461ba5e2d8aac7c7f85c26a813df30d5327210465eb230"
# validatorsAddr=["0x8afdadfc88a1087c9a1d6c0f5dd04634b87f303a", "0x0df9a824699bc5878232c9e612fe1a5346a5a368", "0xcb074cb21cdddf3ce9c3c0a7ac4497d633c9d9f1", "0xd9dab021e74ecf475788ed7b61356056b2095830"]
ethValidatorAddrKeyA="8656d2bc732a8a816a461ba5e2d8aac7c7f85c26a813df30d5327210465eb230"
# chain33 部署合约者的私钥 用于部署合约时签名使用
chain33DeployAddr="1N6HstkyLFS8QCeVfdvYxx1xoryXoJtvvZ"
chain33DeployKey="0x027ca96466c71c7e7c5d73b7e1f43cb889b3bd65ebd2413eefd31c6709c262ae"
# $1 send file
function chain33_offline_send() {
# shellcheck disable=SC2154
......@@ -31,6 +20,7 @@ function chain33_offline_send() {
# $1 send file $2 key
function ethereum_offline_sign_send() {
# shellcheck disable=SC2154
key="${ethDeployKey}"
if [[ ${2} != "" ]]; then
key="${2}"
......@@ -52,15 +42,16 @@ function InitAndOfflineDeploy() {
cli_ret "${result}" "unlock"
# shellcheck disable=SC2154
result=$(${CLIA} chain33 import_privatekey -k "${chain33ValidatorKeyA}")
result=$(${CLIA} chain33 import_privatekey -k "${chain33ValidatorKeya}")
cli_ret "${result}" "chain33 import_privatekey"
result=$(${CLIA} ethereum import_privatekey -k "${ethValidatorAddrKeyA}")
# shellcheck disable=SC2154
result=$(${CLIA} ethereum import_privatekey -k "${ethValidatorAddrKeya}")
cli_ret "${result}" "ethereum import_privatekey"
# 在 chain33 上部署合约
# shellcheck disable=SC2154
${Boss4xCLI} chain33 offline create -f 1 -k "${chain33DeployKey}" -n "deploy crossx to chain33" -r "${chain33ValidatorA}, [${chain33ValidatorA}, ${chain33ValidatorB}, ${chain33ValidatorC}, ${chain33ValidatorD}], [25, 25, 25, 25]" --chainID "${chain33ID}"
${Boss4xCLI} chain33 offline create -f 1 -k "${chain33DeployKey}" -n "deploy crossx to chain33" -r "${chain33DeployAddr}, [${chain33Validatora}, ${chain33Validatorb}, ${chain33Validatorc}, ${chain33Validatord}], [25, 25, 25, 25]" --chainID "${chain33ID}"
result=$(${Boss4xCLI} chain33 offline send -f "deployCrossX2Chain33.txt")
for i in {0..7}; do
......@@ -79,7 +70,7 @@ 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 -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
......@@ -110,7 +101,8 @@ function InitAndOfflineDeploy() {
function offline_deploy_erc20_eth_YCC() {
# eth 上 铸币 YCC
echo -e "${GRE}======= 在 ethereum 上创建 ERC20 ycc ======${NOC}"
${Boss4xCLI} ethereum offline create_erc20 -m 33000000000000000000 -s YCC -o "${ethValidatorAddrA}" -d "${ethDeployAddr}"
# shellcheck disable=SC2154
${Boss4xCLI} ethereum offline create_erc20 -m 33000000000000000000 -s YCC -o "${ethTestAddr1}" -d "${ethDeployAddr}"
${Boss4xCLI} ethereum offline sign -f "deployErc20YCC.txt" -k "${ethDeployKey}"
sleep 10
result=$(${Boss4xCLI} ethereum offline send -f "deploysigntxs.txt")
......@@ -135,12 +127,15 @@ function offline_create_bridge_token_chain33_YCC() {
result=$(${Chain33Cli} evm query -a "${chain33YccTokenAddr}" -c "${chain33YccTokenAddr}" -b "symbol()")
is_equal "${result}" "YCC"
${CLIA} chain33 token set -t "${chain33YccTokenAddr}" -s YCC
}
function offline_deploy_erc20_chain33_YCC() {
# chain33 token create YCC
echo -e "${GRE}======= 在 chain33 上创建 ERC20 YCC ======${NOC}"
${Boss4xCLI} chain33 offline create_erc20 -s YCC -k "${chain33DeployKey}" -o "${chain33DeployAddr}" --chainID "${chain33ID}"
# shellcheck disable=SC2154
${Boss4xCLI} chain33 offline create_erc20 -s YCC -k "${chain33DeployKey}" -o "${chain33TestAddr1}" --chainID "${chain33ID}"
result=$(${Boss4xCLI} chain33 offline send -f "deployErc20YCCChain33.txt")
hash=$(echo "${result}" | jq -r ".[0].TxHash")
check_tx "${Chain33Cli}" "${hash}"
......@@ -148,7 +143,8 @@ function offline_deploy_erc20_chain33_YCC() {
cp ERC20.abi "${chain33YccErc20Addr}.abi"
# echo 'YCC.1:增加allowance的设置,或者使用relayer工具进行'
${Boss4xCLI} chain33 offline approve_erc20 -a 330000000000 -s "${chain33BridgeBank}" -c "${chain33YccErc20Addr}" -k "${chain33DeployKey}" --chainID "${chain33ID}"
# shellcheck disable=SC2154
${Boss4xCLI} chain33 offline approve_erc20 -a 330000000000 -s "${chain33BridgeBank}" -c "${chain33YccErc20Addr}" -k "${chain33TestAddrKey1}" --chainID "${chain33ID}"
chain33_offline_send "approve_erc20.txt"
# echo 'YCC.2:#执行add lock操作:addToken2LockList'
......@@ -159,7 +155,7 @@ function offline_deploy_erc20_chain33_YCC() {
function offline_deploy_erc20_chain33_ZBC() {
# chain33 token create ZBC
echo -e "${GRE}======= 在 chain33 上创建 ERC20 ZBC ======${NOC}"
${Boss4xCLI} chain33 offline create_erc20 -s ZBC -k "${chain33DeployKey}" -o "${chain33DeployAddr}" --chainID "${chain33ID}"
${Boss4xCLI} chain33 offline create_erc20 -s ZBC -k "${chain33DeployKey}" -o "${chain33TestAddr1}" --chainID "${chain33ID}"
result=$(${Boss4xCLI} chain33 offline send -f "deployErc20ZBCChain33.txt")
hash=$(echo "${result}" | jq -r ".[0].TxHash")
check_tx "${Chain33Cli}" "${hash}"
......@@ -167,7 +163,7 @@ function offline_deploy_erc20_chain33_ZBC() {
cp ERC20.abi "${chain33ZBCErc20Addr}.abi"
# echo 'ZBC.1:增加allowance的设置,或者使用relayer工具进行'
${Boss4xCLI} chain33 offline approve_erc20 -a 330000000000 -s "${chain33BridgeBank}" -c "${chain33ZBCErc20Addr}" -k "${chain33DeployKey}" --chainID "${chain33ID}"
${Boss4xCLI} chain33 offline approve_erc20 -a 330000000000 -s "${chain33BridgeBank}" -c "${chain33ZBCErc20Addr}" -k "${chain33TestAddrKey1}" --chainID "${chain33ID}"
chain33_offline_send "approve_erc20.txt"
# echo 'ZBC.2:#执行add lock操作:addToken2LockList'
......@@ -197,6 +193,8 @@ function offline_create_bridge_token_chain33_ETH() {
result=$(${Chain33Cli} evm query -a "${chain33EthTokenAddr}" -c "${chain33EthTokenAddr}" -b "symbol()")
is_equal "${result}" "ETH"
${CLIA} chain33 token set -t "${chain33EthTokenAddr}" -s ETH
}
function offline_create_bridge_token_eth_YCC() {
......@@ -266,12 +264,12 @@ function offline_transfer_multisign_Eth_test() {
# transfer
# shellcheck disable=SC2154
# ${CLIA} ethereum multisign transfer -a 3 -r "${ethBridgeBank}" -o "${ethValidatorAddrKeyB}" -k "${ethMultisignKeyA},${ethMultisignKeyB},${ethMultisignKeyC},${ethMultisignKeyD}"
${Boss4xCLI} ethereum offline multisign_transfer_prepare -a 3 -r "${ethBridgeBank}" -c "${multisignEthAddr}" -d "${ethValidatorAddrB}"
${Boss4xCLI} ethereum offline multisign_transfer_prepare -a 3 -r "${ethBridgeBank}" -c "${multisignEthAddr}" -d "${ethTestAddr1}"
# shellcheck disable=SC2154
${Boss4xCLI} ethereum offline sign_multisign_tx -k "${ethMultisignKeyA},${ethMultisignKeyB},${ethMultisignKeyC},${ethMultisignKeyD}"
${Boss4xCLI} ethereum offline create_multisign_tx
# shellcheck disable=SC2154
ethereum_offline_sign_send create_multisign_tx.txt "${ethValidatorAddrKeyB}"
ethereum_offline_sign_send create_multisign_tx.txt "${ethTestAddrKey1}"
sleep 10
result=$(${CLIA} ethereum balance -o "${ethBridgeBank}")
......@@ -282,14 +280,14 @@ function offline_transfer_multisign_Eth_test() {
# transfer
# shellcheck disable=SC2154
# ${CLIA} ethereum multisign transfer -a 5 -r "${ethMultisignA}" -o "${ethValidatorAddrKeyB}" -k "${ethMultisignKeyA},${ethMultisignKeyB},${ethMultisignKeyC},${ethMultisignKeyD}"
${Boss4xCLI} ethereum offline multisign_transfer_prepare -a 5 -r "${ethMultisignA}" -c "${multisignEthAddr}" -d "${ethValidatorAddrB}"
${Boss4xCLI} ethereum offline multisign_transfer_prepare -a 5 -r "${ethMultisignA}" -c "${multisignEthAddr}" -d "${ethTestAddr1}"
${Boss4xCLI} ethereum offline sign_multisign_tx -k "${ethMultisignKeyA},${ethMultisignKeyB},${ethMultisignKeyC},${ethMultisignKeyD}"
${Boss4xCLI} ethereum offline create_multisign_tx
ethereum_offline_sign_send create_multisign_tx.txt "${ethValidatorAddrKeyB}"
ethereum_offline_sign_send create_multisign_tx.txt "${ethTestAddrKey1}"
sleep 10
result=$(${CLIA} ethereum balance -o "${ethMultisignA}")
cli_ret "${result}" "balance" ".balance" "105"
cli_ret "${result}" "balance" ".balance" "1005"
result=$(${CLIA} ethereum balance -o "${multisignEthAddr}")
cli_ret "${result}" "balance" ".balance" "15"
......@@ -299,10 +297,10 @@ function offline_transfer_multisign_Eth_test() {
function offline_transfer_multisign_EthYcc() {
echo -e "${GRE}=========== $FUNCNAME begin ===========${NOC}"
# transfer
${Boss4xCLI} ethereum offline multisign_transfer_prepare -a 8 -r "${ethBridgeBank}" -c "${multisignEthAddr}" -d "${ethValidatorAddrB}" -t "${ethereumYccTokenAddr}"
${Boss4xCLI} ethereum offline multisign_transfer_prepare -a 8 -r "${ethBridgeBank}" -c "${multisignEthAddr}" -d "${ethTestAddr1}" -t "${ethereumYccTokenAddr}"
${Boss4xCLI} ethereum offline sign_multisign_tx -k "${ethMultisignKeyA},${ethMultisignKeyB},${ethMultisignKeyC},${ethMultisignKeyD}"
${Boss4xCLI} ethereum offline create_multisign_tx
ethereum_offline_sign_send create_multisign_tx.txt "${ethValidatorAddrKeyB}"
ethereum_offline_sign_send create_multisign_tx.txt "${ethTestAddrKey1}"
sleep 10
result=$(${CLIA} ethereum balance -o "${ethBridgeBank}" -t "${ethereumYccTokenAddr}")
......@@ -312,10 +310,10 @@ function offline_transfer_multisign_EthYcc() {
# transfer
# ${CLIA} ethereum multisign transfer -a 10 -r "${ethMultisignA}" -o "${ethValidatorAddrKeyB}" -t "${ethereumYccTokenAddr}" -k "${ethMultisignKeyA},${ethMultisignKeyB},${ethMultisignKeyC},${ethMultisignKeyD}"
${Boss4xCLI} ethereum offline multisign_transfer_prepare -a 10 -r "${ethMultisignA}" -c "${multisignEthAddr}" -d "${ethValidatorAddrB}" -t "${ethereumYccTokenAddr}"
${Boss4xCLI} ethereum offline multisign_transfer_prepare -a 10 -r "${ethMultisignA}" -c "${multisignEthAddr}" -d "${ethTestAddr1}" -t "${ethereumYccTokenAddr}"
${Boss4xCLI} ethereum offline sign_multisign_tx -k "${ethMultisignKeyA},${ethMultisignKeyB},${ethMultisignKeyC},${ethMultisignKeyD}"
${Boss4xCLI} ethereum offline create_multisign_tx
ethereum_offline_sign_send create_multisign_tx.txt "${ethValidatorAddrKeyB}"
ethereum_offline_sign_send create_multisign_tx.txt "${ethTestAddrKey1}"
sleep 10
result=$(${CLIA} ethereum balance -o "${ethMultisignA}" -t "${ethereumYccTokenAddr}")
......@@ -361,7 +359,7 @@ function offline_transfer_multisign_Chain33Ycc_test() {
is_equal "${result}" "30300000000"
# 判断 ETH 这端是否金额一致
result=$(${CLIA} ethereum balance -o "${ethDeployAddr}" -t "${ethBridgeToeknYccAddr}")
result=$(${CLIA} ethereum balance -o "${ethTestAddr1}" -t "${ethBridgeToeknYccAddr}")
cli_ret "${result}" "balance" ".balance" "370"
echo -e "${GRE}=========== $FUNCNAME end ===========${NOC}"
......
......@@ -6,45 +6,25 @@ set +e
source "./publicTest.sh"
# ETH 部署合约者的私钥 用于部署合约时签名使用
ethDeployAddr="0x8afdadfc88a1087c9a1d6c0f5dd04634b87f303a"
ethDeployKey="8656d2bc732a8a816a461ba5e2d8aac7c7f85c26a813df30d5327210465eb230"
# validatorsAddr=["0x8afdadfc88a1087c9a1d6c0f5dd04634b87f303a", "0x0df9a824699bc5878232c9e612fe1a5346a5a368", "0xcb074cb21cdddf3ce9c3c0a7ac4497d633c9d9f1", "0xd9dab021e74ecf475788ed7b61356056b2095830"]
#ethValidatorAddrKeyA="8656d2bc732a8a816a461ba5e2d8aac7c7f85c26a813df30d5327210465eb230"
# shellcheck disable=SC2034
{
ethValidatorAddrA="0x8afdadfc88a1087c9a1d6c0f5dd04634b87f303a"
ethValidatorAddrB="0x0df9a824699bc5878232c9e612fe1a5346a5a368"
ethValidatorAddrC="0xcb074cb21cdddf3ce9c3c0a7ac4497d633c9d9f1"
ethValidatorAddrD="0xd9dab021e74ecf475788ed7b61356056b2095830"
ethValidatorAddrKeyA="8656d2bc732a8a816a461ba5e2d8aac7c7f85c26a813df30d5327210465eb230"
ethValidatorAddrKeyB="a5f3063552f4483cfc20ac4f40f45b798791379862219de9e915c64722c1d400"
ethValidatorAddrKeyC="bbf5e65539e9af0eb0cfac30bad475111054b09c11d668fc0731d54ea777471e"
ethValidatorAddrKeyD="c9fa31d7984edf81b8ef3b40c761f1847f6fcd5711ab2462da97dc458f1f896b"
}
# chain33 部署合约者的私钥 用于部署合约时签名使用
#chain33DeployAddr="14KEKbYtKKQm4wMthSK9J4La4nAiidGozt"
#chain33DeployKey="0xcc38546e9e659d15e6b4893f0ab32a06d103931a8230b0bde71459d2b27d6944"
chain33DeployAddr="1N6HstkyLFS8QCeVfdvYxx1xoryXoJtvvZ"
chain33DeployKey="0x027ca96466c71c7e7c5d73b7e1f43cb889b3bd65ebd2413eefd31c6709c262ae"
chain33ReceiverAddr="12qyocayNF7Lv6C9qW4avxs2E7U41fKSfv"
chain33ReceiverAddrKey="4257d8692ef7fe13c68b65d6a52f03933db2fa5ce8faf210b5b8b80c721ced01"
# 新增地址 chain33 需要导入地址 转入 10 bty当收费费
# shellcheck disable=SC2034
chain33ValidatorA="1N6HstkyLFS8QCeVfdvYxx1xoryXoJtvvZ"
chain33ValidatorB="155ooMPBTF8QQsGAknkK7ei5D78rwDEFe6"
chain33ValidatorC="13zBdQwuyDh7cKN79oT2odkxYuDbgQiXFv"
chain33ValidatorD="113ZzVamKfAtGt9dq45fX1mNsEoDiN95HG"
# shellcheck disable=SC2034
{
chain33ValidatorKeyA="0x027ca96466c71c7e7c5d73b7e1f43cb889b3bd65ebd2413eefd31c6709c262ae"
chain33ValidatorKeyB="0x9d539bc5fd084eb7fe86ad631dba9aa086dba38418725c38d9751459f567da66"
chain33ValidatorKeyC="0x0a6671f101e30a2cc2d79d77436b62cdf2664ed33eb631a9c9e3f3dd348a23be"
chain33ValidatorKeyD="0x3818b257b05ee75b6e43ee0e3cfc2d8502342cf67caed533e3756966690b62a5"
chain33MultisignA="168Sn1DXnLrZHTcAM9stD6t2P49fNuJfJ9"
chain33MultisignB="13KTf57aCkVVJYNJBXBBveiA5V811SrLcT"
chain33MultisignC="1JQwQWsShTHC4zxHzbUfYQK4kRBriUQdEe"
chain33MultisignD="1NHuKqoKe3hyv52PF8XBAyaTmJWAqA2Jbb"
chain33MultisignKeyA="0xcd284cd17456b73619fa609bb9e3105e8eff5d059c5e0b6eb1effbebd4d64144"
chain33MultisignKeyB="0xe892212221b3b58211b90194365f4662764b6d5474ef2961ef77c909e31eeed3"
chain33MultisignKeyC="0x9d19a2e9a440187010634f4f08ce36e2bc7b521581436a99f05568be94dc66ea"
chain33MultisignKeyD="0x45d4ce009e25e6d5e00d8d3a50565944b2e3604aa473680a656b242d9acbff35"
ethMultisignA=0x4c85848a7E2985B76f06a7Ed338FCB3aF94a7DCf
ethMultisignB=0x6F163E6daf0090D897AD7016484f10e0cE844994
ethMultisignC=0xbc333839E37bc7fAAD0137aBaE2275030555101f
ethMultisignD=0x495953A743ef169EC5D4aC7b5F786BF2Bd56aFd5
ethMultisignKeyA=0x5e8aadb91eaa0fce4df0bcc8bd1af9e703a1d6db78e7a4ebffd6cf045e053574
ethMultisignKeyB=0x0504bcb22b21874b85b15f1bfae19ad62fc2ad89caefc5344dc669c57efa60db
ethMultisignKeyC=0x0c61f5a879d70807686e43eccc1f52987a15230ae0472902834af4d1933674f2
ethMultisignKeyD=0x2809477ede1261da21270096776ba7dc68b89c9df5f029965eaa5fe7f0b80697
}
maturityDegree=10
......@@ -113,9 +93,11 @@ function InitAndDeploy() {
result=$(${CLIA} unlock -p 123456hzj)
cli_ret "${result}" "unlock"
# shellcheck disable=SC2154
result=$(${CLIA} chain33 import_privatekey -k "${chain33DeployKey}")
cli_ret "${result}" "chain33 import_privatekey"
# shellcheck disable=SC2154
result=$(${CLIA} ethereum import_privatekey -k "${ethDeployKey}")
cli_ret "${result}" "ethereum import_privatekey"
......@@ -126,6 +108,7 @@ function InitAndDeploy() {
# 拷贝 BridgeRegistry.abi 和 BridgeBank.abi
cp BridgeRegistry.abi "${BridgeRegistryOnChain33}.abi"
# shellcheck disable=SC2154
chain33BridgeBank=$(${Chain33Cli} evm query -c "${chain33DeployAddr}" -b "bridgeBank()" -a "${BridgeRegistryOnChain33}")
cp Chain33BridgeBank.abi "${chain33BridgeBank}.abi"
......@@ -176,6 +159,7 @@ function create_bridge_token_chain33_ETH() {
function deploy_erc20_eth_YCC() {
# eth 上 铸币 YCC
echo -e "${GRE}======= 在 ethereum 上创建 ERC20 ycc ======${NOC}"
# shellcheck disable=SC2154
result=$(${CLIA} ethereum deploy_erc20 -c "${ethDeployAddr}" -n YCC -s YCC -m 33000000000000000000)
cli_ret "${result}" "ethereum deploy_erc20 -s YCC"
ethereumYccTokenAddr=$(echo "${result}" | jq -r .msg)
......@@ -272,7 +256,7 @@ function start_ebrelayerA() {
function updata_toml_start_BCD() {
bind_port=9901
push_port=20000
for name in B C D; do
for name in b c d; do
local file="./relayer_$name/relayer.toml"
cp './relayer.toml' "${file}"
......@@ -347,7 +331,8 @@ function validators_config() {
line=$(delete_line_show "./relayer.toml" 'validatorsAddr=\["14KEKbYtKKQm4wMthSK9J4La4nAiidGozt')
if [ "${line}" ]; then
sed -i ''"${line}"' a validatorsAddr=['\""${chain33ValidatorA}"\"', '\""${chain33ValidatorB}"\"', '\""${chain33ValidatorC}"\"', '\""${chain33ValidatorD}"\"']' "./relayer.toml"
# shellcheck disable=SC2154
sed -i ''"${line}"' a validatorsAddr=['\""${chain33Validatora}"\"', '\""${chain33Validatorb}"\"', '\""${chain33Validatorc}"\"', '\""${chain33Validatord}"\"']' "./relayer.toml"
fi
}
......@@ -388,7 +373,9 @@ function InitChain33() {
${Chain33Cli} seed save -p 1314fuzamei -s "tortoise main civil member grace happy century convince father cage beach hip maid merry rib"
${Chain33Cli} wallet unlock -p 1314fuzamei -t 0
${Chain33Cli} account import_key -k CC38546E9E659D15E6B4893F0AB32A06D103931A8230B0BDE71459D2B27D6944 -l returnAddr
# shellcheck disable=SC2154
${Chain33Cli} account import_key -k "${chain33ReceiverAddrKey}" -l minerAddr
# shellcheck disable=SC2154
hash=$(${Chain33Cli} send coins transfer -a 10000 -n test -t "${chain33ReceiverAddr}" -k CC38546E9E659D15E6B4893F0AB32A06D103931A8230B0BDE71459D2B27D6944)
check_tx "${Chain33Cli}" "${hash}"
......@@ -397,25 +384,42 @@ function InitChain33() {
echo -e "${GRE}=========== $FUNCNAME end ===========${NOC}"
}
# chian33 初始化准备
function InitChain33Validator() {
echo -e "${GRE}=========== $FUNCNAME begin ===========${NOC}"
# 转帐到 DeployAddr
result=$(${Chain33Cli} account import_key -k "${chain33DeployKey}" -l "DeployAddr")
check_addr "${result}" "${chain33DeployAddr}"
hash=$(${Chain33Cli} send coins transfer -a 6000 -n test -t "${chain33DeployAddr}" -k 4257d8692ef7fe13c68b65d6a52f03933db2fa5ce8faf210b5b8b80c721ced01)
# $1 Key $2 addr $3 label $4 amount $5 evm amount
function Chain33ImportKey() {
local key="${1}"
local addr="${2}"
local label="${3}"
local amount="${4}"
local evm_amount="${5}"
# 转帐到 DeployAddr 需要手续费
result=$(${Chain33Cli} account import_key -k "${key}" -l "${label}")
check_addr "${result}" "${addr}"
hash=$(${Chain33Cli} send coins transfer -a "${amount}" -n test -t "${addr}" -k 4257d8692ef7fe13c68b65d6a52f03933db2fa5ce8faf210b5b8b80c721ced01)
check_tx "${Chain33Cli}" "${hash}"
# 转账到 EVM 合约中
hash=$(${Chain33Cli} send coins send_exec -e evm -a 3000 -k "${chain33DeployAddr}")
hash=$(${Chain33Cli} send coins send_exec -e evm -a "${evm_amount}" -k "${addr}")
check_tx "${Chain33Cli}" "${hash}"
result=$(${Chain33Cli} account balance -a "${addr}" -e evm)
# balance_ret "${result}" "${evm_amount}.0000" # 平行链查询方式不一样 直接去掉金额匹配
}
result=$(${Chain33Cli} account balance -a "${chain33DeployAddr}" -e evm)
# balance_ret "${result}" "4000.0000"
# chian33 初始化准备
function InitChain33Validator() {
echo -e "${GRE}=========== $FUNCNAME begin ===========${NOC}"
# 转帐到 DeployAddr 需要手续费
Chain33ImportKey "${chain33DeployKey}" "${chain33DeployAddr}" "DeployAddr" 2200 1000
# shellcheck disable=SC2154
{
# 转帐到 chain33TestAddrKey 需要手续费
Chain33ImportKey "${chain33TestAddrKey1}" "${chain33TestAddr1}" "cross2ethAddr1" 2200 1000
Chain33ImportKey "${chain33TestAddrKey2}" "${chain33TestAddr2}" "cross2ethAddr2" 2200 1000
}
# 导入 chain33Validators 私钥生成地址
for name in B C D; do
for name in a b c d; do
eval chain33ValidatorKey=\$chain33ValidatorKey${name}
eval chain33Validator=\$chain33Validator${name}
result=$(${Chain33Cli} account import_key -k "${chain33ValidatorKey}" -l validator$name)
......@@ -423,10 +427,10 @@ function InitChain33Validator() {
check_addr "${result}" "${chain33Validator}"
# chain33Validator 要有手续费
hash=$(${Chain33Cli} send coins transfer -a 100 -t "${chain33Validator}" -k "${chain33DeployAddr}")
hash=$(${Chain33Cli} send coins transfer -a 100 -t "${chain33Validator}" -k 4257d8692ef7fe13c68b65d6a52f03933db2fa5ce8faf210b5b8b80c721ced01)
check_tx "${Chain33Cli}" "${hash}"
# result=$(${Chain33Cli} account balance -a "${chain33Validator}" -e coins)
# balance_ret "${result}" "100.0000"
result=$(${Chain33Cli} account balance -a "${chain33Validator}" -e coins)
# balance_ret "${result}" "100.0000" # 平行链查询方式不一样 直接去掉金额匹配
done
echo -e "${GRE}=========== $FUNCNAME end ===========${NOC}"
......@@ -486,27 +490,6 @@ function StartRelayerOnRopsten() {
echo -e "${GRE}=========== $FUNCNAME end ===========${NOC}"
}
# shellcheck disable=SC2034
{
chain33MultisignA="168Sn1DXnLrZHTcAM9stD6t2P49fNuJfJ9"
chain33MultisignB="13KTf57aCkVVJYNJBXBBveiA5V811SrLcT"
chain33MultisignC="1JQwQWsShTHC4zxHzbUfYQK4kRBriUQdEe"
chain33MultisignD="1NHuKqoKe3hyv52PF8XBAyaTmJWAqA2Jbb"
chain33MultisignKeyA="0xcd284cd17456b73619fa609bb9e3105e8eff5d059c5e0b6eb1effbebd4d64144"
chain33MultisignKeyB="0xe892212221b3b58211b90194365f4662764b6d5474ef2961ef77c909e31eeed3"
chain33MultisignKeyC="0x9d19a2e9a440187010634f4f08ce36e2bc7b521581436a99f05568be94dc66ea"
chain33MultisignKeyD="0x45d4ce009e25e6d5e00d8d3a50565944b2e3604aa473680a656b242d9acbff35"
ethMultisignA=0x4c85848a7E2985B76f06a7Ed338FCB3aF94a7DCf
ethMultisignB=0x6F163E6daf0090D897AD7016484f10e0cE844994
ethMultisignC=0xbc333839E37bc7fAAD0137aBaE2275030555101f
ethMultisignD=0x495953A743ef169EC5D4aC7b5F786BF2Bd56aFd5
ethMultisignKeyA=0x5e8aadb91eaa0fce4df0bcc8bd1af9e703a1d6db78e7a4ebffd6cf045e053574
ethMultisignKeyB=0x0504bcb22b21874b85b15f1bfae19ad62fc2ad89caefc5344dc669c57efa60db
ethMultisignKeyC=0x0c61f5a879d70807686e43eccc1f52987a15230ae0472902834af4d1933674f2
ethMultisignKeyD=0x2809477ede1261da21270096776ba7dc68b89c9df5f029965eaa5fe7f0b80697
}
function initMultisignChain33Addr() {
echo -e "${GRE}=========== $FUNCNAME begin ===========${NOC}"
......@@ -613,7 +596,8 @@ function lock_bty_multisign() {
# lock chain33 ycc erc20 判断是否转入多签地址金额是否正确
function lock_chain33_ycc_multisign() {
local lockAmount="${1}00000000"
hash=$(${Chain33Cli} send evm call -f 1 -k "${chain33DeployAddr}" -e "${chain33BridgeBank}" -p "lock(${ethDeployAddr}, ${chain33YccErc20Addr}, ${lockAmount})" --chainID "${chain33ID}")
# shellcheck disable=SC2154
hash=$(${Chain33Cli} send evm call -f 1 -k "${chain33TestAddr1}" -e "${chain33BridgeBank}" -p "lock(${ethTestAddr1}, ${chain33YccErc20Addr}, ${lockAmount})" --chainID "${chain33ID}")
check_tx "${Chain33Cli}" "${hash}"
if [[ $# -eq 3 ]]; then
......@@ -633,7 +617,8 @@ function lock_chain33_ycc_multisign() {
# lock eth 判断是否转入多签地址金额是否正确
function lock_eth_multisign() {
local lockAmount=$1
result=$(${CLIA} ethereum lock -m "${lockAmount}" -k "${ethDeployKey}" -r "${chain33ReceiverAddr}")
# shellcheck disable=SC2154
result=$(${CLIA} ethereum lock -m "${lockAmount}" -k "${ethTestAddrKey1}" -r "${chain33ReceiverAddr}")
cli_ret "${result}" "lock"
if [[ $# -eq 3 ]]; then
......@@ -653,7 +638,7 @@ function lock_eth_multisign() {
# lock ethereum ycc erc20 判断是否转入多签地址金额是否正确
function lock_ethereum_ycc_multisign() {
local lockAmount=$1
result=$(${CLIA} ethereum lock -m "${lockAmount}" -k "${ethDeployKey}" -r "${chain33ReceiverAddr}" -t "${ethereumYccTokenAddr}")
result=$(${CLIA} ethereum lock -m "${lockAmount}" -k "${ethTestAddrKey1}" -r "${chain33ReceiverAddr}" -t "${ethereumYccTokenAddr}")
cli_ret "${result}" "lock"
if [[ $# -eq 3 ]]; then
......
......@@ -47,7 +47,7 @@ operatorAddr="0x8afdadfc88a1087c9a1d6c0f5dd04634b87f303a"
#合约部署人员私钥,用于部署合约时签名使用
deployerPrivateKey="8656d2bc732a8a816a461ba5e2d8aac7c7f85c26a813df30d5327210465eb230"
#验证人地址,至少配置3个以上,即大于等于3个
validatorsAddr=["0x8afdadfc88a1087c9a1d6c0f5dd04634b87f303a", "0x0df9a824699bc5878232c9e612fe1a5346a5a368", "0xcb074cb21cdddf3ce9c3c0a7ac4497d633c9d9f1", "0xd9dab021e74ecf475788ed7b61356056b2095830"]
validatorsAddr=["0x92C8b16aFD6d423652559C6E266cBE1c29Bfd84f", "0x0df9a824699bc5878232c9e612fe1a5346a5a368", "0xcb074cb21cdddf3ce9c3c0a7ac4497d633c9d9f1", "0xd9dab021e74ecf475788ed7b61356056b2095830"]
#验证人权重
initPowers=[96, 1, 1, 1]
......@@ -57,7 +57,7 @@ initPowers=[96, 1, 1, 1]
loglevel = "debug"
logConsoleLevel = "debug"
# 日志文件名,可带目录,所有生成的日志文件都放到此目录下
logFile = "logs/x2Ethereum_relayer.log"
logFile = "logs/cross2eth_relayer.log"
# 单个日志文件的最大值(单位:兆)
maxFileSize = 300
# 最多保存的历史日志文件个数
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment