ynab-portfolio-monitor/bitcoin/address.go
Steven Polley bb7d0a29ea
All checks were successful
continuous-integration/drone/push Build is passing
add support for bitcoin
2023-11-12 16:50:46 -07:00

38 lines
1000 B
Go

package bitcoin
import (
"fmt"
"net/url"
)
type Address struct {
Address string `json:"address"`
ChainStats struct {
FundedTxoCount int `json:"funded_txo_count"`
FundedTxoSum int `json:"funded_txo_sum"`
SpentTxoCount int `json:"spent_txo_count"`
SpentTxoSum int `json:"spent_txo_sum"`
TxCount int `json:"tx_count"`
} `json:"chain_stats"`
MempoolStats struct {
FundedTxoCount int `json:"funded_txo_count"`
FundedTxoSum int `json:"funded_txo_sum"`
SpentTxoCount int `json:"spent_txo_count"`
SpentTxoSum int `json:"spent_txo_sum"`
TxCount int `json:"tx_count"`
} `json:"mempool_stats"`
}
// GetAddress returns an Address struct populated with data from blockstream.info
// for a given BTC address
func (c *Client) GetAddress(address string) (*Address, error) {
addressResponse := &Address{}
err := c.get(fmt.Sprintf("address/%s", address), addressResponse, url.Values{})
if err != nil {
return nil, err
}
return addressResponse, nil
}