mirror of
https://github.com/aljazceru/ark.git
synced 2026-01-10 23:34:19 +01:00
* Add bitcoin networks * Refactor client * Refactor explorer * Refactor store * Refactor wallet * Refactor sdk client * Refactor wasm & Update examples * Move common util funcs to internal/utils * Move to constants for service types * Add unit tests * Parallelize tests * Lint * Add job to gh action * go mod tidy * Fixes * Fixes * Fix compose file * Fixes * Fixes after review: * Drop factory pattern * Drop password from ark client methods * Make singlekey wallet manage store and wallet store instead of defining WalletStore as extension of Store * Move constants to arksdk module * Drop config and expect directory store and wallet as ark client factory args * Fix * Add constants for bitcoin/liquid explorer * Fix test * Fix wasm * Rename client.Client to client.ASPClient * Rename store.Store to store.ConfigStore * Rename wallet.Wallet to wallet.WalletService * Renamings * Lint * Fixes * Move everything to internal/utils & move ComputeVtxoTaprootScript to common * Go mod tidy
35 lines
814 B
Go
35 lines
814 B
Go
package explorer
|
|
|
|
import "github.com/vulpemventures/go-elements/network"
|
|
|
|
const (
|
|
BitcoinExplorer = "bitcoin"
|
|
LiquidExplorer = "liquid"
|
|
)
|
|
|
|
type Utxo struct {
|
|
Txid string `json:"txid"`
|
|
Vout uint32 `json:"vout"`
|
|
Amount uint64 `json:"value"`
|
|
Asset string `json:"asset"`
|
|
Status struct {
|
|
Confirmed bool `json:"confirmed"`
|
|
Blocktime int64 `json:"block_time"`
|
|
} `json:"status"`
|
|
}
|
|
|
|
type Explorer interface {
|
|
GetTxHex(txid string) (string, error)
|
|
Broadcast(txHex string) (string, error)
|
|
GetUtxos(addr string) ([]Utxo, error)
|
|
GetBalance(addr string) (uint64, error)
|
|
GetRedeemedVtxosBalance(
|
|
addr string, unilateralExitDelay int64,
|
|
) (uint64, map[int64]uint64, error)
|
|
GetTxBlockTime(
|
|
txid string,
|
|
) (confirmed bool, blocktime int64, err error)
|
|
GetNetwork() network.Network
|
|
BaseUrl() string
|
|
}
|