Commit 6ad57f51 authored by QM's avatar QM

add main Bsc

parent 0e1ce6f3
...@@ -22,6 +22,9 @@ chain33BycBridgeTokenAddr="" ...@@ -22,6 +22,9 @@ chain33BycBridgeTokenAddr=""
ethereumUSDTERC20TokenAddr="" ethereumUSDTERC20TokenAddr=""
chain33USDTBridgeTokenAddr="" chain33USDTBridgeTokenAddr=""
ethereumBUSDERC20TokenAddr="0xe9e7cea3dedca5984780bafc599bd69add087d56"
chain33BUSDBridgeTokenAddr=""
chain33YccERC20TokenAddr="" chain33YccERC20TokenAddr=""
ethereumYccBridgeTokenAddr="" ethereumYccBridgeTokenAddr=""
...@@ -38,8 +41,8 @@ chain33ID=0 ...@@ -38,8 +41,8 @@ chain33ID=0
EvmxgoBoss4xCLI="./evmxgoboss4x" EvmxgoBoss4xCLI="./evmxgoboss4x"
#BscProvider="wss://data-seed-prebsc-1-s1.binance.org:8545" #BscProvider="wss://data-seed-prebsc-1-s1.binance.org:8545"
#BscProviderUrl="https://data-seed-prebsc-1-s1.binance.org:8545" #BscProviderUrl="https://data-seed-prebsc-1-s1.binance.org:8545"
BscProvider="wss://ws-testnet.hecochain.com" BscProvider="wss://bsc-dataseed.binance.org/"
BscProviderUrl="https://http-testnet.hecochain.com" BscProviderUrl="https://bsc-dataseed.binance.org/"
# shellcheck disable=SC2034 # shellcheck disable=SC2034
{ {
...@@ -463,6 +466,75 @@ function TestETH2Chain33USDT() { ...@@ -463,6 +466,75 @@ function TestETH2Chain33USDT() {
echo -e "${GRE}=========== $FUNCNAME end ===========${NOC}" echo -e "${GRE}=========== $FUNCNAME end ===========${NOC}"
} }
function TestETH2Chain33BUSD() {
echo -e "${GRE}=========== $FUNCNAME begin ===========${NOC}"
echo -e "${GRE}=========== eth to chain33 在以太坊上锁定 BUSD 资产,然后在 chain33 上 burn ===========${NOC}"
# 查询 ETH 这端 bridgeBank 地址原来是 0
result=$(${CLIA} ethereum balance -o "${ethBridgeBank}" -t "${ethereumBUSDERC20TokenAddr}")
cli_ret "${result}" "balance" ".balance" "0"
# ETH 这端 lock 12个 BUSD
result=$(${CLIA} ethereum lock -m 3 -k "${ethTestAddrKey1}" -r "${chain33ReceiverAddr}" -t "${ethereumBUSDERC20TokenAddr}")
cli_ret "${result}" "lock"
# eth 等待 2 个区块
sleep 4
# 查询 ETH 这端 bridgeBank 地址 12 BUSD
result=$(${CLIA} ethereum balance -o "${ethBridgeBank}" -t "${ethereumBUSDERC20TokenAddr}")
cli_ret "${result}" "balance" ".balance" "3"
sleep ${maturityDegree}
# chain33 chain33EthBridgeTokenAddr(ETH合约中)查询 lock 金额
result=$(${Chain33Cli} evm query -a "${chain33BUSDBridgeTokenAddr}" -c "${chain33TestAddr1}" -b "balanceOf(${chain33ReceiverAddr})")
# 结果是 12 * le8
# is_equal "${result}" "3000000000000000000"
# 原来的数额 0
result=$(${CLIA} ethereum balance -o "${ethReceiverAddr1}" -t "${ethereumBUSDERC20TokenAddr}")
# cli_ret "${result}" "balance" ".balance" "0"
echo '#5.burn YCC from Chain33 YCC(Chain33)-----> Ethereum'
result=$(${CLIA} chain33 burn -m 1 -k "${chain33ReceiverAddrKey}" -r "${ethReceiverAddr1}" -t "${chain33BUSDBridgeTokenAddr}")
cli_ret "${result}" "burn"
sleep ${maturityDegree}
echo "check the balance on chain33"
result=$(${Chain33Cli} evm query -a "${chain33BUSDBridgeTokenAddr}" -c "${chain33TestAddr1}" -b "balanceOf(${chain33ReceiverAddr})")
# 结果是 12-5 * le8
# is_equal "${result}" "2000000000000000000"
# 查询 ETH 这端 bridgeBank 地址 7
result=$(${CLIA} ethereum balance -o "${ethBridgeBank}" -t "${ethereumBUSDERC20TokenAddr}")
cli_ret "${result}" "balance" ".balance" "2"
# 更新后的金额 5
result=$(${CLIA} ethereum balance -o "${ethReceiverAddr1}" -t "${ethereumBUSDERC20TokenAddr}")
cli_ret "${result}" "balance" ".balance" "1"
echo '#5.burn BUSD from Chain33 BUSD(Chain33)-----> Ethereum'
result=$(${CLIA} chain33 burn -m 2 -k "${chain33ReceiverAddrKey}" -r "${ethReceiverAddr1}" -t "${chain33BUSDBridgeTokenAddr}")
cli_ret "${result}" "burn"
sleep ${maturityDegree}
echo "check the balance on chain33"
result=$(${Chain33Cli} evm query -a "${chain33BUSDBridgeTokenAddr}" -c "${chain33TestAddr1}" -b "balanceOf(${chain33ReceiverAddr})")
is_equal "${result}" "0"
# 查询 ETH 这端 bridgeBank 地址 0
result=$(${CLIA} ethereum balance -o "${ethBridgeBank}" -t "${ethereumBUSDERC20TokenAddr}")
cli_ret "${result}" "balance" ".balance" "0"
# 更新后的金额 12
result=$(${CLIA} ethereum balance -o "${ethReceiverAddr1}" -t "${ethereumBUSDERC20TokenAddr}")
cli_ret "${result}" "balance" ".balance" "3"
echo -e "${GRE}=========== $FUNCNAME end ===========${NOC}"
}
# shellcheck disable=SC2120 # shellcheck disable=SC2120
function offline_set_offline_token_Bty() { function offline_set_offline_token_Bty() {
echo -e "${GRE}=========== $FUNCNAME begin ===========${NOC}" echo -e "${GRE}=========== $FUNCNAME begin ===========${NOC}"
...@@ -510,7 +582,7 @@ function offline_set_offline_token_Eth() { ...@@ -510,7 +582,7 @@ function offline_set_offline_token_Eth() {
percents=$2 percents=$2
fi fi
# shellcheck disable=SC2086 # shellcheck disable=SC2086
${Boss4xCLI} ethereum offline set_offline_token -s HT -m ${threshold} -p ${percents} -c "${ethBridgeBank}" -d "${ethDeployAddr}" ${Boss4xCLI} ethereum offline set_offline_token -s BNB -m ${threshold} -p ${percents} -c "${ethBridgeBank}" -d "${ethDeployAddr}"
ethereum_offline_sign_send "set_offline_token.txt" ethereum_offline_sign_send "set_offline_token.txt"
echo -e "${GRE}=========== $FUNCNAME end ===========${NOC}" echo -e "${GRE}=========== $FUNCNAME end ===========${NOC}"
} }
...@@ -764,12 +836,12 @@ function StartDockerRelayerDeploy() { ...@@ -764,12 +836,12 @@ function StartDockerRelayerDeploy() {
sed -i ''"${line}"' a ChainName="user.p.para."' "./relayer.toml" sed -i ''"${line}"' a ChainName="user.p.para."' "./relayer.toml"
# shellcheck disable=SC2155 # shellcheck disable=SC2155
local line=$(delete_line_show "./relayer.toml" "maturityDegree=10") # local line=$(delete_line_show "./relayer.toml" "maturityDegree=10")
sed -i ''"${line}"' a maturityDegree=1' "./relayer.toml" # sed -i ''"${line}"' a maturityDegree=1' "./relayer.toml"
# shellcheck disable=SC2155 # shellcheck disable=SC2155
local line=$(delete_line_show "./relayer.toml" "EthMaturityDegree=10") # local line=$(delete_line_show "./relayer.toml" "EthMaturityDegree=10")
sed -i ''"${line}"' a EthMaturityDegree=1' "./relayer.toml" # sed -i ''"${line}"' a EthMaturityDegree=1' "./relayer.toml"
# 启动 ebrelayer # 启动 ebrelayer
start_docker_ebrelayerA start_docker_ebrelayerA
...@@ -777,7 +849,7 @@ function StartDockerRelayerDeploy() { ...@@ -777,7 +849,7 @@ function StartDockerRelayerDeploy() {
# 部署合约 设置 bridgeRegistry 地址 # 部署合约 设置 bridgeRegistry 地址
InitAndOfflineDeploy InitAndOfflineDeploy
${Boss4xCLI} ethereum offline set_symbol -s "HT" -c "${ethBridgeBank}" -d "${ethDeployAddr}" ${Boss4xCLI} ethereum offline set_symbol -s "BNB" -c "${ethBridgeBank}" -d "${ethDeployAddr}"
ethereum_offline_sign_send "set_symbol.txt" ethereum_offline_sign_send "set_symbol.txt"
# 设置离线多签数据 # 设置离线多签数据
...@@ -805,25 +877,28 @@ function StartDockerRelayerDeploy() { ...@@ -805,25 +877,28 @@ function StartDockerRelayerDeploy() {
updata_toml_start_bcd updata_toml_start_bcd
# 设置 token 地址 # 设置 token 地址
offline_create_bridge_token_eth_BTY # offline_create_bridge_token_eth_BTY
offline_deploy_erc20_eth_BYC # offline_deploy_erc20_eth_BYC
offline_deploy_erc20_eth_USDT # offline_deploy_erc20_eth_USDT
offline_create_bridge_token_eth_YCC # offline_create_bridge_token_eth_YCC
offline_create_bridge_token_eth_ZBC # offline_create_bridge_token_eth_ZBC
#
offline_create_bridge_token_chain33_ETH "BNB" # offline_create_bridge_token_chain33_ETH "BNB"
offline_create_bridge_token_chain33_BYC # offline_create_bridge_token_chain33_BYC
offline_deploy_erc20_chain33_YCC # offline_deploy_erc20_chain33_YCC
offline_deploy_erc20_chain33_ZBC # offline_deploy_erc20_chain33_ZBC
offline_create_bridge_token_chain33_USDT # offline_create_bridge_token_chain33_USDT
offline_create_bridge_token_chain33_BUSD
# shellcheck disable=SC2086 # shellcheck disable=SC2086
{ {
docker cp "${chain33EthBridgeTokenAddr}.abi" "${dockerNamePrefix}_ebrelayera_1":/root/${chain33EthBridgeTokenAddr}.abi # 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 "${chain33USDTBridgeTokenAddr}.abi" "${dockerNamePrefix}_ebrelayera_1":/root/${chain33USDTBridgeTokenAddr}.abi
docker cp "${chain33YccERC20TokenAddr}.abi" "${dockerNamePrefix}_ebrelayera_1":/root/${chain33YccERC20TokenAddr}.abi docker cp "${chain33BUSDBridgeTokenAddr}.abi" "${dockerNamePrefix}_ebrelayera_1":/root/${chain33BUSDBridgeTokenAddr}.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 # 重启,因为relayerA的验证人地址和部署人的地址是一样的,所以需要重新启动relayer,更新nonce
...@@ -845,6 +920,8 @@ function echo_addrs() { ...@@ -845,6 +920,8 @@ function echo_addrs() {
echo -e "${GRE}chain33BycBridgeTokenAddr: ${chain33BycBridgeTokenAddr} ${NOC}" echo -e "${GRE}chain33BycBridgeTokenAddr: ${chain33BycBridgeTokenAddr} ${NOC}"
echo -e "${GRE}ethereumUSDTERC20TokenAddr: ${ethereumUSDTERC20TokenAddr} ${NOC}" echo -e "${GRE}ethereumUSDTERC20TokenAddr: ${ethereumUSDTERC20TokenAddr} ${NOC}"
echo -e "${GRE}chain33USDTBridgeTokenAddr: ${chain33USDTBridgeTokenAddr} ${NOC}" echo -e "${GRE}chain33USDTBridgeTokenAddr: ${chain33USDTBridgeTokenAddr} ${NOC}"
echo -e "${GRE}ethereumBUSDERC20TokenAddr: ${ethereumBUSDERC20TokenAddr} ${NOC}"
echo -e "${GRE}chain33BUSDBridgeTokenAddr: ${chain33BUSDBridgeTokenAddr} ${NOC}"
echo -e "${GRE}chain33YccERC20TokenAddr: ${chain33YccERC20TokenAddr} ${NOC}" echo -e "${GRE}chain33YccERC20TokenAddr: ${chain33YccERC20TokenAddr} ${NOC}"
echo -e "${GRE}ethereumYccBridgeTokenAddr: ${ethereumYccBridgeTokenAddr} ${NOC}" echo -e "${GRE}ethereumYccBridgeTokenAddr: ${ethereumYccBridgeTokenAddr} ${NOC}"
echo -e "${GRE}chain33ZbcERC20TokenAddr: ${chain33ZbcERC20TokenAddr} ${NOC}" echo -e "${GRE}chain33ZbcERC20TokenAddr: ${chain33ZbcERC20TokenAddr} ${NOC}"
...@@ -899,7 +976,7 @@ function DeployEvmxgo() { ...@@ -899,7 +976,7 @@ function DeployEvmxgo() {
XgoChain33BridgeBank=$(${Chain33Cli} evm query -c "${chain33DeployAddr}" -b "bridgeBank()" -a "${XgoBridgeRegistryOnChain33}") XgoChain33BridgeBank=$(${Chain33Cli} evm query -c "${chain33DeployAddr}" -b "bridgeBank()" -a "${XgoBridgeRegistryOnChain33}")
cp XgoChain33BridgeBank.abi "${XgoChain33BridgeBank}.abi" cp XgoChain33BridgeBank.abi "${XgoChain33BridgeBank}.abi"
${EvmxgoBoss4xCLI} chain33 offline create_add_lock_list -s HT -t "${chain33EthBridgeTokenAddr}" -c "${XgoChain33BridgeBank}" -k "${chain33DeployKey}" -f 1 --chainID "${chain33ID}" ${EvmxgoBoss4xCLI} chain33 offline create_add_lock_list -s BNB -t "${chain33EthBridgeTokenAddr}" -c "${XgoChain33BridgeBank}" -k "${chain33DeployKey}" -f 1 --chainID "${chain33ID}"
chain33_offline_send_evm "create_add_lock_list.txt" 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}" ${EvmxgoBoss4xCLI} chain33 offline create_add_lock_list -s BYC -t "${chain33BycBridgeTokenAddr}" -c "${XgoChain33BridgeBank}" -k "${chain33DeployKey}" -f 1 --chainID "${chain33ID}"
...@@ -962,7 +1039,7 @@ function TestETH2EVMToChain33() { ...@@ -962,7 +1039,7 @@ function TestETH2EVMToChain33() {
# chain33 chain33EthBridgeTokenAddr(ETH合约中)查询 lock 金额 # chain33 chain33EthBridgeTokenAddr(ETH合约中)查询 lock 金额
result=$(${Chain33Cli} evm query -a "${chain33EthBridgeTokenAddr}" -c "${chain33DeployAddr}" -b "balanceOf(${chain33ReceiverAddr})") result=$(${Chain33Cli} evm query -a "${chain33EthBridgeTokenAddr}" -c "${chain33DeployAddr}" -b "balanceOf(${chain33ReceiverAddr})")
updateConfig "HT" "${chain33EthBridgeTokenAddr}" updateConfig "BNB" "${chain33EthBridgeTokenAddr}"
configbridgevmxgoAddr "${XgoChain33BridgeBank}" configbridgevmxgoAddr "${XgoChain33BridgeBank}"
${EvmxgoBoss4xCLI} chain33 offline approve_erc20 -a 330000000000 -s "${XgoChain33BridgeBank}" -c "${chain33EthBridgeTokenAddr}" -k "${chain33ReceiverAddrKey}" -f 1 --chainID "${chain33ID}" ${EvmxgoBoss4xCLI} chain33 offline approve_erc20 -a 330000000000 -s "${XgoChain33BridgeBank}" -c "${chain33EthBridgeTokenAddr}" -k "${chain33ReceiverAddrKey}" -f 1 --chainID "${chain33ID}"
...@@ -1111,7 +1188,8 @@ function AllRelayerMainTest() { ...@@ -1111,7 +1188,8 @@ function AllRelayerMainTest() {
# TestChain33ToEthAssets # TestChain33ToEthAssets
# TestChain33ToEthZBCAssets # TestChain33ToEthZBCAssets
# TestETH2Chain33Byc # TestETH2Chain33Byc
TestETH2Chain33USDT # TestETH2Chain33USDT
TestETH2Chain33BUSD
# Chain33Cli=${Para8901Cli} # Chain33Cli=${Para8901Cli}
# lockBty # lockBty
......
...@@ -164,6 +164,23 @@ function offline_create_bridge_token_chain33_USDT() { ...@@ -164,6 +164,23 @@ function offline_create_bridge_token_chain33_USDT() {
${CLIA} chain33 token set -t "${chain33USDTBridgeTokenAddr}" -s USDT ${CLIA} chain33 token set -t "${chain33USDTBridgeTokenAddr}" -s USDT
} }
function offline_create_bridge_token_chain33_BUSD() {
# 在chain33上创建bridgeToken BUSD
echo -e "${GRE}======= 在 chain33 上创建 bridgeToken BUSD ======${NOC}"
# shellcheck disable=SC2154
${Boss4xCLI} chain33 offline create_bridge_token -c "${chain33BridgeBank}" -s BUSD -k "${chain33DeployKey}" --chainID "${chain33ID}"
chain33_offline_send "create_bridge_token.txt"
chain33BUSDBridgeTokenAddr=$(${Chain33Cli} evm query -a "${chain33BridgeBank}" -c "${chain33DeployAddr}" -b "getToken2address(BUSD)")
echo "BUSD Bridge Token Addr = ${chain33BUSDBridgeTokenAddr}"
cp BridgeToken.abi "${chain33BUSDBridgeTokenAddr}.abi"
result=$(${Chain33Cli} evm query -a "${chain33BUSDBridgeTokenAddr}" -c "${chain33BUSDBridgeTokenAddr}" -b "symbol()")
is_equal "${result}" "BUSD"
${CLIA} chain33 token set -t "${chain33BUSDBridgeTokenAddr}" -s BUSD
}
function offline_deploy_erc20_chain33_YCC() { function offline_deploy_erc20_chain33_YCC() {
# chain33 token create YCC # chain33 token create YCC
echo -e "${GRE}======= 在 chain33 上创建 ERC20 YCC ======${NOC}" echo -e "${GRE}======= 在 chain33 上创建 ERC20 YCC ======${NOC}"
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# shellcheck disable=SC2128 # shellcheck disable=SC2128
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "./dockerRelayerHt.sh" source "./dockerRelayerBsc.sh"
source "./paracrosstestcase.sh" source "./paracrosstestcase.sh"
function bridgevmxgo() { function bridgevmxgo() {
......
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