Commit 6ad57f51 authored by QM's avatar QM

add main Bsc

parent 0e1ce6f3
......@@ -22,6 +22,9 @@ chain33BycBridgeTokenAddr=""
ethereumUSDTERC20TokenAddr=""
chain33USDTBridgeTokenAddr=""
ethereumBUSDERC20TokenAddr="0xe9e7cea3dedca5984780bafc599bd69add087d56"
chain33BUSDBridgeTokenAddr=""
chain33YccERC20TokenAddr=""
ethereumYccBridgeTokenAddr=""
......@@ -38,8 +41,8 @@ chain33ID=0
EvmxgoBoss4xCLI="./evmxgoboss4x"
#BscProvider="wss://data-seed-prebsc-1-s1.binance.org:8545"
#BscProviderUrl="https://data-seed-prebsc-1-s1.binance.org:8545"
BscProvider="wss://ws-testnet.hecochain.com"
BscProviderUrl="https://http-testnet.hecochain.com"
BscProvider="wss://bsc-dataseed.binance.org/"
BscProviderUrl="https://bsc-dataseed.binance.org/"
# shellcheck disable=SC2034
{
......@@ -463,6 +466,75 @@ function TestETH2Chain33USDT() {
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
function offline_set_offline_token_Bty() {
echo -e "${GRE}=========== $FUNCNAME begin ===========${NOC}"
......@@ -510,7 +582,7 @@ function offline_set_offline_token_Eth() {
percents=$2
fi
# 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"
echo -e "${GRE}=========== $FUNCNAME end ===========${NOC}"
}
......@@ -764,12 +836,12 @@ function StartDockerRelayerDeploy() {
sed -i ''"${line}"' a ChainName="user.p.para."' "./relayer.toml"
# shellcheck disable=SC2155
local line=$(delete_line_show "./relayer.toml" "maturityDegree=10")
sed -i ''"${line}"' a maturityDegree=1' "./relayer.toml"
# local line=$(delete_line_show "./relayer.toml" "maturityDegree=10")
# sed -i ''"${line}"' a maturityDegree=1' "./relayer.toml"
# shellcheck disable=SC2155
local line=$(delete_line_show "./relayer.toml" "EthMaturityDegree=10")
sed -i ''"${line}"' a EthMaturityDegree=1' "./relayer.toml"
# local line=$(delete_line_show "./relayer.toml" "EthMaturityDegree=10")
# sed -i ''"${line}"' a EthMaturityDegree=1' "./relayer.toml"
# 启动 ebrelayer
start_docker_ebrelayerA
......@@ -777,7 +849,7 @@ function StartDockerRelayerDeploy() {
# 部署合约 设置 bridgeRegistry 地址
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"
# 设置离线多签数据
......@@ -805,25 +877,28 @@ function StartDockerRelayerDeploy() {
updata_toml_start_bcd
# 设置 token 地址
offline_create_bridge_token_eth_BTY
offline_deploy_erc20_eth_BYC
offline_deploy_erc20_eth_USDT
offline_create_bridge_token_eth_YCC
offline_create_bridge_token_eth_ZBC
offline_create_bridge_token_chain33_ETH "BNB"
offline_create_bridge_token_chain33_BYC
offline_deploy_erc20_chain33_YCC
offline_deploy_erc20_chain33_ZBC
offline_create_bridge_token_chain33_USDT
# offline_create_bridge_token_eth_BTY
# offline_deploy_erc20_eth_BYC
# offline_deploy_erc20_eth_USDT
# offline_create_bridge_token_eth_YCC
# offline_create_bridge_token_eth_ZBC
#
# offline_create_bridge_token_chain33_ETH "BNB"
# offline_create_bridge_token_chain33_BYC
# offline_deploy_erc20_chain33_YCC
# offline_deploy_erc20_chain33_ZBC
# offline_create_bridge_token_chain33_USDT
offline_create_bridge_token_chain33_BUSD
# 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 "${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 "${chain33EthBridgeTokenAddr}.abi" "${dockerNamePrefix}_ebrelayera_1":/root/${chain33EthBridgeTokenAddr}.abi
# docker cp "${chain33BycBridgeTokenAddr}.abi" "${dockerNamePrefix}_ebrelayera_1":/root/${chain33BycBridgeTokenAddr}.abi
# docker cp "${chain33USDTBridgeTokenAddr}.abi" "${dockerNamePrefix}_ebrelayera_1":/root/${chain33USDTBridgeTokenAddr}.abi
docker cp "${chain33BUSDBridgeTokenAddr}.abi" "${dockerNamePrefix}_ebrelayera_1":/root/${chain33BUSDBridgeTokenAddr}.abi
# docker cp "${chain33YccERC20TokenAddr}.abi" "${dockerNamePrefix}_ebrelayera_1":/root/${chain33YccERC20TokenAddr}.abi
# docker cp "${ethereumYccBridgeTokenAddr}.abi" "${dockerNamePrefix}_ebrelayera_1":/root/${ethereumYccBridgeTokenAddr}.abi
}
# 重启,因为relayerA的验证人地址和部署人的地址是一样的,所以需要重新启动relayer,更新nonce
......@@ -845,6 +920,8 @@ function echo_addrs() {
echo -e "${GRE}chain33BycBridgeTokenAddr: ${chain33BycBridgeTokenAddr} ${NOC}"
echo -e "${GRE}ethereumUSDTERC20TokenAddr: ${ethereumUSDTERC20TokenAddr} ${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}ethereumYccBridgeTokenAddr: ${ethereumYccBridgeTokenAddr} ${NOC}"
echo -e "${GRE}chain33ZbcERC20TokenAddr: ${chain33ZbcERC20TokenAddr} ${NOC}"
......@@ -899,7 +976,7 @@ function DeployEvmxgo() {
XgoChain33BridgeBank=$(${Chain33Cli} evm query -c "${chain33DeployAddr}" -b "bridgeBank()" -a "${XgoBridgeRegistryOnChain33}")
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"
${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() {
# chain33 chain33EthBridgeTokenAddr(ETH合约中)查询 lock 金额
result=$(${Chain33Cli} evm query -a "${chain33EthBridgeTokenAddr}" -c "${chain33DeployAddr}" -b "balanceOf(${chain33ReceiverAddr})")
updateConfig "HT" "${chain33EthBridgeTokenAddr}"
updateConfig "BNB" "${chain33EthBridgeTokenAddr}"
configbridgevmxgoAddr "${XgoChain33BridgeBank}"
${EvmxgoBoss4xCLI} chain33 offline approve_erc20 -a 330000000000 -s "${XgoChain33BridgeBank}" -c "${chain33EthBridgeTokenAddr}" -k "${chain33ReceiverAddrKey}" -f 1 --chainID "${chain33ID}"
......@@ -1111,7 +1188,8 @@ function AllRelayerMainTest() {
# TestChain33ToEthAssets
# TestChain33ToEthZBCAssets
# TestETH2Chain33Byc
TestETH2Chain33USDT
# TestETH2Chain33USDT
TestETH2Chain33BUSD
# Chain33Cli=${Para8901Cli}
# lockBty
......
......@@ -164,6 +164,23 @@ function offline_create_bridge_token_chain33_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() {
# chain33 token create YCC
echo -e "${GRE}======= 在 chain33 上创建 ERC20 YCC ======${NOC}"
......
......@@ -2,7 +2,7 @@
# shellcheck disable=SC2128
# shellcheck source=/dev/null
source "./dockerRelayerHt.sh"
source "./dockerRelayerBsc.sh"
source "./paracrosstestcase.sh"
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