Skip to content

Commit

Permalink
fix: add filed to balance
Browse files Browse the repository at this point in the history
  • Loading branch information
sunhongtao committed Dec 8, 2023
1 parent 9819b90 commit e272e45
Showing 1 changed file with 30 additions and 24 deletions.
54 changes: 30 additions & 24 deletions blockchain/service/http_handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,7 @@ func (h *HttpHandler) GetTokenBalance(ctx *gin.Context) {
h.Error(ctx, string(b), ctx.Request.RequestURI, fmt.Sprintf("blockchain:%v is not supported", blockChainCode))
return
}
res, err := h.blockChainClients[blockChainCode].TokenBalance(blockChainCode, codeHash, addr, abi)
res, err := h.blockChainClients[blockChainCode].TokenBalance(blockChainCode, addr, codeHash, abi)
if err != nil {
h.Error(ctx, r.String(), ctx.Request.RequestURI, err.Error())
return
Expand Down Expand Up @@ -653,28 +653,30 @@ func (h *HttpHandler) GetBalance1(ctx *gin.Context) {
}

r := make(map[string]any)
r["utxo"] = ""
r["address"] = addr
var nonce string
//{"jsonrpc":"2.0","id":1,"result":"0x20ef7755b4d96faf5"}
if chain.GetChainCode(blockChainCode, "ETH", nil) {
if chain.GetChainCode(blockChainCode, "ETH", nil) || chain.GetChainCode(blockChainCode, "BSC", nil) || chain.GetChainCode(blockChainCode, "POLYGON", nil) {
balance := gjson.Parse(res).Get("result").String()
balance, _ = util.HexToInt(balance)
r["balance"] = balance
resNonce, err := h.blockChainClients[blockChainCode].Nonce(blockChainCode, addr, tag)
if err == nil && len(resNonce) > 1 {
nonce = gjson.Parse(resNonce).Get("result").String()
nonce, _ = util.HexToInt(nonce)
}
} else if chain.GetChainCode(blockChainCode, "TRON", nil) {
// {"balance":309739}
balance := gjson.Parse(res).Get("balance").String()
r["balance"] = balance

} else if chain.GetChainCode(blockChainCode, "BSC", nil) {
balance := gjson.Parse(res).Get("result").String()
balance, _ = util.HexToInt(balance)
r["balance"] = balance
} else if chain.GetChainCode(blockChainCode, "POLYGON", nil) {
balance := gjson.Parse(res).Get("result").String()
balance, _ = util.HexToInt(balance)
r["balance"] = balance
nonce = "0"
} else {
h.Error(ctx, string(b), ctx.Request.RequestURI, fmt.Sprintf("blockchain:%v is not supported", blockChainCode))
return
}
r["totalAmount"] = r["balance"]
r["nonce"] = nonce

h.Success(ctx, string(b), r, ctx.Request.RequestURI)
}
Expand All @@ -696,37 +698,41 @@ func (h *HttpHandler) GetTokenBalance1(ctx *gin.Context) {
h.Error(ctx, string(b), ctx.Request.RequestURI, fmt.Sprintf("blockchain:%v is not supported", blockChainCode))
return
}
res, err := h.blockChainClients[blockChainCode].TokenBalance(blockChainCode, codeHash, addr, abi)
res, err := h.blockChainClients[blockChainCode].TokenBalance(blockChainCode, addr, codeHash, abi)
if err != nil {
h.Error(ctx, r.String(), ctx.Request.RequestURI, err.Error())
return
}

m := make(map[string]any)
m["utxo"] = ""
m["address"] = addr
m["totalAmount"] = ""
var nonce string

// {"balance":"1233764293093","decimals":6,"name":"Tether USD","symbol":"USDT"}
if chain.GetChainCode(blockChainCode, "ETH", nil) {
balance := gjson.Parse(res).Get("balance").String()
if chain.GetChainCode(blockChainCode, "ETH", nil) || chain.GetChainCode(blockChainCode, "BSC", nil) || chain.GetChainCode(blockChainCode, "POLYGON", nil) {
balance := gjson.Parse(res).Get("result").String()
balance, _ = util.HexToInt(balance)
m["balance"] = balance

resNonce, err := h.blockChainClients[blockChainCode].Nonce(blockChainCode, addr, "latest")
if err == nil && len(resNonce) > 1 {
nonce = gjson.Parse(resNonce).Get("result").String()
nonce, _ = util.HexToInt(nonce)
}
} else if chain.GetChainCode(blockChainCode, "TRON", nil) {
//{"balance":"74305000412789","decimals":"6"}
balance := gjson.Parse(res).Get("balance").String()
m["balance"] = balance

} else if chain.GetChainCode(blockChainCode, "BSC", nil) {
balance := gjson.Parse(res).Get("balance").String()
m["balance"] = balance

} else if chain.GetChainCode(blockChainCode, "POLYGON", nil) {
balance := gjson.Parse(res).Get("balance").String()
m["balance"] = balance

nonce = "0"
} else {
h.Error(ctx, string(b), ctx.Request.RequestURI, fmt.Sprintf("blockchain:%v is not supported", blockChainCode))
return
}

m["totalAmount"] = m["balance"]
m["nonce"] = nonce

h.Success(ctx, r.String(), m, ctx.Request.RequestURI)
}

Expand Down

0 comments on commit e272e45

Please sign in to comment.