Commit f7a27fa1 authored by QM's avatar QM Committed by vipwzw

delete relayer set symbol

parent e7a941d0
......@@ -125,7 +125,7 @@ func CreateEthBridgeBankRelated(cmd *cobra.Command, _ []string) {
func CreateCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "create", //first step
Short: "create and sign all the offline cross to ethereum contracts(inclue valset,ethereumBridge,bridgeBank,oracle,bridgeRegistry,mulSign)",
Short: "create all 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
......
......@@ -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) {
......
......@@ -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
......
......@@ -16,7 +16,6 @@ message SyncTxConfig {
int64 startSyncHeight = 10;
int64 startSyncSequence = 11;
string startSyncHash = 12;
repeated string contracts = 13;
}
message Log {
......
......@@ -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"]
#验证人权重
......
This source diff could not be displayed because it is too large. You can view the blob instead.
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