ynab-portfolio-monitor/providers/bitcoin/address.go
Steven Polley 92a6246052
Some checks reported errors
continuous-integration/drone/push Build encountered an error
Do not export when not required
2024-03-23 14:06:38 -06:00

37 lines
1011 B
Go

package bitcoin
import (
"fmt"
"net/url"
)
type addressData 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) (*addressData, error) {
addressResponse := &addressData{}
err := c.get(fmt.Sprintf("address/%s", address), addressResponse, url.Values{})
if err != nil {
return nil, err
}
return addressResponse, nil
}