Commit 0728e1aa authored by QM's avatar QM

fix gas

parent 83cf1891
......@@ -34,6 +34,7 @@ func ConfigplatformTokenSymbol(cmd *cobra.Command, _ []string) {
symbol, _ := cmd.Flags().GetString("symbol")
deployAddr, _ := cmd.Flags().GetString("deployAddr")
contract, _ := cmd.Flags().GetString("contract")
chainEthId, _ := cmd.Flags().GetInt64("chainEthId")
bridgeAbi, err := abi.JSON(strings.NewReader(generated.BridgeBankABI))
if err != nil {
......@@ -46,5 +47,5 @@ func ConfigplatformTokenSymbol(cmd *cobra.Command, _ []string) {
panic(err)
}
CreateTxInfoAndWrite(abiData, deployAddr, contract, "set_symbol", url)
CreateTxInfoAndWrite(abiData, deployAddr, contract, "set_symbol", url, chainEthId)
}
......@@ -201,6 +201,7 @@ func AddToken2LockListTx(cmd *cobra.Command, _ []string) {
deployAddr, _ := cmd.Flags().GetString("deployAddr")
token, _ := cmd.Flags().GetString("token")
contract, _ := cmd.Flags().GetString("contract")
chainEthId, _ := cmd.Flags().GetInt64("chainEthId")
bridgeAbi, err := abi.JSON(strings.NewReader(generated.BridgeBankABI))
if err != nil {
......@@ -214,7 +215,7 @@ func AddToken2LockListTx(cmd *cobra.Command, _ []string) {
return
}
CreateTxInfoAndWrite(abiData, deployAddr, contract, "create_add_lock_list", url)
CreateTxInfoAndWrite(abiData, deployAddr, contract, "create_add_lock_list", url, chainEthId)
}
func CreateBridgeTokenTxCmd() *cobra.Command {
......@@ -241,6 +242,7 @@ func CreateBridgeTokenTx(cmd *cobra.Command, _ []string) {
symbol, _ := cmd.Flags().GetString("symbol")
deployAddr, _ := cmd.Flags().GetString("deployAddr")
contract, _ := cmd.Flags().GetString("contract")
chainEthId, _ := cmd.Flags().GetInt64("chainEthId")
bridgeAbi, err := abi.JSON(strings.NewReader(generated.BridgeBankABI))
if err != nil {
......@@ -253,5 +255,5 @@ func CreateBridgeTokenTx(cmd *cobra.Command, _ []string) {
fmt.Println("bridgeAbi.Pack createNewBridgeToken Err:", err)
return
}
CreateTxInfoAndWrite(abiData, deployAddr, contract, "create_bridge_token", url)
CreateTxInfoAndWrite(abiData, deployAddr, contract, "create_bridge_token", url, chainEthId)
}
......@@ -58,6 +58,7 @@ func cfgAccountTx(cmd *cobra.Command, _ []string) {
address, _ := cmd.Flags().GetString("address")
deployAddr, _ := cmd.Flags().GetString("deployAddr")
contract, _ := cmd.Flags().GetString("contract")
chainEthId, _ := cmd.Flags().GetInt64("chainEthId")
bridgeAbi, err := abi.JSON(strings.NewReader(generated.BridgeBankABI))
if err != nil {
......@@ -70,7 +71,7 @@ func cfgAccountTx(cmd *cobra.Command, _ []string) {
panic(err)
}
CreateTxInfoAndWrite(abiData, deployAddr, contract, "set_offline_addr", url)
CreateTxInfoAndWrite(abiData, deployAddr, contract, "set_offline_addr", url, chainEthId)
}
func SetupCmd() *cobra.Command {
......@@ -96,6 +97,7 @@ func SetupOwner(cmd *cobra.Command, _ []string) {
url, _ := cmd.Flags().GetString("rpc_laddr_ethereum")
multisign, _ := cmd.Flags().GetString("multisign")
deployAddr, _ := cmd.Flags().GetString("deployAddr")
chainEthId, _ := cmd.Flags().GetInt64("chainEthId")
owner, _ := cmd.Flags().GetString("owner")
owners := strings.Split(owner, ",")
......@@ -118,6 +120,6 @@ func SetupOwner(cmd *cobra.Command, _ []string) {
return
}
CreateTxInfoAndWrite(abiData, deployAddr, multisign, "multisign_setup", url)
CreateTxInfoAndWrite(abiData, deployAddr, multisign, "multisign_setup", url, chainEthId)
}
......@@ -53,6 +53,7 @@ func ConfigLockedTokenOfflineSave(cmd *cobra.Command, _ []string) {
percents, _ := cmd.Flags().GetUint8("percents")
deployAddr, _ := cmd.Flags().GetString("deployAddr")
contract, _ := cmd.Flags().GetString("contract")
chainEthId, _ := cmd.Flags().GetInt64("chainEthId")
d, err := utils.GetDecimalsFromNode(token, url)
if err != nil {
......@@ -86,5 +87,5 @@ func ConfigLockedTokenOfflineSave(cmd *cobra.Command, _ []string) {
panic(err)
}
CreateTxInfoAndWrite(abiData, deployAddr, contract, "set_offline_token", url)
CreateTxInfoAndWrite(abiData, deployAddr, contract, "set_offline_token", url, chainEthId)
}
......@@ -71,7 +71,7 @@ type DeployConfigInfo struct {
MultisignAddrs []string `toml:"multisignAddrs"`
}
func CreateTxInfoAndWrite(abiData []byte, deployAddr, contract, name, url string) {
func CreateTxInfoAndWrite(abiData []byte, deployAddr, contract, name, url string, chainEthId int64) {
client, err := ethclient.Dial(url)
if err != nil {
fmt.Println("Dial Err:", err)
......@@ -96,7 +96,21 @@ func CreateTxInfoAndWrite(abiData []byte, deployAddr, contract, name, url string
msg.To = &contracAddr
msg.Value = big.NewInt(0)
//估算gas
gasLimit := uint64(500 * 10000)
var gasLimit uint64
// 模拟节点测试
if chainEthId == 1337 {
gasLimit = uint64(500 * 10000)
} else {
gasLimit, err := client.EstimateGas(context.Background(), msg)
if err != nil {
fmt.Println("EstimateGas Err:", err)
return
}
gasLimit = uint64(1.2 * float64(gasLimit))
if gasLimit < 100*10000 {
gasLimit = 100 * 10000
}
}
ntx := types.NewTx(&types.LegacyTx{
Nonce: nonce,
......
......@@ -246,6 +246,7 @@ func addCreateMultisignTransferTxFlags(cmd *cobra.Command) {
func CreateMultisignTransferTx(cmd *cobra.Command, _ []string) {
url, _ := cmd.Flags().GetString("rpc_laddr_ethereum")
chainEthId, _ := cmd.Flags().GetInt64("chainEthId")
txFilePath, _ := cmd.Flags().GetString("file")
client, err := ethclient.Dial(url)
......@@ -282,7 +283,7 @@ func CreateMultisignTransferTx(cmd *cobra.Command, _ []string) {
return
}
CreateTxInfoAndWrite(gnoData, txinfo.SendAddr, txinfo.CrontractAddr, "create_multisign_tx", url)
CreateTxInfoAndWrite(gnoData, txinfo.SendAddr, txinfo.CrontractAddr, "create_multisign_tx", url, chainEthId)
}
func buildSigs(data []byte, privateKeys []string) ([]byte, error) {
......
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