Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Elements Core Support and Provide Regtest Setup Tasks #111

Merged
merged 5 commits into from
Mar 16, 2022

Conversation

alvasw
Copy link
Contributor

@alvasw alvasw commented Mar 3, 2022

Elements Core

See bisq-network/projects#64 for details.

Gradle: Regtest Setup Tasks

The custom Gradle Tasks will help developers set up their Bitcoin Core/
Elements Core Regtest environment. These tasks set up an isolated
Bitcoin Core/Elements Core regtest instance, create a wallet, and
premine the initial regtest blocks/pegin BTC to L-BTC.

The :desktop:runWithBitcoindRegtestWallet and
:desktop:runWithElementsdRegtestWallet Gradle Tasks set up a regtest
instance and automatically connect Bisq to it.

See: docs/wallet-regtest-setup.md

@alvasw alvasw force-pushed the add_elementsd_wallet_support branch 3 times, most recently from d0e556a to 61aaa62 Compare March 6, 2022 15:09
@alvasw alvasw marked this pull request as draft March 10, 2022 10:26
@alvasw alvasw force-pushed the add_elementsd_wallet_support branch 15 times, most recently from 1161183 to 9382c8b Compare March 15, 2022 15:46
Elements Core (Liquid Wallet) is built on top of Bitcoin Core, and many
RPC calls are similar to Bitcoin Core. Bitcoin Core was implemented in
PR #16.

Changes:
- Fluent Assertions (AssertJ)
- Create interfaces for Transaction and Utxo
- Generalize RpcClient for all future daemons and wallets
- DaemonRpcCall interface to handle all daemon RPC calls
- WalletRpcCall interface to handle all wallet RPC calls
- New RPC calls:
  - getrawtransaction
  - gettxoutproof
Changes:
- Elements Core (elementsd) Process Manager
  - ElementsRegtestSetup
- Implemented RPC calls:
  - claimpegin
  - createwallet
  - finalizepsbt
  - generatetoaddress
  - getbalance
    - L-BTC
    - Liquid Assets
  - getnewaddress
  - getpeginaddress
  - getrawtransaction
  - gettxoutproof
  - issueasset
  - listtransactions
  - listunspent
  - listwallets
  - loadwallet
  - sendrawtransaction
  - sendtoaddress
    - L-BTC
    - Liquid Assets
  - signmessage
  - stop
  - unloadwallet
  - verifymessage
  - walletpassphrase
@alvasw alvasw force-pushed the add_elementsd_wallet_support branch 3 times, most recently from 2e55f91 to 98d4ac1 Compare March 15, 2022 18:41
By providing --regtest-bitcoind or --regtest-elementsd as an argument,
developers can tell Bisq to automatically load a Bitcoin Core/Elements
Core regtest wallet. This will be used to automatically start Bisq 2
instances in the regtest setup.
@alvasw alvasw force-pushed the add_elementsd_wallet_support branch from 98d4ac1 to bb93757 Compare March 15, 2022 18:47
We can override the default data directory by providing --data-dir as
an argument. This will be used in the regtest setup.
@alvasw alvasw force-pushed the add_elementsd_wallet_support branch from bb93757 to d31b4c4 Compare March 15, 2022 18:49
The custom Gradle Tasks will help developers set up their Bitcoin Core/
Elements Core Regtest environment. These tasks set up an isolated
Bitcoin Core/Elements Core regtest instance, create a wallet, and
premine the initial regtest blocks/pegin BTC to L-BTC.

The :desktop:runWithBitcoindRegtestWallet and
:desktop:runWithElementsdRegtestWallet Gradle Tasks set up a regtest
instance and automatically connect Bisq to it.

See: docs/wallet-regtest-setup.md
@alvasw alvasw force-pushed the add_elementsd_wallet_support branch from d31b4c4 to 6c99f7f Compare March 15, 2022 18:57
@alvasw alvasw marked this pull request as ready for review March 15, 2022 19:07
@alvasw alvasw changed the title Bisq2: Liquid Wallet Integration (Elements) Add Elements Core Support and Provide Regtest Setup Tasks Mar 15, 2022
Copy link
Contributor

@chimp1984 chimp1984 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants