From 6865518a9fda3f0a66152f762a3c96148a20bfc7 Mon Sep 17 00:00:00 2001 From: hucan <951870319@qq.com> Date: Tue, 20 May 2025 09:11:13 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81gasprice=E6=BA=A2=E4=BB=B7=202?= =?UTF-8?q?=E3=80=81=E9=87=8D=E5=A4=8D=E6=B7=BB=E5=8A=A0token=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/service/wm_token.go | 16 ++++++++++++++++ config/settings.yml | 2 +- utils/ethtransferhelper/transfer_helper.go | 4 ++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/app/admin/service/wm_token.go b/app/admin/service/wm_token.go index 8950a13..8e467e1 100644 --- a/app/admin/service/wm_token.go +++ b/app/admin/service/wm_token.go @@ -71,7 +71,15 @@ func (e *WmToken) Get(d *dto.WmTokenGetReq, p *actions.DataPermission, model *mo func (e *WmToken) Insert(c *dto.WmTokenInsertReq) error { var err error var data models.WmToken + var count int64 c.Generate(&data) + + e.Orm.Model(models.WmToken{}).Where("network_id = ? and token_address = ?", data.NetworkId, data.TokenAddress).Count(&count) + + if count > 0 { + return errors.New("代币合约已存在") + } + err = e.Orm.Create(&data).Error if err != nil { e.Log.Errorf("WmTokenService Insert error:%s \r\n", err) @@ -86,6 +94,14 @@ func (e *WmToken) Insert(c *dto.WmTokenInsertReq) error { func (e *WmToken) Update(c *dto.WmTokenUpdateReq, p *actions.DataPermission) error { var err error var data = models.WmToken{} + var count int64 + + e.Orm.Model(models.WmToken{}).Where("network_id = ? and token_address = ? and id <> ?", data.NetworkId, data.TokenAddress, c.GetId()).Count(&count) + + if count > 0 { + return errors.New("代币合约已存在") + } + e.Orm.Scopes( actions.Permission(data.TableName(), p), ).First(&data, c.GetId()) diff --git a/config/settings.yml b/config/settings.yml index f9f09ce..c29f183 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -49,7 +49,7 @@ settings: demo: name: data - apiEndpoint: https://stylish-cool-fire.ethereum-sepolia.quiknode.pro/17572db4c091accfa5dc6faa0c60a805e5173459 + apiEndpoint: https://hidden-light-putty.quiknode.pro/9ec98f871f771663e9e8892b9cc34042f296c04b proxyUrl: http://127.0.0.1:7890 cache: redis: diff --git a/utils/ethtransferhelper/transfer_helper.go b/utils/ethtransferhelper/transfer_helper.go index 1bc368d..4eea3c6 100644 --- a/utils/ethtransferhelper/transfer_helper.go +++ b/utils/ethtransferhelper/transfer_helper.go @@ -58,6 +58,8 @@ func TransferEth(client *ethclient.Client, fromPrivateKey string, toAddress stri return nil, fmt.Errorf("获取 Gas 价格失败: %w", err) } + gasPrice = new(big.Int).Mul(gasPrice, big.NewInt(11)) + gasPrice = new(big.Int).Div(gasPrice, big.NewInt(10)) // 6. 将地址字符串转换为 common.Address 类型 toAddressCommon := common.HexToAddress(toAddress) @@ -145,6 +147,8 @@ func TransferErc20Token( return nil, fmt.Errorf("获取 Gas 价格失败: %w", err) } + gasPrice = new(big.Int).Mul(gasPrice, big.NewInt(11)) + gasPrice = new(big.Int).Div(gasPrice, big.NewInt(10)) // 6. 将地址字符串转换为 common.Address 类型 toAddressCommon := common.HexToAddress(toAddress) tokenAddressCommon := common.HexToAddress(tokenAddress)