d17d85fd54a4783f50b08f1753b322b5060f2f4e feat(chain): add spent_txouts and created_txouts methods to SPK and keychain indexes (Steve Myers)
b347b033fd70e0a91339b79f89aac7acca03e8ab feat(chain): add input/output indices to sent_and_received_txouts (Steve Myers)
7777dfc08cd5141b50dc239abeca7316684f95d8 feat(chain): add sent_and_received_txouts method to SPK and keychain indexes (Steve Myers)
Pull request description:
### Description
Implement spent_txouts and created_txouts methods on SpkTxOutIndex and KeychainTxOutIndex. These methods return SpentTxOut and CreatedTxOut structs allowing callers to access complete transaction output information including script pubkeys and values.
### Notes to the reviewers
This info is useful to users who use the new WalletEvent data in bitcoindevkit/bdk_wallet#319. In particular to determine the addresses and amounts for TxOuts that are sent/spent or have been received in a newly seen or confirmed transaction. See: [bdk_wallet#319 comment](https://github.com/bitcoindevkit/bdk_wallet/pull/319#issuecomment-
3630027488)
If/when this PR is merged I'll make a corresponding one to `bdk_wallet::Wallet`.
### Changelog notice
Added
* New spent_txouts and created_txouts methods on SpkTxOutIndex and KeychainTxOutIndex.
* New SpentTxOut and CreatedTxOut structs returned by spent_txouts and created_txouts functions.
### Checklists
#### All Submissions:
* [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md)
#### New Features:
* [x] I've added tests for the new feature
* [x] I've added docs for the new feature
ACKs for top commit:
evanlinjin:
ACK
d17d85fd54a4783f50b08f1753b322b5060f2f4e
Tree-SHA512: 29c5e97b2f75ca026086a1a32549fd1ac7081614bf344daef05c232779e3e80e350e4aeaea35626e82591cdbb73e4bbd451516a82380e27834d0f8fd0a89cb63