Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
129 commits
Select commit Hold shift + click to select a range
15fbd96
Add boost, openssl and hidapi to Qt project file
gabrielKerekes Feb 24, 2023
4cc22cb
Add ledgercpp source files
gabrielKerekes Feb 24, 2023
8b9edd7
Add ledgerKeys map to wallet
gabrielKerekes Feb 24, 2023
ea87b6b
Add addLedgerAddress button (PoC)
gabrielKerekes Feb 24, 2023
ea7c484
Fix Ledger transport
gabrielKerekes Feb 24, 2023
a3925eb
Extend gitignore
davidmisiak Feb 24, 2023
9104f5b
Fix Is Ledger column displaying
davidmisiak Feb 24, 2023
3c96784
Use variables in dependency paths
davidmisiak Feb 24, 2023
9006d00
Fix ledger address persistency
davidmisiak Mar 1, 2023
f2cbadb
Add clean.sh
davidmisiak Mar 6, 2023
a259663
Derive full paths
davidmisiak Mar 6, 2023
ca1d57d
Unify adding addresses, improve UI
davidmisiak Mar 7, 2023
e754af1
Update ledgercpp files
gabrielKerekes Mar 13, 2023
8026b01
Fix getPublicKey path
gabrielKerekes Mar 15, 2023
8cce89e
Add speculos support
gabrielKerekes Mar 15, 2023
897cd90
Add working tx signing prototype
gabrielKerekes Mar 16, 2023
d254705
Add missing includes
gabrielKerekes Mar 17, 2023
ad7b803
Validate ledger account and index
davidmisiak Mar 17, 2023
77e8bb6
Add GetBip32Path util function
davidmisiak Mar 17, 2023
b355baf
Display Ledger Path in address book table
davidmisiak Mar 17, 2023
07bd6a2
Display Ledger path in edit address dialog
davidmisiak Mar 17, 2023
f027e89
Add ledger confirm dialog, ledger error handling
davidmisiak Mar 17, 2023
a5d3b19
Add `ISMINE_SPENDABLE_AVAILABLE`
gabrielKerekes Mar 21, 2023
74b4b2c
Switch `input.prevout.index` serialization to little endian
gabrielKerekes Mar 21, 2023
671517d
Add `ISMINE_LEDGER` where needed
gabrielKerekes Mar 21, 2023
85e3a4d
Select coins based on `strFromAccount`
gabrielKerekes Mar 21, 2023
16f6f90
Adjust `IsChange` function for Ledger outputs
gabrielKerekes Mar 21, 2023
39b0d60
Move `GetBip32Path` functions to bip32 file
gabrielKerekes Mar 21, 2023
40cadf0
Make multiple changes to Ledger tx signing
gabrielKerekes Mar 21, 2023
8882d80
Fix `GetBip32Path` function - harden account
gabrielKerekes Mar 22, 2023
369dabd
Add Ledger tx validation
gabrielKerekes Mar 22, 2023
1061eca
Fix get Ledger public key
gabrielKerekes Mar 22, 2023
70a8e12
Fix Ledger transaction fees
gabrielKerekes Mar 22, 2023
1206ea2
Split GetTrustedInput APDUs by tx elements
gabrielKerekes Mar 23, 2023
7a4248c
Fix initial address book buttons visibility
davidmisiak Mar 23, 2023
ed0bbce
Add UI for spending from a Ledger address
davidmisiak Mar 23, 2023
bfe1c76
Enable sending Ledger transactions from UI
gabrielKerekes Mar 24, 2023
dbbbc4d
Add cleanWithTxs.sh script
gabrielKerekes Mar 24, 2023
92acb0d
Fix address format on device
davidmisiak Mar 24, 2023
ea25d8e
Catch ledger errors when siging txs
davidmisiak Mar 24, 2023
6e36491
Improve naming of ledger UI elements
davidmisiak Mar 25, 2023
e04713f
Fix coin control dialog crash
davidmisiak Mar 27, 2023
7609336
Make it so that Ledger and non-Ledger inputs won't be used in the sam…
gabrielKerekes Mar 28, 2023
991f72d
Add Ledger keys to wallet import
gabrielKerekes Mar 29, 2023
9ab4e78
Move Ledger GetPublicKey call into Ledger bridge
gabrielKerekes Mar 29, 2023
bc0dcd3
Refactor BIP32 path into a class
gabrielKerekes Mar 30, 2023
5f06a10
Refactor `Bip32Path` to support account paths
gabrielKerekes Apr 3, 2023
3fb5e36
Import Ledger change keys and store account pub key id
gabrielKerekes Apr 3, 2023
a8a23aa
Remove redundant whitespaces
gabrielKerekes Apr 3, 2023
c5dc8d8
Remove unused variable (`changeKeyID` in `CreateTransaction`)
gabrielKerekes Apr 3, 2023
79dd8f9
Use Ledger change path in change outputs
gabrielKerekes Apr 3, 2023
534e4bd
Include Ledger change keys in available coins
gabrielKerekes Apr 3, 2023
f9d3259
Fix edit address dialog crashing after `Bip32Path` refactors
gabrielKerekes Apr 3, 2023
4466ae2
Remove Ledger specific code from `IsChange`
gabrielKerekes Apr 4, 2023
035edd9
Pass `hasChange` to ledger bridge signTx function
gabrielKerekes Apr 4, 2023
d51f425
Fix combining payment and change address inputs
gabrielKerekes Apr 4, 2023
3521543
Remove outdated TODOs
gabrielKerekes Apr 4, 2023
fecedcd
Handle Ledger errors a bit more consistently
gabrielKerekes Apr 4, 2023
7e24395
Minor refactors in Ledger comm interfaces
gabrielKerekes Apr 4, 2023
3238537
Rename `hid_device` files to `hid`
gabrielKerekes Apr 4, 2023
250773a
Fix Ledger `hid_exit` crash and make HID default transport
gabrielKerekes Apr 4, 2023
b4ffab5
Show ledger messagebox when signing a tx
davidmisiak Apr 4, 2023
bd7639a
Add type to `Bip32Path` and fix small bugs
gabrielKerekes Apr 5, 2023
e8674b0
Fix memory leak in `EditAddressDialog`
gabrielKerekes Apr 5, 2023
8e3464c
Remove unused Ledger files
gabrielKerekes Apr 5, 2023
33eb5dd
Fix ledger address row double-click behavior
davidmisiak Apr 6, 2023
4b58b0e
Require unique label for ledger addresses
davidmisiak Apr 6, 2023
3586105
Disable message singing button with ledger address
davidmisiak Apr 6, 2023
8184644
Disable spending delegated coins checkbox
davidmisiak Apr 6, 2023
c4f84c0
Remove `PrintHex` function
gabrielKerekes Apr 7, 2023
142f373
Fix ledger::utils namespace
gabrielKerekes Apr 6, 2023
8eaa435
Add Verify Address feature
davidmisiak Apr 11, 2023
911c9ad
Move ledger ui helpers to qt folder
davidmisiak Apr 11, 2023
addf8a4
Add missing icon removals on mac
davidmisiak Apr 11, 2023
08093c7
Use monospace font in Verify Address dialog
davidmisiak Apr 11, 2023
62b6d66
Move functions from UI to wallet to be reused in RPC
gabrielKerekes Apr 11, 2023
ebbeb55
Add `addledgeraddress` RPC function
gabrielKerekes Apr 12, 2023
5e19778
Include Ledger change addresses in RPC `getaddressesbyaccount`
gabrielKerekes Apr 12, 2023
8d530fd
Fix `GetAccountAddress` to work with Ledger accounts
gabrielKerekes Apr 12, 2023
deeebe2
Fix RPC `getaccount` to include Ledger change keys
gabrielKerekes Apr 12, 2023
6699174
Include Ledger change addresses in `GetAccountAddresses`
gabrielKerekes Apr 12, 2023
4c0dcba
Move Ledger widget declarations to correct place
davidmisiak Apr 13, 2023
33135ef
Add Ledger token warning
davidmisiak Apr 13, 2023
181114c
Hide NTP1 tokens when spending from Ledger
davidmisiak Apr 13, 2023
bc825ef
Fix typo
davidmisiak Apr 13, 2023
1b66b0e
Add Ledger Path column to coin control
gabrielKerekes Apr 13, 2023
50a9a3a
Move Ledger widgets in the UI, fix spacing
davidmisiak Apr 14, 2023
d9d6656
Fix NTP1 token id for NEBL
davidmisiak Apr 14, 2023
c3bd81a
Remove unused code, minor refactors
davidmisiak Apr 14, 2023
36d75f2
Implement coin control Ledger account filtering
davidmisiak Apr 14, 2023
5d496aa
Display coin control account filtering rule
davidmisiak Apr 14, 2023
fc10cb0
Add missing RPC param type conversions
davidmisiak Apr 17, 2023
2e0b082
Fix LedgerException message pointer memory bug
davidmisiak Apr 17, 2023
dd9c1ed
Fix Ledger path label updating
davidmisiak Apr 17, 2023
30bf3e2
Add missing label availability checks
davidmisiak Apr 17, 2023
74c1c11
[wip] Add `verifyledgeraddress` RPC call
gabrielKerekes Apr 13, 2023
4a49d5f
[wip] Add `getledgeraccount` RPC call
gabrielKerekes Apr 13, 2023
662928f
Fix verifyledgeraddress and getledgeraccount RPC calls
davidmisiak Apr 17, 2023
1c1d51c
Add Ledger docs
gabrielKerekes Apr 17, 2023
7c007a8
Add Ledger Address Info feature
davidmisiak Apr 17, 2023
2b5425a
Unify #include guards and #pragma once
davidmisiak Apr 17, 2023
6236145
Remove modern C++ syntax
gabrielKerekes Apr 14, 2023
499326c
Include hidapi and its depdendencies in qt build
gabrielKerekes Apr 14, 2023
e3e119a
Add build cache Dockerfile
gabrielKerekes Apr 14, 2023
2cc3fbf
Use updated Docker container in Linux CI script
gabrielKerekes Apr 14, 2023
2be3a76
Switch GH actions runners to Ubuntu 22.04
gabrielKerekes Apr 14, 2023
e29785a
Fix `CompileBoost-Linux.py` script
gabrielKerekes Apr 7, 2023
84197ab
Enable only Linux CI actions
gabrielKerekes Apr 14, 2023
a6ad242
Update unix makefile for Ledger
gabrielKerekes Apr 14, 2023
244494c
Remove unused imports in CI script
gabrielKerekes Apr 14, 2023
6ad63d1
Update CI actions to upload artifacts
gabrielKerekes Apr 14, 2023
da393dc
Enable (and fix) Windows CI action
gabrielKerekes Apr 14, 2023
0248c15
Fix some imports, refactor keystore (to fix Windows build)
gabrielKerekes Apr 15, 2023
d4afd2d
Remove Speculos files to fix linux build
gabrielKerekes Apr 15, 2023
016d505
Fix windows compilation error regarding `LedgerException.GetMessage`
gabrielKerekes Apr 15, 2023
d0ef81e
Rename ci artifacts
gabrielKerekes Apr 15, 2023
fda745a
Fix CMake build
gabrielKerekes Apr 17, 2023
0c21bf8
Re-enable other jobs
gabrielKerekes Apr 17, 2023
2172c4c
Format files modified during of Ledger integration
gabrielKerekes Apr 17, 2023
c022057
Check return value of `GetOtherLedgerKey` in `getaccount`
gabrielKerekes Apr 17, 2023
944c9a1
Update `GetOtherLedgerKey` to `return false` instead of throwing an e…
gabrielKerekes Apr 17, 2023
3732036
Remove TODOs
gabrielKerekes Apr 17, 2023
99c2935
Delete Ledger `clean*.sh` scripts
gabrielKerekes Apr 17, 2023
250e3e1
Fix osx build
gabrielKerekes Apr 15, 2023
4284365
Fix custom Ledger change outputs and coin control
gabrielKerekes Apr 18, 2023
f049708
Add `build_mxe` file to repo
gabrielKerekes Apr 18, 2023
0413935
Update docs with Ledger deps
gabrielKerekes Apr 18, 2023
dbcfc3f
Clean up multiple small things
gabrielKerekes Apr 19, 2023
b58f110
Fix Dockerfile and add comments
gabrielKerekes Apr 19, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 46 additions & 26 deletions .github/workflows/ci_cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,16 @@ env:
jobs:

