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

rpc: Add "getburnreport" RPC function #2049

Merged
merged 2 commits into from
Mar 18, 2021

Conversation

cyrossignol
Copy link
Member

This adds an RPC function that aggregates the amounts of destroyed coins in confirmed transactions for reporting. It categorizes these amounts by contract type:

{
  "total": 3013.31027220,
  "voluntary": 259.78021420,
  "contracts": {
    "beacon": 1950.00000000,
    "message": 0.46905800,
    "poll": 201.02100000,
    "project": 21.00000000,
    "protocol": 2.00000000,
    "scraper": 4.00000000,
    "vote": 575.04000000
  }
}

@cyrossignol cyrossignol changed the title Add "getburnreport" RPC function rpc: Add "getburnreport" RPC function Mar 15, 2021
src/rpc/blockchain.cpp Outdated Show resolved Hide resolved
This adds an RPC function that aggregates the amounts of destroyed coins
in confirmed transactions for reporting. It categorizes these amounts by
contract type.
@div72
Copy link
Member

div72 commented Mar 18, 2021

@cyrossignol Could you also use IsUnspendable in main.cpp#L795 and qt/transactionrecord.cpp#L48,329?

@cyrossignol
Copy link
Member Author

cyrossignol commented Mar 18, 2021

@div72 These are all places where we want to look for OP_RETURN specifically.

  • main.cpp#L795: The contract protocol requires an explicit OP_RETURN output. We don't want to allow other types of unspendables to be used for the burn fee.
  • qt/transactionrecord.cpp#L48: This addresses an OP_RETURN-specific bug in old wallets.
  • qt/transactionrecord.cpp#329: This hides the OP_RETURN output in the GUI on the sending side of a transaction that contains a custom message to avoid an extra line item for the contract.

@jamescowens jamescowens merged commit 8ffa434 into gridcoin-community:development Mar 18, 2021
@cyrossignol cyrossignol deleted the burn-report branch March 20, 2021 03:43
jamescowens added a commit to jamescowens/Gridcoin-Research that referenced this pull request Apr 4, 2021
Added
 - doc: Invite users to donate to Gridcoin Foundation gridcoin-community#1997 (@smoe)
 - rpc: Add "getburnreport" RPC function gridcoin-community#2049 (@cyrossignol)
 - doc: Add undocumented "-showorphans" GUI option to help text gridcoin-community#2058 (@cyrossignol)
 - beacon: Cull beacon db memory (passivation) gridcoin-community#2069 (@jamescowens)
 - gui: Avoid refreshing GUI researcher status while out-of-sync gridcoin-community#2068 (@cyrossignol)
 - consensus: Reimplement checkpoint-based spam protection gridcoin-community#2084 (@cyrossignol)
 - consensus: Verify hardened checkpoints on start up gridcoin-community#2087 (@cyrossignol)

Changed
 - gui: Clarify overview page "stake" field gridcoin-community#2056 (@cyrossignol)
 - doc: Update Copyright headers gridcoin-community#2059 (@barton2526)
 - gui: Update Qt Linguist localization files gridcoin-community#2063 (@cyrossignol)
 - build: update dependencies gridcoin-community#2064 (@barton2526)
 - net: Reduce default connection limit back to 125 gridcoin-community#2066 (@cyrossignol)
 - build: openssl patch gridcoin-community#2074 (@barton2526)
 - translation: Translate /src/qt/locale/bitcoin_en.ts in pt_PT gridcoin-community#2083 (@DjMVeiga)
 - log: Adjust logging gridcoin-community#2076 (@jamescowens)
 - gui: Change scraper tab to Inconsolata monospace font gridcoin-community#2085 (@jamescowens)
 - researcher: Change beacon deferment fix to reference nActiveBeforeSB gridcoin-community#2092 (@jamescowens)

Removed
 - net: Clean up mandatory protocol version transition gridcoin-community#2080 (@cyrossignol)
 - refactor: Remove LessVerbose() function gridcoin-community#2089 (@cyrossignol)

