Skip to content

Commit 660e4ea

Browse files
authored
[PSL-1180] pasteld: check & add missing insightexplorer code (#254)
* [PSL-1180] pasteld: check & add missing insightexplorer code pasteld v2.3.1-beta1 - moved all insightexplorer code and adapted to pasteld: - mempool: add memory address & spent indices - mempool: remove address & spend indices from internal maps when transaction is removed from mempool - mempool: updated memory DynamicUsage for insight-related structures - ConnectBlock: collect info for insightexplorer indices from vin/vout transactions in a block, add/update indices in txdb - DisconnectBlock: collect info for insightexplorer indices from transactions in a block and erase from txdb - add/update/delete indices from txdb (address,spend and timestamp indices) - refactored checks for txdb/cmdline options mismatches for fTxIndex, fInsightExplorer flags - refactored serialization/deserialization for address,spent,timestamp indices storage in txdb - refactored logging for LevelDB create/open operations - removed static from constexpr declared outside classes/namespaces - moved experimental features initialization to the separate file, removed requirement for "experimentalfeatures" option to enable insightexplorer - added new python tests for insightexplorer: addressindex.py, spentindex.py, timestampindex.py - added new insightexplorer RPC APIs: - getblockdeltas blockhash Returns the txid and index where an output is spent - getblockhashes high low ( {"noOrphans": true|false, "logicalTimes": true|false} Returns array of hashes of blocks within the timestamp range provided, greater or equal to low, less than high. - getaddressmempool {addresses: [taddr, ...]} Returns all mempool deltas for an address. - getaddresstxids {"addresses": ["taddr", ...], ("start": n), ("end": n)} Returns the transaction ids for given transparent addresses within the given (inclusive) block height range, default is the full blockchain. - getaddressbalance {"addresses": ["taddr", ...]} Returns the balance for addresses. - getaddressdeltas {"addresses": ["taddr", ...], ("start": n), ("end": n), ("chainInfo": true|false)} Returns all changes for an address. Returns information about all changes to the given transparent addresses within the given (inclusive) block height range, default is the full blockchain. - getaddressutxos {"addresses": ["taddr", ...], ("chainInfo": true|false)} Returns all unspent outputs for an address. - getspentinfo {"txid": "txid", "index": n} Returns the txid and index where an output is spent. - refactored getting/validating start/end height RPC parameters - added google tests for insightexplorer RPC APIs calls (validate parameters, API disabled messages) * fixes * fixes * fixes
1 parent c98e305 commit 660e4ea

File tree

153 files changed

+4167
-1696
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

153 files changed

+4167
-1696
lines changed

build-aux/vs2022/libbitcoin_common/libbitcoin_common.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
</ImportGroup>
88
<ItemDefinitionGroup>
99
<ClCompile>
10-
<AdditionalIncludeDirectories>$(SRC)secp256k1\include;$(SRC)univalue\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
10+
<AdditionalIncludeDirectories>$(SRC)secp256k1\include;$(SRC)univalue\include;$(SRC)leveldb\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
1111
<PreprocessorDefinitions>_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
1212
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
1313
<SDLCheck>true</SDLCheck>

build-aux/vs2022/libbitcoin_common/libbitcoin_common.vcxproj

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@
9191
</ItemDefinitionGroup>
9292
<ItemGroup>
9393
<ClCompile Include="..\..\..\src\amount.cpp" />
94-
<ClCompile Include="..\..\..\src\arith_uint256.cpp" />
9594
<ClCompile Include="..\..\..\src\chainparams.cpp" />
9695
<ClCompile Include="..\..\..\src\chain_options.cpp" />
9796
<ClCompile Include="..\..\..\src\coins.cpp" />
@@ -120,7 +119,6 @@
120119
</ItemGroup>
121120
<ItemGroup>
122121
<ClInclude Include="..\..\..\src\amount.h" />
123-
<ClInclude Include="..\..\..\src\arith_uint256.h" />
124122
<ClInclude Include="..\..\..\src\chainparams.h" />
125123
<ClInclude Include="..\..\..\src\chain_options.h" />
126124
<ClInclude Include="..\..\..\src\coins.h" />

build-aux/vs2022/libbitcoin_common/libbitcoin_common.vcxproj.filters

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@
1919
<ClCompile Include="..\..\..\src\amount.cpp">
2020
<Filter>Source Files</Filter>
2121
</ClCompile>
22-
<ClCompile Include="..\..\..\src\arith_uint256.cpp">
23-
<Filter>Source Files</Filter>
24-
</ClCompile>
2522
<ClCompile Include="..\..\..\src\chainparams.cpp">
2623
<Filter>Source Files</Filter>
2724
</ClCompile>
@@ -102,9 +99,6 @@
10299
<ClInclude Include="..\..\..\src\amount.h">
103100
<Filter>Source Files</Filter>
104101
</ClInclude>
105-
<ClInclude Include="..\..\..\src\arith_uint256.h">
106-
<Filter>Source Files</Filter>
107-
</ClInclude>
108102
<ClInclude Include="..\..\..\src\chainparams.h">
109103
<Filter>Source Files</Filter>
110104
</ClInclude>

build-aux/vs2022/libbitcoin_server/libbitcoin_server.vcxproj

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@
9696
<ClCompile Include="..\..\..\src\checkpoints.cpp" />
9797
<ClCompile Include="..\..\..\src\dbwrapper.cpp" />
9898
<ClCompile Include="..\..\..\src\deprecation.cpp" />
99+
<ClCompile Include="..\..\..\src\experimental_features.cpp" />
99100
<ClCompile Include="..\..\..\src\httprpc.cpp" />
100101
<ClCompile Include="..\..\..\src\httpserver.cpp" />
101102
<ClCompile Include="..\..\..\src\init.cpp" />
@@ -195,7 +196,7 @@
195196
<ClCompile Include="..\..\..\src\sendalert.cpp" />
196197
<ClCompile Include="..\..\..\src\timedata.cpp" />
197198
<ClCompile Include="..\..\..\src\torcontrol.cpp" />
198-
<ClCompile Include="..\..\..\src\txdb.cpp" />
199+
<ClCompile Include="..\..\..\src\txdb\txdb.cpp" />
199200
<ClCompile Include="..\..\..\src\txmempool.cpp" />
200201
<ClCompile Include="..\..\..\src\validationinterface.cpp" />
201202
<ClCompile Include="..\..\vs\port\cyclicbarrier\cyclicbarrier.cpp" />
@@ -216,6 +217,7 @@
216217
<ClInclude Include="..\..\..\src\core_memusage.h" />
217218
<ClInclude Include="..\..\..\src\dbwrapper.h" />
218219
<ClInclude Include="..\..\..\src\deprecation.h" />
220+
<ClInclude Include="..\..\..\src\experimental_features.h" />
219221
<ClInclude Include="..\..\..\src\httprpc.h" />
220222
<ClInclude Include="..\..\..\src\httpserver.h" />
221223
<ClInclude Include="..\..\..\src\init.h" />
@@ -322,7 +324,10 @@
322324
<ClInclude Include="..\..\..\src\script_check.h" />
323325
<ClInclude Include="..\..\..\src\timedata.h" />
324326
<ClInclude Include="..\..\..\src\torcontrol.h" />
325-
<ClInclude Include="..\..\..\src\txdb.h" />
327+
<ClInclude Include="..\..\..\src\txdb\addressindex.h" />
328+
<ClInclude Include="..\..\..\src\txdb\spentindex.h" />
329+
<ClInclude Include="..\..\..\src\txdb\timestampindex.h" />
330+
<ClInclude Include="..\..\..\src\txdb\txdb.h" />
326331
<ClInclude Include="..\..\..\src\txmempool.h" />
327332
<ClInclude Include="..\..\..\src\txmempool_entry.h" />
328333
<ClInclude Include="..\..\..\src\ui_interface.h" />

build-aux/vs2022/libbitcoin_server/libbitcoin_server.vcxproj.filters

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@
4141
<Filter Include="Source Files\mining\pow\tromp">
4242
<UniqueIdentifier>{e3bac48b-ebee-45eb-8049-f714583aa511}</UniqueIdentifier>
4343
</Filter>
44+
<Filter Include="Source Files\txdb">
45+
<UniqueIdentifier>{a590095b-2af1-432f-b1a9-fe35b44e4d8b}</UniqueIdentifier>
46+
</Filter>
4447
</ItemGroup>
4548
<ItemGroup>
4649
<ClCompile Include="..\..\..\src\sendalert.cpp">
@@ -124,9 +127,6 @@
124127
<ClCompile Include="..\..\..\src\torcontrol.cpp">
125128
<Filter>Source Files</Filter>
126129
</ClCompile>
127-
<ClCompile Include="..\..\..\src\txdb.cpp">
128-
<Filter>Source Files</Filter>
129-
</ClCompile>
130130
<ClCompile Include="..\..\..\src\txmempool.cpp">
131131
<Filter>Source Files</Filter>
132132
</ClCompile>
@@ -367,6 +367,12 @@
367367
<ClCompile Include="..\..\..\src\mnode\tickets\contract.cpp">
368368
<Filter>Source Files\mnode\tickets</Filter>
369369
</ClCompile>
370+
<ClCompile Include="..\..\..\src\experimental_features.cpp">
371+
<Filter>Source Files</Filter>
372+
</ClCompile>
373+
<ClCompile Include="..\..\..\src\txdb\txdb.cpp">
374+
<Filter>Source Files\txdb</Filter>
375+
</ClCompile>
370376
</ItemGroup>
371377
<ItemGroup>
372378
<ClInclude Include="..\..\..\src\addrman.h">
@@ -429,9 +435,6 @@
429435
<ClInclude Include="..\..\..\src\torcontrol.h">
430436
<Filter>Source Files</Filter>
431437
</ClInclude>
432-
<ClInclude Include="..\..\..\src\txdb.h">
433-
<Filter>Source Files</Filter>
434-
</ClInclude>
435438
<ClInclude Include="..\..\..\src\txmempool.h">
436439
<Filter>Source Files</Filter>
437440
</ClInclude>
@@ -753,5 +756,20 @@
753756
<ClInclude Include="..\..\..\src\mnode\tickets\contract.h">
754757
<Filter>Source Files\mnode\tickets</Filter>
755758
</ClInclude>
759+
<ClInclude Include="..\..\..\src\experimental_features.h">
760+
<Filter>Source Files</Filter>
761+
</ClInclude>
762+
<ClInclude Include="..\..\..\src\txdb\txdb.h">
763+
<Filter>Source Files\txdb</Filter>
764+
</ClInclude>
765+
<ClInclude Include="..\..\..\src\txdb\addressindex.h">
766+
<Filter>Source Files\txdb</Filter>
767+
</ClInclude>
768+
<ClInclude Include="..\..\..\src\txdb\spentindex.h">
769+
<Filter>Source Files\txdb</Filter>
770+
</ClInclude>
771+
<ClInclude Include="..\..\..\src\txdb\timestampindex.h">
772+
<Filter>Source Files\txdb</Filter>
773+
</ClInclude>
756774
</ItemGroup>
757775
</Project>

build-aux/vs2022/libbitcoin_util/libbitcoin_util.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@
104104
<ClCompile Include="..\..\..\src\support\cleanse.cpp" />
105105
<ClCompile Include="..\..\..\src\support\lockedpool.cpp" />
106106
<ClCompile Include="..\..\..\src\utilmoneystr.cpp" />
107+
<ClCompile Include="..\..\..\src\utils\arith_uint256.cpp" />
107108
<ClCompile Include="..\..\..\src\utils\ascii85.cpp" />
108109
<ClCompile Include="..\..\..\src\utils\base58.cpp" />
109110
<ClCompile Include="..\..\..\src\utils\bech32.cpp" />
@@ -136,6 +137,7 @@
136137
<ClInclude Include="..\..\..\src\support\lockedpool.h" />
137138
<ClInclude Include="..\..\..\src\threadsafety.h" />
138139
<ClInclude Include="..\..\..\src\utilmoneystr.h" />
140+
<ClInclude Include="..\..\..\src\utils\arith_uint256.h" />
139141
<ClInclude Include="..\..\..\src\utils\ascii85.h" />
140142
<ClInclude Include="..\..\..\src\utils\base58.h" />
141143
<ClInclude Include="..\..\..\src\utils\bech32.h" />

build-aux/vs2022/libbitcoin_util/libbitcoin_util.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,9 @@
9494
<ClCompile Include="..\..\..\src\clientversion.cpp">
9595
<Filter>Source Files</Filter>
9696
</ClCompile>
97+
<ClCompile Include="..\..\..\src\utils\arith_uint256.cpp">
98+
<Filter>Source Files\utils</Filter>
99+
</ClCompile>
97100
</ItemGroup>
98101
<ItemGroup>
99102
<ClInclude Include="..\..\..\src\compat\byteswap.h">
@@ -234,5 +237,8 @@
234237
<ClInclude Include="..\..\..\src\utils\streams.h">
235238
<Filter>Source Files\utils</Filter>
236239
</ClInclude>
240+
<ClInclude Include="..\..\..\src\utils\arith_uint256.h">
241+
<Filter>Source Files\utils</Filter>
242+
</ClInclude>
237243
</ItemGroup>
238244
</Project>

build-aux/vs2022/libbitcoin_zmq/libbitcoin_zmq.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
</ImportGroup>
77
<ItemDefinitionGroup>
88
<ClCompile>
9-
<AdditionalIncludeDirectories>$(SRC)zmq;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
9+
<AdditionalIncludeDirectories>$(SRC)zmq;$(SRC)leveldb\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
1010
<PreprocessorDefinitions>_CONSOLE;ENABLE_ZMQ;ZMQ_STATIC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
1111
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
1212
<SDLCheck>true</SDLCheck>

build-aux/vs2022/settings/googletest.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99
<ItemDefinitionGroup>
1010
<ClCompile>
1111
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
12-
<PreprocessorDefinitions>_CONSOLE;GOOGLETEST;GTEST_LINKED_AS_SHARED_LIBRARY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
12+
<PreprocessorDefinitions>_CONSOLE;GOOGLETEST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
1313
</ClCompile>
1414
<Link>
1515
<Profile>true</Profile>
16-
<AdditionalDependencies>gmock$(LIBDBGSFX).lib;%(AdditionalDependencies)</AdditionalDependencies>
16+
<AdditionalDependencies>gtest$(LIBDBGSFX).lib;gmock$(LIBDBGSFX).lib;%(AdditionalDependencies)</AdditionalDependencies>
1717
<SubSystem>Console</SubSystem>
1818
</Link>
1919
</ItemDefinitionGroup>

build.sh

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
#!/bin/bash
2+
# Copyright (c) 2018-2024 The Pastel Core developers
3+
# Distributed under the MIT software license, see the accompanying
4+
# file COPYING or https://www.opensource.org/licenses/mit-license.php.
5+
#
26
# Usage:
3-
# Linux: ./build.sh
4-
# MingW: HOST=x86_64-w64-mingw32 ./build.sh
5-
# macOS: HOST=x86_64-apple-darwin14 ./build.sh
7+
# Linux: ./build.sh -j<job_count>
8+
# MingW: HOST=x86_64-w64-mingw32 ./build.sh -j<job_count>
9+
# macOS: HOST=x86_64-apple-darwin14 ./build.sh -j<job_count>
10+
#
611
set -euo pipefail
712

813
function cmd_pref()

0 commit comments

Comments
 (0)