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

Gettransaction #24

Merged
1 commit merged into from
Jan 18, 2011
Merged

Gettransaction #24

1 commit merged into from
Jan 18, 2011

Conversation

gavinandresen
Copy link
Contributor

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
}
]
}

@mikegogulski
Copy link

Hooray!

laanwj added a commit to laanwj/bitcoin that referenced this pull request Sep 28, 2011
coblee referenced this pull request in litecoin-project/litecoin Jul 17, 2012
@orweinberger
Copy link

@gavinandresen @laanwj The gettransaction call does not return the 'fee' attribute for some reason.

I'm using version 0.8.6-1.el6 and I'm getting the following output for a transaction that was sent with a fee:

{
    "amount" : 0.00100000,
    "confirmations" : 92,
    "blockhash" : "0000000000000000977e56d6c0997d54b1b83c4e5bde4b5fccbe2098b4db4e00",
    "blockindex" : 307,
    "blocktime" : 1389053730,
    "txid" : "883e4841ef28d32f26129a9cdad3d2e13e0147707f3aa8b751b8351a38511705",
    "time" : 1389051738,
    "timereceived" : 1389051738,
    "details" : [
        {
            "account" : "52cb3f4469a80",
            "address" : "1KF6CMVjkS2bdkpx8HCHCTUpkensU6dybj",
            "category" : "receive",
            "amount" : 0.00100000
        }
    ]
}

@laanwj
Copy link
Member

laanwj commented Jan 7, 2014

@orweinberger it only adds a fee attribute if the transaction is from you (sent)
see https://github.com/bitcoin/bitcoin/blob/master/src/rpcwallet.cpp#L1471

@orweinberger
Copy link

@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?

@laanwj
Copy link
Member

laanwj commented Jan 7, 2014

No idea... maybe you can remove the check and it will work for received transactions too, I'm not sure.

@sipa
Copy link
Member

sipa commented Jan 7, 2014

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.

justmoon pushed a commit to justmoon/bitcoin that referenced this pull request Apr 7, 2014
…ster two instances of the same RPC function with different names.

Updated "extrawallet" to reflect this change.
This commit fixes bitcoin#24
@rebroad rebroad mentioned this pull request Sep 11, 2014
Closed
rdponticelli pushed a commit to Criptomonedas/bitcoin that referenced this pull request Nov 26, 2014
9037707 Rewrite 5x52 normalize method to be faster (Peter Dettman)
dexX7 pushed a commit to dexX7/bitcoin that referenced this pull request Apr 26, 2015
…ndling

Logging: fix reuse of fReopenDebugLog flag
sdaftuar added a commit to sdaftuar/bitcoin that referenced this pull request May 14, 2015
jtimon pushed a commit to jtimon/bitcoin that referenced this pull request Jun 23, 2015
TheBlueMatt pushed a commit to TheBlueMatt/bitcoin that referenced this pull request Oct 20, 2015
Fix key import while running withdrawwatch
ptschip pushed a commit to ptschip/bitcoin that referenced this pull request Mar 11, 2016
Do not purge orphans on peer disconnect
danjurious pushed a commit to danjurious/bitcoin that referenced this pull request Jul 25, 2016
wallet-utility: extract addresses and private keys
maflcko referenced this pull request in maflcko/bitcoin-core Sep 25, 2016
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
ptschip pushed a commit to ptschip/bitcoin that referenced this pull request May 4, 2017
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
jameshilliard pushed a commit to jameshilliard/bitcoin that referenced this pull request Jun 25, 2017
…tors

change version to 1.14.1 for gitian
maflcko referenced this pull request in maflcko/bitcoin-core Sep 29, 2017
Rem unused vars and prefer prefix operator for non-primitive type
laanwj added a commit to laanwj/bitcoin that referenced this pull request Nov 30, 2017
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)
laanwj added a commit that referenced this pull request Nov 30, 2017
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
classesjack pushed a commit to classesjack/bitcoin that referenced this pull request Jan 2, 2018
nining pushed a commit to nining/bitcoin that referenced this pull request Jan 3, 2018
Change the description in bitcoin-qt.desktop
HashUnlimited referenced this pull request in chaincoin/chaincoin Mar 14, 2018
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)
KrzysiekJ pushed a commit to KrzysiekJ/bitcoin that referenced this pull request Mar 28, 2018
Block and transaction handling updates from Bitcoin Core 0.13.x
uhliksk pushed a commit to FxTC-Bata-development/Bataoshi that referenced this pull request May 1, 2019
uhliksk pushed a commit to fxtc/fxtc that referenced this pull request Jun 27, 2019
uhliksk pushed a commit to fxtc/fxtc that referenced this pull request Jun 27, 2019
uhliksk pushed a commit to fxtc/fxtc that referenced this pull request Jun 27, 2019
uhliksk pushed a commit to fxtc/fxtc that referenced this pull request Jun 27, 2019
uhliksk pushed a commit to fxtc/fxtc that referenced this pull request Jun 28, 2019
uhliksk pushed a commit to fxtc/fxtc that referenced this pull request Jun 28, 2019
fxtc pushed a commit to fxtc/fxtc that referenced this pull request Aug 6, 2019
uhliksk pushed a commit to fxtc/fxtc that referenced this pull request Aug 6, 2019
Warchant referenced this pull request in VeriBlock/vbk-ri-btc Dec 31, 2019
* 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)
mdfkbtc referenced this pull request in mdfkbtc/veles-mdfkbtc Feb 5, 2020
Losangelosgenetics pushed a commit to Losangelosgenetics/bitcoin that referenced this pull request Mar 12, 2020
Bushstar pushed a commit to Bushstar/omnicore that referenced this pull request Apr 8, 2020
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
maflcko pushed a commit that referenced this pull request Aug 28, 2020
…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
fanquake pushed a commit that referenced this pull request Nov 20, 2020
98fadc0909 Merge #24: Push bool into array correctly
5f03f1f39a Push bool into array correctly

git-subtree-dir: src/univalue
git-subtree-split: 98fadc090984fa7e070b6c41ccb514f69a371c85
fanquake pushed a commit to fanquake/bitcoin that referenced this pull request Nov 23, 2020
98fadc0909 Merge bitcoin#24: Push bool into array correctly
5f03f1f39a Push bool into array correctly

git-subtree-dir: src/univalue
git-subtree-split: 98fadc090984fa7e070b6c41ccb514f69a371c85
jonasschnelli added a commit that referenced this pull request Dec 2, 2020
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
rajarshimaitra pushed a commit to rajarshimaitra/bitcoin that referenced this pull request Mar 23, 2021
maflcko pushed a commit that referenced this pull request Apr 28, 2021
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
maflcko pushed a commit that referenced this pull request May 15, 2021
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
satindergrewal pushed a commit to chips-blockchain/chipschain that referenced this pull request Jun 22, 2021
Made changes to cli API's that suits to bet
rajarshimaitra pushed a commit to rajarshimaitra/bitcoin that referenced this pull request Aug 5, 2021
* 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
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Sep 8, 2021
This pull request was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants