-
Notifications
You must be signed in to change notification settings - Fork 35.6k
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
Gettransaction #24
Gettransaction #24
Conversation
Hooray! |
@gavinandresen @laanwj The gettransaction call does not return the 'fee' attribute for some reason. I'm using version
|
@orweinberger it only adds a |
@laanwj Thanks for clarifying that. Is there any way for me to see if a transaction that was sent to me had a fee included in it? |
No idea... maybe you can remove the check and it will work for received transactions too, I'm not sure. |
You can only compute the fee if you know the values of all inputs. This is only the case if all inputs are from yourself. |
…ster two instances of the same RPC function with different names. Updated "extrawallet" to reflect this change. This commit fixes bitcoin#24
9037707 Rewrite 5x52 normalize method to be faster (Peter Dettman)
…ndling Logging: fix reuse of fReopenDebugLog flag
Fix printdb build
Fix Wladimir's name
Fix key import while running withdrawwatch
Do not purge orphans on peer disconnect
wallet-utility: extract addresses and private keys
daf1285 Merge pull request #2 from jgarzik/master d9e62d3 Merge pull request #24 from MarcoFalke/Mf1608-cleanup faf260f Rem unused vars and prefer prefix operator for non-primitive type 09a2693 Merge pull request #22 from laanwj/2016_04_unicode c74a04c Merge pull request #23 from paveljanik/20160527_Wshadow fceb4f8 Do not shadow variables git-subtree-dir: src/univalue git-subtree-split: daf1285
daf1285 Merge pull request #2 from jgarzik/master d9e62d3 Merge pull request bitcoin#24 from MarcoFalke/Mf1608-cleanup faf260f Rem unused vars and prefer prefix operator for non-primitive type 09a2693 Merge pull request bitcoin#22 from laanwj/2016_04_unicode c74a04c Merge pull request bitcoin#23 from paveljanik/20160527_Wshadow fceb4f8 Do not shadow variables git-subtree-dir: src/univalue git-subtree-split: daf1285
…tors change version to 1.14.1 for gitian
Rem unused vars and prefer prefix operator for non-primitive type
Add leveldb: prefix to leveldb debug logging lines. leveldb debug messages come in various scary flavors such as: 2017-11-30 08:26:31 leveldb: Recovering log bitcoin#26 2017-11-30 08:26:31 leveldb: Level-0 table bitcoin#28: started 2017-11-30 08:26:31 leveldb: Level-0 table bitcoin#28: 597 bytes OK 2017-11-30 08:26:31 leveldb: Delete type=0 bitcoin#26 2017-11-30 08:26:31 leveldb: Delete type=3 bitcoin#24 so it's reasonably important to mark them as coming from leveldb internals and not from consensus validation wallet or such. (this only affects `-debug=leveldb` or `-debug=1` otherwise you won't see them in the first place)
9b80fc1 Prefix leveldb debug logging (Wladimir J. van der Laan) Pull request description: Add leveldb: prefix to leveldb debug logging lines. leveldb debug messages come in various scary flavors such as: 2017-11-30 08:26:31 leveldb: Recovering log #26 2017-11-30 08:26:31 leveldb: Level-0 table #28: started 2017-11-30 08:26:31 leveldb: Level-0 table #28: 597 bytes OK 2017-11-30 08:26:31 leveldb: Delete type=0 #26 2017-11-30 08:26:31 leveldb: Delete type=3 #24 so it's reasonably important to mark them as coming from leveldb internals and not from consensus validation wallet or such. This is consistent with the `libevent:` prefix for libevent messages. (this only affects `-debug=leveldb` or `-debug=1` otherwise you won't see them in the first place) Tree-SHA512: 074eba00d39c6378b9e14d03aa2c551b4e3fc7bffdd5a1a0ba2498b44bcc77071d47735be09493286056053f0cca625c5cbaad7ad1ddb9d902d30e7cd316d9d2
Fixed (invalidateblock fails).
Change the description in bitcoin-qt.desktop
Add leveldb: prefix to leveldb debug logging lines. leveldb debug messages come in various scary flavors such as: 2017-11-30 08:26:31 leveldb: Recovering log #26 2017-11-30 08:26:31 leveldb: Level-0 table #28: started 2017-11-30 08:26:31 leveldb: Level-0 table #28: 597 bytes OK 2017-11-30 08:26:31 leveldb: Delete type=0 #26 2017-11-30 08:26:31 leveldb: Delete type=3 #24 so it's reasonably important to mark them as coming from leveldb internals and not from consensus validation wallet or such. (this only affects `-debug=leveldb` or `-debug=1` otherwise you won't see them in the first place)
Block and transaction handling updates from Bitcoin Core 0.13.x
* Add ci, docker-compose, sonar * Add service locator, pop, rpc services (#1) Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Add RPC service implementation (#2) * Add rpc_service_impl Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Add opcodes Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Link libvbk everywhere Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Fix build Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Register RPCs Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Fix linker error * Make service locator templated * Use default template param to get rid of second overload of get/setService * Set timeout on build Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Fix usage on OP_CHECKATV&VTB Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Add test template Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Add fakeit Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Use fixture Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Move tests to vbk dir Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Fix double free Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Fix locator Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Disable -fno-devirtualize * Uncomment test Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Fix script_test Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Fix makefile Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Fix flag * Fix -fno-devirtualize flag * Add more interfaces (#3) * Add more interfaces Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Remove unneeded comments Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Fix build, sonar Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Add lcov coverage to sonar (#5) * Add lcov coverage to sonar Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Use gcovr Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Implement Util Service & add tests (#4) * Implement Util Service & add tests Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Add guard impl Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Remove slice; include vector Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Fix Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Add init methods (#7) * Fixe AreInputsStandard, GetTransactionSigOpCostGetP2SHSigOpCount (#6) * Fixe AreInputsStandard, GetTransactionSigOpCostGetP2SHSigOpCount * fixes * fixes * fixes * fixe test, udate UpdateCoins' (#9) * fixes (#12) * fixes * small fixe * fixe * Update src/vbk/util_service/util_service_impl.cpp Co-Authored-By: Bohdan <warchantua@gmail.com> * Update src/script/interpreter.h Co-Authored-By: Bohdan <warchantua@gmail.com> * fixes * bitcoin-cli: convert parameters of the RPC service from JSON as needed (#16) * update mempool, add grpc calls (#14) * update mempool, add grpc calls * remove grpc * fixe * Fix locator (#17) * Fix locator * Fixes * Use clang in CI * Generate genesis blocks; change merkle root calc (#13) * Generate genesis blocks; change merkle root calc * Fixes * Fix main genesis block; disable tests * Fix * Fix make check * tests: add a VeriBlock integration test runner (#10) * tests: add a VeriBlock integration test runner * add a linker flag to resolve circular dependencies * Fix CI * ExtractMatches: fix incorrect condition (#19) * ExtractMatches fixed * Fix BTC-31 * Add SavePopTxToDatabase (#20) * add forkresolution, calculate block without pop tx (#18) * add forkresolution, calculate block without pop tx * Feature/update mempool comparator (#21) * update comparator, add tests * Feature/validate poptx (#22) * Add validate pop tx * Add EvalScript for pOP * Remove unused config const * Fix typo * Fix tests * Feature/pop reward (#23) * add pop rewards * fixe tests * fixes * Feature/fix bitcoind dnsseed (#26) * fix bitcoind * remove seeds and checkpoint data * Feature/add grpc service (#24) * add interface for the statefull block validation * add first verson of grpc class * Add autogeneration * Change submodule git -> https * add grpc calls of the service * add statefull validation * Update proto to v1; fix in Makefile * Fix build * Fix build * fixe * Fix build * Fixes to please CI * Fix build * Fix * Fix * Fix * First version of config... will continue tomorrow * Fix * FIx * add Pop merkle root commitment (#27) * fixe bitcoind * Fix (#28) * Add CD (#30) * Add CD * Try * Try * Try * Fix prerelase on * Add submodules * Update strip code * Remove email * Revert stripping * change the getblocktemplate method (#31) * Feature/disable checks (#32) * Disable requirement on at least one node * Fix tests * Fixes of grpc (#33) * Fixes of grpc * Update docker-compose image * Remove prefix in cd * Fix * Update cd * Fix (#34)
(cherry picked from commit 0645118)
9b80fc1 Prefix leveldb debug logging (Wladimir J. van der Laan) Pull request description: Add leveldb: prefix to leveldb debug logging lines. leveldb debug messages come in various scary flavors such as: 2017-11-30 08:26:31 leveldb: Recovering log bitcoin#26 2017-11-30 08:26:31 leveldb: Level-0 table bitcoin#28: started 2017-11-30 08:26:31 leveldb: Level-0 table bitcoin#28: 597 bytes OK 2017-11-30 08:26:31 leveldb: Delete type=0 bitcoin#26 2017-11-30 08:26:31 leveldb: Delete type=3 bitcoin#24 so it's reasonably important to mark them as coming from leveldb internals and not from consensus validation wallet or such. This is consistent with the `libevent:` prefix for libevent messages. (this only affects `-debug=leveldb` or `-debug=1` otherwise you won't see them in the first place) Tree-SHA512: 074eba00d39c6378b9e14d03aa2c551b4e3fc7bffdd5a1a0ba2498b44bcc77071d47735be09493286056053f0cca625c5cbaad7ad1ddb9d902d30e7cd316d9d2
…eceiving address' button 4ec49f8 qt: Leverage the default "Create new receiving address" button (Hennadii Stepanov) 4227a8e qt: Make "Create new receiving address" default unconditionally (Hennadii Stepanov) Pull request description: Fix #24 The first commit: - visual improvement with no behavior change The second commit: - removes a bunch of LOCs - slightly change behavior and makes it standard With this PR: ![DeepinScreenshot_select-area_20200721213040](https://user-images.githubusercontent.com/32963518/88093294-7b2a6700-cb9a-11ea-89a2-a0e2678056a7.png) ACKs for top commit: Saibato: Concept tACK bitcoin-core/gui@4227a8e bitcoin-core/gui@4ec49f8 promag: Tested ACK 4ec49f8 on macos. Tree-SHA512: 3403d5ee96ec139491c7e23b24a24d9239fe55c58d99cbd4cd13bc877f76f992ed011c09e2af35b2a63be1a2371b95f6ac719325396dcc8333cf3eb7fa2e3d2c
98fadc0909 Merge #24: Push bool into array correctly 5f03f1f39a Push bool into array correctly git-subtree-dir: src/univalue git-subtree-split: 98fadc090984fa7e070b6c41ccb514f69a371c85
98fadc0909 Merge bitcoin#24: Push bool into array correctly 5f03f1f39a Push bool into array correctly git-subtree-dir: src/univalue git-subtree-split: 98fadc090984fa7e070b6c41ccb514f69a371c85
8963b2c qt: Improve comments in WalletController::getOrCreateWallet() (Hennadii Stepanov) 5fcfee6 qt: Call setParent() in the parent's context (Hennadii Stepanov) 5659e73 qt: Add ObjectInvoke template function (Hennadii Stepanov) Pull request description: The `setParent(parent)` internally calls `QCoreApplication::sendEvent(parent, QChildEvent)` that implies running in the thread which created the parent object. That is not the case always, and an internal assertion fails in the debug mode. Steps to reproduce this issue on master (007e15d) on Linux Mint 20 (x86_64): ``` $ make -C depends DEBUG=1 $ CONFIG_SITE=$PWD/depends/x86_64-pc-linux-gnu/share/config.site ./configure $ make $ QT_FATAL_WARNINGS=1 lldb src/qt/bitcoin-qt -- --regtest -debug=qt (lldb) target create "src/qt/bitcoin-qt" Current executable set to '/home/hebasto/GitHub/bitcoin/src/qt/bitcoin-qt' (x86_64). (lldb) settings set -- target.run-args "--regtest" "-debug=qt" (lldb) run Process 431562 launched: '/home/hebasto/GitHub/bitcoin/src/qt/bitcoin-qt' (x86_64) # load wallet via GUI Process 431562 stopped * thread #24, name = 'QThread', stop reason = signal SIGABRT frame #0: 0x00007ffff794518b libc.so.6`__GI_raise(sig=2) at raise.c:51:1 (lldb) bt * thread #24, name = 'QThread', stop reason = signal SIGABRT * frame #0: 0x00007ffff794518b libc.so.6`__GI_raise(sig=2) at raise.c:51:1 frame #1: 0x00007ffff7924859 libc.so.6`__GI_abort at abort.c:79:7 frame #2: 0x0000555556508ec4 bitcoin-qt`::qt_message_fatal((null)=<unavailable>, context=<unavailable>, message=<unavailable>) at qlogging.cpp:1690:15 frame #3: 0x00005555565099cf bitcoin-qt`QMessageLogger::fatal(this=<unavailable>, msg=<unavailable>) const at qlogging.cpp:796:21 frame #4: 0x000055555650479d bitcoin-qt`qt_assert_x(where=<unavailable>, what=<unavailable>, file=<unavailable>, line=<unavailable>) at qglobal.cpp:3088:46 frame #5: 0x0000555556685733 bitcoin-qt`QCoreApplicationPrivate::checkReceiverThread(receiver=0x0000555557b27510) at qcoreapplication.cpp:557:5 frame #6: 0x00005555567ced86 bitcoin-qt`QApplication::notify(this=0x00007fffffffd4a0, receiver=0x0000555557b27510, e=0x00007fff9a7f8ce0) at qapplication.cpp:2956:27 frame #7: 0x0000555556685d31 bitcoin-qt`QCoreApplication::notifyInternal2(receiver=0x0000555557b27510, event=0x00007fff9a7f8ce0) at qcoreapplication.cpp:1024:24 frame #8: 0x00005555566c9224 bitcoin-qt`QObjectPrivate::setParent_helper(QObject*) [inlined] QCoreApplication::sendEvent(event=<unavailable>, receiver=<unavailable>) at qcoreapplication.h:233:59 frame #9: 0x00005555566c9210 bitcoin-qt`QObjectPrivate::setParent_helper(this=0x00007fff85855260, o=0x0000555557b27510) at qobject.cpp:2036 frame #10: 0x00005555566c9b41 bitcoin-qt`QObject::setParent(this=<unavailable>, parent=<unavailable>) at qobject.cpp:1980:24 frame #11: 0x0000555555710be8 bitcoin-qt`WalletController::getOrCreateWallet(std::unique_ptr<interfaces::Wallet, std::default_delete<interfaces::Wallet> >) + 2534 ... ``` Fixes #18835. ACKs for top commit: ryanofsky: Code review ACK 8963b2c. No changes since last review, just rebase because of conflict on some adjacent lines jonasschnelli: utACK 8963b2c Tree-SHA512: fef615904168717df3d8a0bd85eccc3eef990cc3e66c9fa280c8ef08ea009a7cb5a2a4f868ed0be3c0fe5bf683e8465850b5958deb896fdadd22d296186c9586
Support for Tor addresses
fa1fdeb fuzz: Ensure prevout is consensus-valid (MarcoFalke) Pull request description: It shouldn't be possible to create consensus-invalid prevouts, so there is no need to fuzz them. To reproduce: ``` $ echo 'AAAAAAEAAAAAAQF0Rw0SGsrit4+YZSEfpcQT/o+bJbjgVjATUHqrCfRE+QsBAAAXFgAUlsvXHgGV ZxF3QXxitwe1tIOYdLj2NePHATl9CgAAAAAAGXapFOFHg1yqRFl7soeowwpIEOoe9G1NiKwCRzBE AiAx6F2Q008gvJnok6JiyOn7lPqCJJmDiI2omRNXT1Q7XAIgCQP6WJizAqhnvImpQqYMJkqePGvx Jy/pGRMy1iNL0ecDIQJr4tWomVTBfjpyMFMOD9aDAR5gkByOIYiaQOv8P/sRztP3pS8RDAAAEUUE NQBwYAAAAAC5F6kUTLIzj/lKP2Hmpwyzukns2eweRkOH' | base64 --decode > /tmp/a $ FUZZ=script_flags ./src/test/fuzz/fuzz /tmp/a INFO: Running with entropic power schedule (0xFF, 100). INFO: Seed: 59714236 INFO: Loaded 1 modules (212532 inline 8-bit counters): 212532 [0x55987fb3f668, 0x55987fb7349c), INFO: Loaded 1 PC tables (212532 PCs): 212532 [0x55987fb734a0,0x55987feb17e0), ./src/test/fuzz/fuzz: Running 1 inputs 1 time(s) each. Running: /tmp/a fuzz: script/interpreter.cpp:1495: bool HandleMissingData(MissingDataBehavior): Assertion `!"Missing data"' failed. ==520092== ERROR: libFuzzer: deadly signal #0 0x55987f111180 in __sanitizer_print_stack_trace (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x5ea180) #1 0x55987f0ba828 in fuzzer::PrintStackTrace() fuzzer.o #2 0x55987f09de43 in fuzzer::Fuzzer::CrashCallback() fuzzer.o #3 0x7fd003d563bf (/lib/x86_64-linux-gnu/libpthread.so.0+0x153bf) #4 0x7fd00399a18a in raise (/lib/x86_64-linux-gnu/libc.so.6+0x4618a) #5 0x7fd003979858 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x25858) #6 0x7fd003979728 (/lib/x86_64-linux-gnu/libc.so.6+0x25728) #7 0x7fd00398af35 in __assert_fail (/lib/x86_64-linux-gnu/libc.so.6+0x36f35) #8 0x55987f8ce194 in HandleMissingData(MissingDataBehavior) /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:1495:9 #9 0x55987f8ce194 in GenericTransactionSignatureChecker<CTransaction>::CheckECDSASignature(std::vector<unsigned char, std::allocator<unsigned char> > const&, std::vector<unsigned char, std::allocator<unsigned char> > const&, CScript const&, SigVersion) const /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:1685:68 #10 0x55987f8cbbc8 in EvalChecksigPreTapscript(std::vector<unsigned char, std::allocator<unsigned char> > const&, std::vector<unsigned char, std::allocator<unsigned char> > const&, prevector<28u, unsigned char, unsigned int, int>::const_iterator, prevector<28u, unsigned char, unsigned int, int>::const_iterator, unsigned int, BaseSignatureChecker const&, SigVersion, ScriptError_t*, bool&) /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:363:24 #11 0x55987f8cbbc8 in EvalChecksig(std::vector<unsigned char, std::allocator<unsigned char> > const&, std::vector<unsigned char, std::allocator<unsigned char> > const&, prevector<28u, unsigned char, unsigned int, int>::const_iterator, prevector<28u, unsigned char, unsigned int, int>::const_iterator, ScriptExecutionData&, unsigned int, BaseSignatureChecker const&, SigVersion, ScriptError_t*, bool&) /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:421:16 #12 0x55987f8c5a01 in EvalScript(std::vector<std::vector<unsigned char, std::allocator<unsigned char> >, std::allocator<std::vector<unsigned char, std::allocator<unsigned char> > > >&, CScript const&, unsigned int, BaseSignatureChecker const&, SigVersion, ScriptExecutionData&, ScriptError_t*) /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:1094:26 #13 0x55987f8d6d6e in ExecuteWitnessScript(Span<std::vector<unsigned char, std::allocator<unsigned char> > const> const&, CScript const&, unsigned int, SigVersion, BaseSignatureChecker const&, ScriptExecutionData&, ScriptError_t*) /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:1843:10 #14 0x55987f8d48fc in VerifyWitnessProgram(CScriptWitness const&, int, std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, BaseSignatureChecker const&, ScriptError_t*, bool) /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:1904:20 #15 0x55987f8d3d8b in VerifyScript(CScript const&, CScript const&, CScriptWitness const*, unsigned int, BaseSignatureChecker const&, ScriptError_t*) /root/fuzz_dir/scratch/fuzz_gen/code/src/script/interpreter.cpp:2045:22 #16 0x55987f201d47 in script_flags_fuzz_target(Span<unsigned char const>) /root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/script_flags.cpp:54:30 #17 0x55987f11447f in std::_Function_handler<void (Span<unsigned char const>), void (*)(Span<unsigned char const>)>::_M_invoke(std::_Any_data const&, Span<unsigned char const>&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:300:2 #18 0x55987f8aed17 in std::function<void (Span<unsigned char const>)>::operator()(Span<unsigned char const>) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 #19 0x55987f8aed17 in LLVMFuzzerTestOneInput /root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz.cpp:63:5 #20 0x55987f09f5e3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) fuzzer.o #21 0x55987f0894e2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) fuzzer.o #22 0x55987f08f2da in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) fuzzer.o #23 0x55987f0bb002 in main (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x594002) #24 0x7fd00397b0b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) #25 0x55987f06420d in _start (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x53d20d) NOTE: libFuzzer has rudimentary signal handlers. Combine libFuzzer with AddressSanitizer or similar for better crash reports. SUMMARY: libFuzzer: deadly signal ACKs for top commit: practicalswift: Tested ACK fa1fdeb Tree-SHA512: 6130ed9ab6d8eeab901f64a1c069300e67d0b6009c42763262fe6edeab8192e088c1a3c1f61aee900b9ebbc48fbf6e837b41704bad592ec526398355766e208a
fa2e614 test: Fix off-by-one in mockscheduler test RPC (MarcoFalke) Pull request description: Fixes: ``` fuzz: scheduler.cpp:83: void CScheduler::MockForward(std::chrono::seconds): Assertion `delta_seconds.count() > 0 && delta_seconds < std::chrono::hours{1}' failed. ==1059066== ERROR: libFuzzer: deadly signal #0 0x558f75449c10 in __sanitizer_print_stack_trace (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x5fec10) #1 0x558f753f32b8 in fuzzer::PrintStackTrace() fuzzer.o #2 0x558f753d68d3 in fuzzer::Fuzzer::CrashCallback() fuzzer.o #3 0x7f4a3cbbb3bf (/lib/x86_64-linux-gnu/libpthread.so.0+0x153bf) #4 0x7f4a3c7ff18a in raise (/lib/x86_64-linux-gnu/libc.so.6+0x4618a) #5 0x7f4a3c7de858 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x25858) #6 0x7f4a3c7de728 (/lib/x86_64-linux-gnu/libc.so.6+0x25728) #7 0x7f4a3c7eff35 in __assert_fail (/lib/x86_64-linux-gnu/libc.so.6+0x36f35) #8 0x558f7588a913 in CScheduler::MockForward(std::chrono::duration<long, std::ratio<1l, 1l> >) scheduler.cpp:83:5 #9 0x558f75b0e5b1 in mockscheduler()::$_7::operator()(RPCHelpMan const&, JSONRPCRequest const&) const rpc/misc.cpp:435:30 #10 0x558f75b0e5b1 in std::_Function_handler<UniValue (RPCHelpMan const&, JSONRPCRequest const&), mockscheduler()::$_7>::_M_invoke(std::_Any_data const&, RPCHelpMan const&, JSONRPCRequest const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:285:9 #11 0x558f7587a141 in std::function<UniValue (RPCHelpMan const&, JSONRPCRequest const&)>::operator()(RPCHelpMan const&, JSONRPCRequest const&) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 #12 0x558f7587a141 in RPCHelpMan::HandleRequest(JSONRPCRequest const&) const rpc/util.cpp:565:26 #13 0x558f756c0086 in CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)::operator()(JSONRPCRequest const&, UniValue&, bool) const ./rpc/server.h:110:91 #14 0x558f756c0086 in std::_Function_handler<bool (JSONRPCRequest const&, UniValue&, bool), CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)>::_M_invoke(std::_Any_data const&, JSONRPCRequest const&, UniValue&, bool&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:285:9 #15 0x558f756b8592 in std::function<bool (JSONRPCRequest const&, UniValue&, bool)>::operator()(JSONRPCRequest const&, UniValue&, bool) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 #16 0x558f756b8592 in ExecuteCommand(CRPCCommand const&, JSONRPCRequest const&, UniValue&, bool) rpc/server.cpp:480:20 #17 0x558f756b8592 in ExecuteCommands(std::vector<CRPCCommand const*, std::allocator<CRPCCommand const*> > const&, JSONRPCRequest const&, UniValue&) rpc/server.cpp:444:13 #18 0x558f756b8017 in CRPCTable::execute(JSONRPCRequest const&) const rpc/server.cpp:464:13 #19 0x558f7552457a in (anonymous namespace)::RPCFuzzTestingSetup::CallRPC(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) test/fuzz/rpc.cpp:50:25 #20 0x558f7552457a in rpc_fuzz_target(Span<unsigned char const>) test/fuzz/rpc.cpp:354:28 #21 0x558f7544cf0f in std::_Function_handler<void (Span<unsigned char const>), void (*)(Span<unsigned char const>)>::_M_invoke(std::_Any_data const&, Span<unsigned char const>&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:300:2 #22 0x558f75c05197 in std::function<void (Span<unsigned char const>)>::operator()(Span<unsigned char const>) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 #23 0x558f75c05197 in LLVMFuzzerTestOneInput test/fuzz/fuzz.cpp:74:5 #24 0x558f753d8073 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) fuzzer.o #25 0x558f753c1f72 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) fuzzer.o #26 0x558f753c7d6a in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) fuzzer.o #27 0x558f753f3a92 in main (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x5a8a92) #28 0x7f4a3c7e00b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) #29 0x558f7539cc9d in _start (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x551c9d) ACKs for top commit: practicalswift: cr ACK fa2e614 Tree-SHA512: cfa120265261f0ad019b46c426b915c1c007806b37aecb27016ce780a0ddea5e6fc9b09065fd40684b11183dcd3bf543558d7a655e604695021653540266baf7
Made changes to cli API's that suits to bet
* Update ch01.asciidoc Updated the merchant example and put it into the right place. Thanks @RicardoM17 for your contributions! I've replaced the names, as I think the Alice / Bob notation brings some baggage with it that we probably don't need. (Or if we do want to use it, we should re-apply the names in correct order at the end of the writing process.) * Update ch01.asciidoc Corrected Typo in customers * removed the client side demanding fixed / low fees
Adds a "details" array to gettransaction output. e.g.
{
"amount" : 0.00000000,
"fee" : 0.00000000,
"confirmations" : 609,
"txid" : "b593920033b905c0e7c1d82d5b3e15a114841fa916719e968add3212e07c73a0",
"time" : 1294342907,
"details" : [
{
"account" : "Test2",
"address" : "mtQArCTnZHGsPf89jus6khxriYsJbU673P",
"category" : "send",
"amount" : -11.00000000,
"fee" : 0.00000000
},
{
"account" : "Test1",
"address" : "mtQArCTnZHGsPf89jus6khxriYsJbU673P",
"category" : "receive",
"amount" : 11.00000000
}
]
}