linux_daemon_cmake:
runs-on: ubuntu-18.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v1
- name: ccache
uses: actions/cache@v2
with:
path: .ccache
key: ${{ runner.OS }}-${{ env.CACHE_VER }}-18.04-linux_daemon_cmake-${{ github.sha }}-${{ github.run_id }}
key: ${{ runner.OS }}-${{ env.CACHE_VER }}-22.04-linux_daemon_cmake-${{ github.sha }}-${{ github.run_id }}
restore-keys: |
${{ runner.OS }}-${{ env.CACHE_VER }}-18.04-linux_daemon_cmake-
${{ runner.OS }}-${{ env.CACHE_VER }}-22.04-linux_daemon_cmake-
- name: Set target_v env var
run: |
echo "target_v=linux_daemon_cmake" >> $GITHUB_ENV
Expand All @@ -42,16 +42,16 @@ jobs:
path: /tmp/bitcoin*

linux_daemon:
runs-on: ubuntu-18.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v1
- name: ccache
uses: actions/cache@v2
with:
path: .ccache
key: ${{ runner.OS }}-${{ env.CACHE_VER }}-18.04-linux_daemon-${{ github.sha }}-${{ github.run_id }}
key: ${{ runner.OS }}-${{ env.CACHE_VER }}-22.04-linux_daemon-${{ github.sha }}-${{ github.run_id }}
restore-keys: |
${{ runner.OS }}-${{ env.CACHE_VER }}-18.04-linux_daemon-
${{ runner.OS }}-${{ env.CACHE_VER }}-22.04-linux_daemon-
- name: Set target_v env var
run: |
echo "target_v=linux_daemon" >> $GITHUB_ENV
Expand All @@ -67,19 +67,24 @@ jobs:
files: ${{ env.SOURCE_PATH }}
repo-token: ${{ secrets.GHAT2 }}
release-tag: ${{ env.RELEASE_TAG }}
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: nebliod-linux.tar.gz
path: ${{ github.workspace }}/deploy/*nebliod*.tar.gz


linux_wallet:
runs-on: ubuntu-18.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v1
- name: ccache
uses: actions/cache@v2
with:
path: .ccache
key: ${{ runner.OS }}-${{ env.CACHE_VER }}-18.04-linux_wallet-${{ github.sha }}-${{ github.run_id }}
key: ${{ runner.OS }}-${{ env.CACHE_VER }}-22.04-linux_wallet-${{ github.sha }}-${{ github.run_id }}
restore-keys: |
${{ runner.OS }}-${{ env.CACHE_VER }}-18.04-linux_wallet-
${{ runner.OS }}-${{ env.CACHE_VER }}-22.04-linux_wallet-
- name: Set target_v env var
run: |
echo "target_v=linux_wallet" >> $GITHUB_ENV
Expand All @@ -94,20 +99,25 @@ jobs:
files: ${{ env.SOURCE_PATH }}
repo-token: ${{ secrets.GHAT2 }}
release-tag: ${{ env.RELEASE_TAG }}
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: neblio-qt-linux.tar.gz
path: ${{ github.workspace }}/deploy/*neblio-Qt*.tar.gz


linux_wallet_test:
runs-on: ubuntu-18.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v1
- name: ccache
uses: actions/cache@v2
with:
path: .ccache
key: ${{ runner.OS }}-${{ env.CACHE_VER }}-18.04-linux_wallet_test-${{ github.sha }}-${{ github.run_id }}
key: ${{ runner.OS }}-${{ env.CACHE_VER }}-22.04-linux_wallet_test-${{ github.sha }}-${{ github.run_id }}
restore-keys: |
${{ runner.OS }}-${{ env.CACHE_VER }}-18.04-linux_wallet_test-
${{ runner.OS }}-${{ env.CACHE_VER }}-18.04-linux_wallet-
${{ runner.OS }}-${{ env.CACHE_VER }}-22.04-linux_wallet_test-
${{ runner.OS }}-${{ env.CACHE_VER }}-22.04-linux_wallet-
- name: Set target_v env var
run: |
echo "target_v=linux_wallet_test" >> $GITHUB_ENV
Expand All @@ -117,16 +127,16 @@ jobs:


windows_x86:
runs-on: ubuntu-18.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v1
- name: ccache
uses: actions/cache@v2
with:
path: .ccache
key: ${{ runner.OS }}-${{ env.CACHE_VER }}-18.04-windows_x86-${{ github.sha }}-${{ github.run_id }}
key: ${{ runner.OS }}-${{ env.CACHE_VER }}-22.04-windows_x86-${{ github.sha }}-${{ github.run_id }}
restore-keys: |
${{ runner.OS }}-${{ env.CACHE_VER }}-18.04-windows_x86-
${{ runner.OS }}-${{ env.CACHE_VER }}-22.04-windows_x86-
- name: Build neblio-Qt for Windows x86
run: |
python -u ci_scripts/test_win_x86-gui_wallet.py
Expand All @@ -138,6 +148,11 @@ jobs:
files: ${{ env.SOURCE_PATH }}
repo-token: ${{ secrets.GHAT2 }}
release-tag: ${{ env.RELEASE_TAG }}
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: neblio-qt-windows.zip
path: ${{ github.workspace }}/deploy/*neblio-Qt*.zip


osx:
Expand Down Expand Up @@ -165,6 +180,11 @@ jobs:
files: ${{ env.SOURCE_PATH }}
repo-token: ${{ secrets.GHAT2 }}
release-tag: ${{ env.RELEASE_TAG }}
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: neblio-qt-mac.zip
path: ${{ github.workspace }}/deploy/*neblio-Qt*.zip


osx_test:
Expand Down Expand Up @@ -240,16 +260,16 @@ jobs:
rpi_wallet:
# Only Build RPi on Daily Scheduled Runs and releases as it takes a long time
if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-18.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v1
- name: ccache
uses: actions/cache@v2
with:
path: .ccache
key: ${{ runner.OS }}-${{ env.CACHE_VER }}-18.04-rpi_wallet-${{ github.sha }}-${{ github.run_id }}
key: ${{ runner.OS }}-${{ env.CACHE_VER }}-22.04-rpi_wallet-${{ github.sha }}-${{ github.run_id }}
restore-keys: |
${{ runner.OS }}-${{ env.CACHE_VER }}-18.04-rpi_wallet-
${{ runner.OS }}-${{ env.CACHE_VER }}-22.04-rpi_wallet-
- name: Set target_v env var
run: |
echo "target_v=rpi_wallet" >> $GITHUB_ENV
Expand All @@ -269,17 +289,17 @@ jobs:
rpi_wallet_test:
# Only Build RPi on Daily Scheduled Runs and releases as it takes a long time
if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-18.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v1
- name: ccache
uses: actions/cache@v2
with:
path: .ccache
key: ${{ runner.OS }}-${{ env.CACHE_VER }}-18.04-rpi_wallet_test-${{ github.sha }}-${{ github.run_id }}
key: ${{ runner.OS }}-${{ env.CACHE_VER }}-22.04-rpi_wallet_test-${{ github.sha }}-${{ github.run_id }}
restore-keys: |
${{ runner.OS }}-${{ env.CACHE_VER }}-18.04-rpi_wallet_test-
${{ runner.OS }}-${{ env.CACHE_VER }}-18.04-rpi_wallet-
${{ runner.OS }}-${{ env.CACHE_VER }}-22.04-rpi_wallet_test-
${{ runner.OS }}-${{ env.CACHE_VER }}-22.04-rpi_wallet-
- name: Set target_v env var
run: |
echo "target_v=rpi_wallet_test" >> $GITHUB_ENV
Expand All @@ -297,16 +317,16 @@ jobs:
rpi_daemon:
# Only Build RPi on Daily Scheduled Runs and releases as it takes a long time
if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-18.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v1
- name: ccache
uses: actions/cache@v2
with:
path: .ccache
key: ${{ runner.OS }}-${{ env.CACHE_VER }}-18.04-rpi_daemon-${{ github.sha }}-${{ github.run_id }}
key: ${{ runner.OS }}-${{ env.CACHE_VER }}-22.04-rpi_daemon-${{ github.sha }}-${{ github.run_id }}
restore-keys: |
${{ runner.OS }}-${{ env.CACHE_VER }}-18.04-rpi_daemon-
${{ runner.OS }}-${{ env.CACHE_VER }}-22.04-rpi_daemon-
- name: Set target_v env var
run: |
echo "target_v=rpi_daemon" >> $GITHUB_ENV
Expand Down
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ wallet/leveldb/build_config.mk
debug
.neblio
release/
.qtc_clangd
.vscode

#compilation and Qt preprocessor part
*.qm
Expand Down Expand Up @@ -71,3 +73,9 @@ wallet/test/data/txs_ntp1tests_ntp1_txs_testnet.json
wallet/test/data/txs_ntp1tests_raw_neblio_txs_testnet.json
wallet/test/data/ntp1txids_to_test.txt
wallet/test/data/ntp1txids_to_test_testnet.txt

boost*/
openssl*/
boost_build
openssl_build
*.tar.gz
15 changes: 15 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@ find_package(PkgConfig REQUIRED)
find_package(Boost 1.65 COMPONENTS system random filesystem thread regex program_options iostreams atomic REQUIRED)
find_package(Threads REQUIRED)
find_package(sodium REQUIRED)
find_package(HIDAPI REQUIRED)

