From 95939a038c7a3c30f0082f9cf2d10964d65b778e Mon Sep 17 00:00:00 2001 From: Lap Ngo Date: Fri, 12 Oct 2018 16:14:50 +0700 Subject: [PATCH] Balance as string Signed-off-by: Lap Ngo --- account.go | 16 +++++++++++++--- response.go | 4 ++-- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/account.go b/account.go index 85d48fa..70ef979 100644 --- a/account.go +++ b/account.go @@ -8,12 +8,11 @@ package etherscan // AccountBalance gets ether balance for a single address -func (c *Client) AccountBalance(address string) (balance *BigInt, err error) { +func (c *Client) AccountBalance(address string) (balance string, err error) { param := M{ "tag": "latest", "address": address, } - balance = new(BigInt) err = c.call("account", "balance", param, balance) return } @@ -29,6 +28,17 @@ func (c *Client) MultiAccountBalance(addresses ...string) (balances []AccountBal return } +// MultiAccountBalance gets ether balance for multiple addresses at specific block in a single call +func (c *Client) MultiAccountBalanceAt(blockNo int, addresses []string) (balances []AccountBalance, err error) { + param := M{ + "tag": blockNo, + "address": addresses, + } + balances = make([]AccountBalance, 0, len(addresses)) + err = c.call("account", "balancemulti", param, &balances) + return +} + // NormalTxByAddress gets a list of "normal" transactions by address // // startBlock and endBlock can be nil @@ -120,7 +130,7 @@ func (c *Client) UnclesMinedByAddress(address string, page int, offset int) (min } // TokenBalance get erc20-token account balance of address for contractAddress -func (c *Client) TokenBalance(contractAddress, address string) (balance *BigInt, err error) { +func (c *Client) TokenBalance(contractAddress, address string) (balance string, err error) { param := M{ "contractaddress": contractAddress, "address": address, diff --git a/response.go b/response.go index b1338d3..8e698f4 100644 --- a/response.go +++ b/response.go @@ -21,8 +21,8 @@ type Envelope struct { // AccountBalance account and its balance in pair type AccountBalance struct { - Account string `json:"account"` - Balance *BigInt `json:"balance"` + Account string `json:"account"` + Balance string `json:"balance"` } // NormalTx holds info from normal tx query