Fixed
 - beacon: Fix a subtle error in renewal chain walker gridcoin-community#2054 (@jamescowens)
 - researcher: Fix "malformed CPID" status for some pool projects gridcoin-community#2052 (@cyrossignol)
 - lint: Misc Typos gridcoin-community#2060 (@barton2526)
 - lint: remove identified duplicate includes gridcoin-community#2061 (@barton2526)
 - gui: Fix splash screen block height progress gridcoin-community#2057 (@cyrossignol)
 - gui: Fix garbage placeholders in some tx notification localizations gridcoin-community#2070 (@cyrossignol)
 - build: Patch libzip to fix mingw compile regression for mingw 9.2+ gridcoin-community#2082 (@jamescowens)
 - gui: Fix shutdown response for failed core init gridcoin-community#2088 (@cyrossignol)
 - researcher: Fix deferment of beacon renewal in superblock window gridcoin-community#2090 (@cyrossignol)
 - gui: Fix typo in beacon status refresh gridcoin-community#2091 (@div72)
jamescowens added a commit to jamescowens/Gridcoin-Research that referenced this pull request Apr 4, 2021
Added
 - doc: Invite users to donate to Gridcoin Foundation gridcoin-community#1997 (@smoe)
 - rpc: Add "getburnreport" RPC function gridcoin-community#2049 (@cyrossignol)
 - gui: Add stats export reminder to beacon wizard auth page gridcoin-community#2050 (@cyrossignol)
 - doc: Add undocumented "-showorphans" GUI option to help text gridcoin-community#2058 (@cyrossignol)
 - beacon: Cull beacon db memory (passivation) gridcoin-community#2069 (@jamescowens)
 - gui: Avoid refreshing GUI researcher status while out-of-sync gridcoin-community#2068 (@cyrossignol)
 - consensus: Reimplement checkpoint-based spam protection gridcoin-community#2084 (@cyrossignol)
 - consensus: Verify hardened checkpoints on start up gridcoin-community#2087 (@cyrossignol)

Changed
 - test: autogenerate data headers gridcoin-community#2030 (@div72)
 - doc: Change copyright years to 2021 gridcoin-community#2042 (@caraka)
 - gui: Clarify overview page "stake" field gridcoin-community#2056 (@cyrossignol)
 - doc: Update Copyright headers gridcoin-community#2059 (@barton2526)
 - gui: Update Qt Linguist localization files gridcoin-community#2063 (@cyrossignol)
 - build: update dependencies gridcoin-community#2064 (@barton2526)
 - net: Reduce default connection limit back to 125 gridcoin-community#2066 (@cyrossignol)
 - build: openssl patch gridcoin-community#2074 (@barton2526)
 - translation: Translate /src/qt/locale/bitcoin_en.ts in pt_PT gridcoin-community#2083 (@DjMVeiga)
 - log: Adjust logging gridcoin-community#2076 (@jamescowens)
 - gui: Change scraper tab to Inconsolata monospace font gridcoin-community#2085 (@jamescowens)
 - researcher: Change beacon deferment fix to reference nActiveBeforeSB gridcoin-community#2092 (@jamescowens)

Removed
 - net: Clean up mandatory protocol version transition gridcoin-community#2080 (@cyrossignol)
 - refactor: Remove LessVerbose() function gridcoin-community#2089 (@cyrossignol)

Fixed
 - build: Fix depends cross-compilation for macOS gridcoin-community#2038 (@cyrossignol)
 - build: Deal with Qt depends .qmake.stash file gridcoin-community#2048 (@cyrossignol)
 - beacon: Fix a subtle error in renewal chain walker gridcoin-community#2054 (@jamescowens)
 - researcher: Fix "malformed CPID" status for some pool projects gridcoin-community#2052 (@cyrossignol)
 - lint: Misc Typos gridcoin-community#2060 (@barton2526)
 - lint: remove identified duplicate includes gridcoin-community#2061 (@barton2526)
 - gui: Fix splash screen block height progress gridcoin-community#2057 (@cyrossignol)
 - gui: Fix garbage placeholders in some tx notification localizations gridcoin-community#2070 (@cyrossignol)
 - build: Patch libzip to fix mingw compile regression for mingw 9.2+ gridcoin-community#2082 (@jamescowens)
 - gui: Fix shutdown response for failed core init gridcoin-community#2088 (@cyrossignol)
 - researcher: Fix deferment of beacon renewal in superblock window gridcoin-community#2090 (@cyrossignol)
 - gui: Fix typo in beacon status refresh gridcoin-community#2091 (@div72)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants