stackmate 0.7.7

Rust-C FFI exposing composite functionality to build bitcoin descriptor wallets.
Documentation
<h1 align="center">STACKMATE-CORE</h1>

A Rust-C FFI library exposing composite functionality from [rust-bitcoin](https://github.com/rust-bitcoin/rust-bitcoin/) & [bdk](https://github.com/bitcoindevkit/bdk); to create cross-platform descriptor wallets.

Currently used by [Stackmate Wallet](https://github.com/mocodesmo/stackmate).

## Table of Contents
- [Acknowledgements]#acknowledgements
- [Overview]#overview
- [Test]#test
- [Build]#build
- [Documentation]#docs
- [Contributions]#contributions
- [Community]#community
- [Maintainers]#maintainers
- [License]#license

## Acknowledgements

Immense love to our friend and sponsor `Prashant Balani` for being patient and supportive throughout the 3 years of R&D that was required to make this project come to life!

Massive thanks to the [bdk](https://bitcoindevkit.org) & [cyphernode](http://cyphernode.io) teams for all the support and feedback which saved us a lot of time and improved the quality of our work.

## Overview

The entire ffi uses a string interface; defined in `src/lib.rs`

1. Inputs are converted into native rust types as the first sanitization step. 

2. Native types are then used in pure rust modules.

3. All native structs being returned `impl` a `c_stringify` method which converts the native struct into stringified JSON outputted as a CString.

## Test

`tests/test.sh`

Test individual units with printing.

`cargo test -- --nocapture <test_name>`

## Build

`resources/build.sh` currently only supports android builds. 

Binaries are zipped into `resources/builds.zip`.

## Documentation

[Docs.rs](https://docs.rs/stackmate/0.7.0/stackmate/)

This library expects the client to build a policy (string) by themselves - refer to http://bitcoin.sipa.be/miniscript/ for more info.

More documentation can be found in `resources/docs`.

## Contributions

We are looking for active contributions in the following areas:

- General code review

- IOS builds

- Taproot support 

- Neutrino support

- Lightning support

## Community

Join us on the Bitcoin-only India group where we are openly working on tools required for a Bitcoin standard in India.

Discord: https://discord.gg/PdRERkyNt4

## Maintainers

[Morteza](https://github.com/mocodesmo)

[Vishal](https://github.com/i5hi)

## License

[MIT](https://github.com/i5hi/stackmate-core/blob/main/LICENSE)