bitcoindevkit / bitcoindevkit/bdk_wallet

Improve BDK Wallet balance interface and related methods

Open
#451 0 comments 4 reactions 1 assignee Claimed by @nymius View on GitHub
summer-of-bitcoin
Dominant language
Rust
Stars
59
Forks
105
Avg merge
10d 9h
Merged PRs (30d)
1

Description

## Overview
Improve BDK Wallet balance interface and related methods.

**Description**
There are multiple open requirements for the Balance API:
- The notion of trust is unclear.
- There are categories not represented.
- The upstream API for balance is over complicated.
- Further flexibility to apply filters
- Multi keychain requires a different API.

This is a critical, user facing API which should work and provide meaningful insights about wallet.

**Expected Outcomes**

Assess the existing `Balance` categories to determine if they are the appropriate ones to resolve the current issue, if they require modification, or if new, non-overlapping categories (such as `locked`) must be defined. If changes or new categories are required, document their finalized definitions within the `Balance` struct and ensure they are referenced by any dependent APIs.

Update the API to support the finalized categories. As part of this implementation, remove any redundant API components and apply necessary upstream changes.

The following issues should be resolved through the code modifications required above or formal design decisions. All fixes must include corresponding tests and documentation updates:
- [ ] #273
- [x] #16
- [ ] #180
- [ ] #115

Additional tasks:
* Conduct reviews of #427 and help move its development forward.

**Resources**

**Skills Required**

- hands on experience with git and GitHub
- basic rust programming skills
- be able to sign your git commits
- be able to curate and judge LLMs output

**Mentor(s)**

@nymius

**Difficulty**

Medium

**Competency Test**

- Previous ACK'd contributions to BDK projects.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.