set(ATOMIC32_TEST_CODE "
#include <atomic>
Expand Down Expand Up @@ -595,6 +596,8 @@ add_library(gui_lib STATIC
wallet/qt/votesdatamodel.cpp
wallet/qt/votesdataview.cpp
wallet/qt/votestablecelldelegate.cpp
wallet/qt/ledger_ui/ledgermessagebox.cpp
wallet/qt/ledger_ui/ledgeruiutils.cpp
${QRCODE_SOURCES}
)

Expand Down Expand Up @@ -625,6 +628,8 @@ add_library(ui_lib STATIC
wallet/qt/ui_sendcoinsentry.h
wallet/qt/ui_signverifymessagedialog.h
wallet/qt/ui_transactiondescdialog.h
wallet/qt/ledger_ui/ledgermessagebox.h
wallet/qt/ledger_ui/ledgeruiutils.h
)

target_link_libraries(ui_lib
Expand Down Expand Up @@ -740,6 +745,15 @@ add_library(core_lib STATIC
wallet/blockmetadata.cpp
wallet/blockindexlrucache.cpp
wallet/proposal.cpp
wallet/ledger/bytes.h
wallet/ledger/bip32.cpp
wallet/ledger/error.cpp
wallet/ledger/hid.cpp
wallet/ledger/ledger.cpp
wallet/ledger/transport.cpp
wallet/ledger/tx.cpp
wallet/ledger/utils.cpp
wallet/ledgerBridge.cpp
)

target_link_libraries(core_lib
Expand All @@ -750,6 +764,7 @@ target_link_libraries(core_lib
db_lib
utils_lib
${ATOMIC_LINKER_LIBS}
${HIDAPI_LIBRARIES}
)

add_library(curltools_lib STATIC
Expand Down
15 changes: 14 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,13 @@ Pull Requests Welcome
```
sudo apt-get update && sudo apt-get install git python python-pip qt5-default qt5-qmake qtbase5-dev-tools \
qttools5-dev-tools build-essential libssl-dev libdb++-dev libminiupnpc-dev \
libqrencode-dev libcurl4-openssl-dev libldap2-dev libidn11-dev librtmp-dev libsodium-dev -y
libqrencode-dev libcurl4-openssl-dev libldap2-dev libidn11-dev librtmp-dev libsodium-dev libudev-dev \
libusb-1.0-0-dev libhidapi-dev -y
pip install requests
```

_Note: For Ubuntu 21.04 and newer the `qt5-default` package needs to be replaced with `qtbase5-dev`._

### Clone Repo
```
git clone https://github.com/NeblioTeam/neblio
Expand All @@ -41,6 +44,8 @@ export QRENCODE_INCLUDE_PATH=$PWD/qrencode_build/include/
export QRENCODE_LIB_PATH=$PWD/qrencode_build/lib/
```

_Note: You might need to change `python` to `python3` on newer Ubuntu versions._

### Build nebliod
```
cd wallet
Expand All @@ -66,13 +71,16 @@ sudo mv mxe /
export PATH=/mxe/mxe/usr/bin:$PATH
```

_Source for mxe can be found in [contrib/build_mxe](contrib/build_mxe)._

### Build neblio-Qt
```
i686-w64-mingw32.static-qmake-qt5 "USE_UPNP=1" "USE_QRCODE=1" "RELEASE=1" neblio-wallet.pro
make -B -w -j4
```

## macOS
_Instructions don't work on Apple silicon._
### Install the following dependencies (homebrew)
```
brew update
Expand All @@ -84,6 +92,7 @@ brew fetch --retry curl && brew install curl --force
brew fetch --retry openssl@1.1 && brew install openssl@1.1 --force
brew fetch --retry qrencode && brew install qrencode --force
brew fetch --retry libsodium && brew install libsodium --force
brew fetch --retry hidapi && brew install hidapi --force

brew unlink qt && brew link --force --overwrite qt
brew unlink berkeley-db@4 && brew link --force --overwrite berkeley-db@4
Expand All @@ -94,6 +103,7 @@ brew unlink python && brew link --force --overwrite python
brew unlink openssl@1.1 && brew link --force --overwrite openssl@1.1
brew unlink qrencode && brew link --force --overwrite qrencode
brew unlink libsodium && brew link --force --overwrite libsodium
brew unlink hidapi && brew link --force --overwrite hidapi
```

### Build neblio-Qt
Expand Down Expand Up @@ -200,6 +210,7 @@ RPC commands are used to interact with a running instance of nebliod or neblio-Q

```
abandontransaction <txid>
addledgeraddress <account_index> <address_index> <label>
addmultisigaddress <nrequired> <'["key","key"]'> [account]
addnode "node" "add|remove|onetry"
addredeemscript <redeemScript> [account]
Expand Down Expand Up @@ -236,6 +247,7 @@ getconnectioncount
getdelegatedbalance
getdifficulty
getinfo
getledgeraccount <neblioaddress or account>
getmininginfo
getnewaddress [account]
getnewpubkey [account]
Expand Down Expand Up @@ -294,6 +306,7 @@ udtoneblioaddress <unstoppable domain address>
uptime
validateaddress <neblioaddress>
validatepubkey <nebliopubkey>
verifyledgeraddress <accountindex> <ischange> <addressindex> <expectedaddress>
verifymessage <neblioaddress> <signature> <message>
waitforblockheight (timeout)
```
Expand Down
7 changes: 1 addition & 6 deletions build_scripts/CompileBoost-Linux.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,14 +86,9 @@ def download_boost():

call("tar -xf " + filename, shell=True) #extract the .tar.gz file

dirname_bin = dirname + "_build"
dirname_bin = dirname
final_dirname = "boost_build"

try:
shutil.rmtree(dirname_bin)
except:
pass

try:
shutil.rmtree(final_dirname)
except:
Expand Down
7 changes: 5 additions & 2 deletions ci_scripts/test_linux-daemon-cmake.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
packages_to_install = \
[
"ccache",
"qt5-default",
"qtbase5-dev",
"qt5-qmake",
"qtbase5-dev-tools",
"qttools5-dev-tools",
Expand Down Expand Up @@ -43,7 +43,10 @@
"python3-setuptools",
"wget",
"cmake",
"nano"
"nano",
"libudev-dev",
"libusb-1.0-0-dev",
"libhidapi-dev"
]

nci.install_packages_debian(packages_to_install)
Expand Down
Loading