Open
Description
Motivation
MIDL is an up-and-coming Bitcoin scaling layer that will enable seamless interactions with smart contracts without bridging out of the Bitcoin ecosystem. Maestro would like to become the go-to data provider for this transaction management library while helping build a generic data provider abstraction.
Part 1: Build data provider abstraction
- https://github.com/midl-xyz/midl-js/tree/main/packages/core/src/networks
- Implement generic data provider interface with common inputs and response schemas. Any future provider must follow this interface, albeit with potentially missing functions.
- Implement existing providers using this interface
- Implement Maestro provider
- Add config logic for selecting provider, network and Maestro API key
Implement existing actions for the Maestro provider
- https://github.com/midl-xyz/midl-js/tree/main/packages/core/src/actions
- broadcastTransaction: https://docs.gomaestro.org/bitcoin/send-transaction
- getBalance: https://docs.gomaestro.org/bitcoin/satoshi-balance-by-address
- getBlockNumber: https://docs.gomaestro.org/bitcoin/latest-block
- getFeeRate: 🚧 endpoint in construction 🚧
- getRune: https://docs.gomaestro.org/bitcoin/runes-info
- getRuneBalance: https://docs.gomaestro.org/bitcoin/rune-utxos-by-address-and-rune
- getRuneUTXO: https://docs.gomaestro.org/bitcoin/rune-utxos-by-address-and-rune
- getRunes: https://docs.gomaestro.org/bitcoin/rune-utxos-by-address-and-rune
- getUTXOs: https://docs.gomaestro.org/bitcoin/utxos-by-address
- waitForTransaction: https://docs.gomaestro.org/bitcoin/transaction-info
- more TBD
Other general improvements
- Consolidate: getRune, getRuneBalance, getRuneUTXO, getRunes
- Instead of
waitForTransaction
you can use Maestro's Event Manager API and simply listen for transaction updates on your webhook: https://docs.gomaestro.org/bitcoin/api-reference#LXsMd
Part 2 (future PR): Implement transaction building endpoints on Maestro side and add to provider
- edictRune
- etchRune
- more TBD
Part 3 (future PR): MIDL specific endpoints
- TBD
Part 4: Rejoice
Metadata
Metadata
Assignees
Labels
No labels