⚠️ This project is under heavy development. Expect bugs & breaking changes.
Query different blockchains with account management using a single and simple interface.
This repository was built as an extension to the ChainAbstractionLayer maintained by the core contributors of Liquality. It is necessary to include the Client
and providers
from the @liquality
npm packages in order to use providers such as the BitcoinDlcProvider
.
bitcoin-cfd-provider bitcoin-dlc-provider bitcoin-wallet-provider
@atomicfinance/bitcoin-dlc-provider
builds on @node-dlc/messaging
, @node-dlc/core
and cfd-dlc-js
and adds wallet support for some parts of the Dlc Specification.
Implemented features:
- Dlc Offer, Accept, Sign message generation support, including utxo selection and validation
- Finalize and broadcast Dlc Sign message support
- Execute and Refund support
- Mutual Close support
- HyperbolaPayoutCurve payout generation support
- DigitDecompositionEventDescriptor support
- ContractInfo V0 and V1 support
- ContractDescriptorV1 support
Missing features:
- PolynomialPayoutCurve payout generation support
- EnumEventDescriptor support
- ContractInfoV1 support
- ContractDescriptorV0 support
import { Client } from '@liquality/bundle'
import BitcoinNetworks from '@liquality/bitcoin-networks'
import BitcoinRpcProvider from '@liquality/bitcoin-rpc-provider'
import BitcoinJsWalletProvider from '@liquality/bitcoin-js-wallet-provider'
import { Client as FinanceClient } from '@atomicfinance/bundle'
import BitcoinCfdProvider from '@atomicfinance/bitcoin-cfd-provider'
import BitcoinDlcProvider from '@atomicfinance/bitcoin-dlc-provider'
import BitcoinWalletProvider from '@atomicfinance/bitcoin-wallet-provider'
const network = BitcoinNetworks.bitcoin_testnet
const bitcoin = new Client()
const bitcoinFinance = new FinanceClient(bitcoin);
bitcoin.finance = bitcoinFinance
bitcoin.addProvider(new BitcoinRpcProvider('https://liquality.io/bitcointestnetrpc/', 'bitcoin', 'local321'))
bitcoin.addProvider(new BitcoinJsWalletProvider(network, '_insert_mnemonic_', 'bech32'))
bitcoin.finance.addProvider(new BitcoinCfdProvider(network));
bitcoin.finance.addProvider(new BitcoinDlcProvider(network));
bitcoin.finance.addProvider(new BitcoinWalletProvider(network));
const offerMessage = await alice.dlc.createDlcOffer(...)
yarn install
yarn bootstrap
yarn watch
yarn build