2017-05-25 09:13:59 +00:00
/*
* Copyright ( c ) 2015 Cryptonomex , Inc . , and contributors .
*
* The MIT License
*
* Permission is hereby granted , free of charge , to any person obtaining a copy
* of this software and associated documentation files ( the " Software " ) , to deal
* in the Software without restriction , including without limitation the rights
* to use , copy , modify , merge , publish , distribute , sublicense , and / or sell
* copies of the Software , and to permit persons to whom the Software is
* furnished to do so , subject to the following conditions :
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software .
*
* THE SOFTWARE IS PROVIDED " AS IS " , WITHOUT WARRANTY OF ANY KIND , EXPRESS OR
* IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY ,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT . IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM , DAMAGES OR OTHER
* LIABILITY , WHETHER IN AN ACTION OF CONTRACT , TORT OR OTHERWISE , ARISING FROM ,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE .
*/
# include <boost/multiprecision/integer.hpp>
# include <fc/smart_ref_impl.hpp>
# include <fc/uint128.hpp>
# include <graphene/chain/database.hpp>
# include <graphene/chain/fba_accumulator_id.hpp>
# include <graphene/chain/hardfork.hpp>
# include <graphene/chain/is_authorized_asset.hpp>
# include <graphene/chain/account_object.hpp>
# include <graphene/chain/asset_object.hpp>
# include <graphene/chain/budget_record_object.hpp>
# include <graphene/chain/buyback_object.hpp>
# include <graphene/chain/chain_property_object.hpp>
# include <graphene/chain/committee_member_object.hpp>
# include <graphene/chain/fba_object.hpp>
# include <graphene/chain/global_property_object.hpp>
# include <graphene/chain/market_object.hpp>
# include <graphene/chain/special_authority_object.hpp>
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
# include <graphene/chain/son_object.hpp>
2017-05-25 09:13:59 +00:00
# include <graphene/chain/vesting_balance_object.hpp>
# include <graphene/chain/vote_count.hpp>
# include <graphene/chain/witness_object.hpp>
# include <graphene/chain/witness_schedule_object.hpp>
# include <graphene/chain/worker_object.hpp>
NFT Marketplace HRP Beatrice Merge (#371)
* private-key option update
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* ci: update .gitlab-ci.yml
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
* Beatrice NFT HF
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
2020-08-10 15:42:59 +00:00
# include <graphene/chain/custom_account_authority_object.hpp>
2017-05-25 09:13:59 +00:00
2019-07-30 15:43:31 +00:00
# define USE_VESTING_OBJECT_BY_ASSET_BALANCE_INDEX // vesting_balance_object by_asset_balance index needed
2017-05-25 09:13:59 +00:00
namespace graphene { namespace chain {
template < class Index >
vector < std : : reference_wrapper < const typename Index : : object_type > > database : : sort_votable_objects ( size_t count ) const
{
using ObjectType = typename Index : : object_type ;
const auto & all_objects = get_index_type < Index > ( ) . indices ( ) ;
count = std : : min ( count , all_objects . size ( ) ) ;
vector < std : : reference_wrapper < const ObjectType > > refs ;
refs . reserve ( all_objects . size ( ) ) ;
std : : transform ( all_objects . begin ( ) , all_objects . end ( ) ,
std : : back_inserter ( refs ) ,
[ ] ( const ObjectType & o ) { return std : : cref ( o ) ; } ) ;
std : : partial_sort ( refs . begin ( ) , refs . begin ( ) + count , refs . end ( ) ,
[ this ] ( const ObjectType & a , const ObjectType & b ) - > bool {
share_type oa_vote = _vote_tally_buffer [ a . vote_id ] ;
share_type ob_vote = _vote_tally_buffer [ b . vote_id ] ;
if ( oa_vote ! = ob_vote )
return oa_vote > ob_vote ;
return a . vote_id < b . vote_id ;
} ) ;
refs . resize ( count , refs . front ( ) ) ;
return refs ;
}
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
template < >
vector < std : : reference_wrapper < const son_object > > database : : sort_votable_objects < son_index > ( size_t count ) const
{
const auto & all_sons = get_index_type < son_index > ( ) . indices ( ) . get < by_id > ( ) ;
std : : vector < std : : reference_wrapper < const son_object > > refs ;
for ( auto & son : all_sons )
{
if ( son . has_valid_config ( ) & & son . status ! = son_status : : deregistered )
{
refs . push_back ( std : : cref ( son ) ) ;
}
}
count = std : : min ( count , refs . size ( ) ) ;
std : : partial_sort ( refs . begin ( ) , refs . begin ( ) + count , refs . end ( ) ,
[ this ] ( const son_object & a , const son_object & b ) - > bool {
share_type oa_vote = _vote_tally_buffer [ a . vote_id ] ;
share_type ob_vote = _vote_tally_buffer [ b . vote_id ] ;
if ( oa_vote ! = ob_vote )
return oa_vote > ob_vote ;
return a . vote_id < b . vote_id ;
} ) ;
refs . resize ( count , refs . front ( ) ) ;
return refs ;
}
2019-11-07 05:55:02 +00:00
template < class Type >
void database : : perform_account_maintenance ( Type tally_helper )
2017-05-25 09:13:59 +00:00
{
2019-11-07 05:55:02 +00:00
const auto & bal_idx = get_index_type < account_balance_index > ( ) . indices ( ) . get < by_maintenance_flag > ( ) ;
if ( bal_idx . begin ( ) ! = bal_idx . end ( ) )
{
auto bal_itr = bal_idx . rbegin ( ) ;
while ( bal_itr - > maintenance_flag )
{
const account_balance_object & bal_obj = * bal_itr ;
modify ( get_account_stats_by_owner ( bal_obj . owner ) , [ & bal_obj ] ( account_statistics_object & aso ) {
aso . core_in_balance = bal_obj . balance ;
} ) ;
modify ( bal_obj , [ ] ( account_balance_object & abo ) {
abo . maintenance_flag = false ;
} ) ;
bal_itr = bal_idx . rbegin ( ) ;
}
}
const auto & stats_idx = get_index_type < account_stats_index > ( ) . indices ( ) . get < by_maintenance_seq > ( ) ;
auto stats_itr = stats_idx . lower_bound ( true ) ;
while ( stats_itr ! = stats_idx . end ( ) )
{
const account_statistics_object & acc_stat = * stats_itr ;
const account_object & acc_obj = acc_stat . owner ( * this ) ;
+ + stats_itr ;
if ( acc_stat . has_some_core_voting ( ) )
tally_helper ( acc_obj , acc_stat ) ;
if ( acc_stat . has_pending_fees ( ) )
acc_stat . process_fees ( acc_obj , * this ) ;
}
2017-05-25 09:13:59 +00:00
}
/// @brief A visitor for @ref worker_type which calls pay_worker on the worker within
struct worker_pay_visitor
{
private :
share_type pay ;
database & db ;
public :
worker_pay_visitor ( share_type pay , database & db )
: pay ( pay ) , db ( db ) { }
typedef void result_type ;
template < typename W >
void operator ( ) ( W & worker ) const
{
worker . pay_worker ( pay , db ) ;
}
} ;
void database : : update_worker_votes ( )
{
auto & idx = get_index_type < worker_index > ( ) ;
auto itr = idx . indices ( ) . get < by_account > ( ) . begin ( ) ;
bool allow_negative_votes = ( head_block_time ( ) < HARDFORK_607_TIME ) ;
while ( itr ! = idx . indices ( ) . get < by_account > ( ) . end ( ) )
{
modify ( * itr , [ & ] ( worker_object & obj ) {
obj . total_votes_for = _vote_tally_buffer [ obj . vote_for ] ;
obj . total_votes_against = allow_negative_votes ? _vote_tally_buffer [ obj . vote_against ] : 0 ;
} ) ;
+ + itr ;
}
}
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
void database : : pay_sons ( )
{
auto get_weight = [ ] ( uint64_t total_votes ) {
int8_t bits_to_drop = std : : max ( int ( boost : : multiprecision : : detail : : find_msb ( total_votes ) ) - 15 , 0 ) ;
uint16_t weight = std : : max ( ( total_votes > > bits_to_drop ) , uint64_t ( 1 ) ) ;
return weight ;
} ;
time_point_sec now = head_block_time ( ) ;
const dynamic_global_property_object & dpo = get_dynamic_global_properties ( ) ;
// Current requirement is that we have to pay every 24 hours, so the following check
if ( dpo . son_budget . value > 0 & & ( ( now - dpo . last_son_payout_time ) > = fc : : seconds ( get_global_properties ( ) . parameters . son_pay_time ( ) ) ) ) {
uint64_t weighted_total_txs_signed = 0 ;
share_type son_budget = dpo . son_budget ;
get_index_type < son_stats_index > ( ) . inspect_all_objects ( [ this , & weighted_total_txs_signed , & get_weight ] ( const object & o ) {
const son_statistics_object & s = static_cast < const son_statistics_object & > ( o ) ;
const auto & idx = get_index_type < son_index > ( ) . indices ( ) . get < by_id > ( ) ;
auto son_obj = idx . find ( s . owner ) ;
auto son_weight = get_weight ( _vote_tally_buffer [ son_obj - > vote_id ] ) ;
weighted_total_txs_signed + = ( s . txs_signed * son_weight ) ;
} ) ;
// Now pay off each SON proportional to the number of transactions signed.
get_index_type < son_stats_index > ( ) . inspect_all_objects ( [ this , & weighted_total_txs_signed , & dpo , & son_budget , & get_weight ] ( const object & o ) {
const son_statistics_object & s = static_cast < const son_statistics_object & > ( o ) ;
if ( s . txs_signed > 0 ) {
auto son_params = get_global_properties ( ) . parameters ;
const auto & idx = get_index_type < son_index > ( ) . indices ( ) . get < by_id > ( ) ;
auto son_obj = idx . find ( s . owner ) ;
auto son_weight = get_weight ( _vote_tally_buffer [ son_obj - > vote_id ] ) ;
share_type pay = ( s . txs_signed * son_weight * son_budget . value ) / weighted_total_txs_signed ;
modify ( * son_obj , [ & ] ( son_object & _son_obj )
{
_son_obj . pay_son_fee ( pay , * this ) ;
} ) ;
//Remove the amount paid out to SON from global SON Budget
modify ( dpo , [ & ] ( dynamic_global_property_object & _dpo )
{
_dpo . son_budget - = pay ;
} ) ;
//Reset the tx counter in each son statistics object
modify ( s , [ & ] ( son_statistics_object & _s )
{
_s . total_txs_signed + = _s . txs_signed ;
_s . txs_signed = 0 ;
} ) ;
}
} ) ;
//Note the last son pay out time
modify ( dpo , [ & ] ( dynamic_global_property_object & _dpo )
{
_dpo . last_son_payout_time = now ;
} ) ;
}
}
void database : : update_son_metrics ( const vector < son_info > & curr_active_sons )
{
vector < son_id_type > current_sons ;
current_sons . reserve ( curr_active_sons . size ( ) ) ;
std : : transform ( curr_active_sons . begin ( ) , curr_active_sons . end ( ) ,
std : : inserter ( current_sons , current_sons . end ( ) ) ,
[ ] ( const son_info & swi ) {
return swi . son_id ;
} ) ;
const auto & son_idx = get_index_type < son_index > ( ) . indices ( ) . get < by_id > ( ) ;
for ( auto & son : son_idx )
{
auto & stats = son . statistics ( * this ) ;
bool is_active_son = ( std : : find ( current_sons . begin ( ) , current_sons . end ( ) , son . id ) ! = current_sons . end ( ) ) ;
modify ( stats , [ & ] ( son_statistics_object & _stats )
{
_stats . total_downtime + = _stats . current_interval_downtime ;
_stats . current_interval_downtime = 0 ;
if ( is_active_son )
{
_stats . total_voted_time = _stats . total_voted_time + get_global_properties ( ) . parameters . maintenance_interval ;
}
} ) ;
}
}
void database : : update_son_statuses ( const vector < son_info > & curr_active_sons , const vector < son_info > & new_active_sons )
{
vector < son_id_type > current_sons , new_sons ;
vector < son_id_type > sons_to_remove , sons_to_add ;
const auto & idx = get_index_type < son_index > ( ) . indices ( ) . get < by_id > ( ) ;
current_sons . reserve ( curr_active_sons . size ( ) ) ;
std : : transform ( curr_active_sons . begin ( ) , curr_active_sons . end ( ) ,
std : : inserter ( current_sons , current_sons . end ( ) ) ,
[ ] ( const son_info & swi ) {
return swi . son_id ;
} ) ;
new_sons . reserve ( new_active_sons . size ( ) ) ;
std : : transform ( new_active_sons . begin ( ) , new_active_sons . end ( ) ,
std : : inserter ( new_sons , new_sons . end ( ) ) ,
[ ] ( const son_info & swi ) {
return swi . son_id ;
} ) ;
// find all cur_active_sons members that is not in new_active_sons
for_each ( current_sons . begin ( ) , current_sons . end ( ) ,
[ & sons_to_remove , & new_sons ] ( const son_id_type & si )
{
if ( std : : find ( new_sons . begin ( ) , new_sons . end ( ) , si ) = =
new_sons . end ( ) )
{
sons_to_remove . push_back ( si ) ;
}
}
) ;
for ( const auto & sid : sons_to_remove )
{
auto son = idx . find ( sid ) ;
if ( son = = idx . end ( ) ) // SON is deleted already
continue ;
// keep maintenance status for nodes becoming inactive
if ( son - > status = = son_status : : active )
{
modify ( * son , [ & ] ( son_object & obj ) {
obj . status = son_status : : inactive ;
} ) ;
}
}
// find all new_active_sons members that is not in cur_active_sons
for_each ( new_sons . begin ( ) , new_sons . end ( ) ,
[ & sons_to_add , & current_sons ] ( const son_id_type & si )
{
if ( std : : find ( current_sons . begin ( ) , current_sons . end ( ) , si ) = =
current_sons . end ( ) )
{
sons_to_add . push_back ( si ) ;
}
}
) ;
for ( const auto & sid : sons_to_add )
{
auto son = idx . find ( sid ) ;
FC_ASSERT ( son ! = idx . end ( ) , " Invalid SON in active list, id={sonid}. " , ( " sonid " , sid ) ) ;
// keep maintenance status for new nodes
if ( son - > status = = son_status : : inactive )
{
modify ( * son , [ & ] ( son_object & obj ) {
obj . status = son_status : : active ;
} ) ;
}
}
ilog ( " New SONS " ) ;
for ( size_t i = 0 ; i < new_sons . size ( ) ; i + + ) {
auto son = idx . find ( new_sons [ i ] ) ;
if ( son = = idx . end ( ) ) // SON is deleted already
continue ;
ilog ( " ${s}, status = ${ss}, total_votes = ${sv} " , ( " s " , new_sons [ i ] ) ( " ss " , son - > status ) ( " sv " , son - > total_votes ) ) ;
}
if ( sons_to_remove . size ( ) > 0 )
{
remove_inactive_son_proposals ( sons_to_remove ) ;
}
}
void database : : update_son_wallet ( const vector < son_info > & new_active_sons )
{
bool should_recreate_pw = true ;
// Expire for current son_wallet_object wallet, if exists
const auto & idx_swi = get_index_type < son_wallet_index > ( ) . indices ( ) . get < by_id > ( ) ;
auto obj = idx_swi . rbegin ( ) ;
if ( obj ! = idx_swi . rend ( ) ) {
// Compare current wallet SONs and to-be lists of active sons
auto cur_wallet_sons = ( * obj ) . sons ;
bool wallet_son_sets_equal = ( cur_wallet_sons . size ( ) = = new_active_sons . size ( ) ) ;
if ( wallet_son_sets_equal ) {
for ( size_t i = 0 ; i < cur_wallet_sons . size ( ) ; i + + ) {
wallet_son_sets_equal = wallet_son_sets_equal & & cur_wallet_sons . at ( i ) = = new_active_sons . at ( i ) ;
}
}
should_recreate_pw = ! wallet_son_sets_equal ;
if ( should_recreate_pw ) {
modify ( * obj , [ & , obj ] ( son_wallet_object & swo ) {
swo . expires = head_block_time ( ) ;
} ) ;
}
}
should_recreate_pw = should_recreate_pw & & ( new_active_sons . size ( ) > = get_chain_properties ( ) . immutable_parameters . min_son_count ) ;
if ( should_recreate_pw ) {
// Create new son_wallet_object, to initiate wallet recreation
create < son_wallet_object > ( [ & ] ( son_wallet_object & obj ) {
obj . valid_from = head_block_time ( ) ;
obj . expires = time_point_sec : : maximum ( ) ;
obj . sons . insert ( obj . sons . end ( ) , new_active_sons . begin ( ) , new_active_sons . end ( ) ) ;
} ) ;
}
}
2017-05-25 09:13:59 +00:00
void database : : pay_workers ( share_type & budget )
{
2018-07-03 16:39:50 +00:00
const auto head_time = head_block_time ( ) ;
2017-05-25 09:13:59 +00:00
// ilog("Processing payroll! Available budget is ${b}", ("b", budget));
vector < std : : reference_wrapper < const worker_object > > active_workers ;
2018-07-03 16:39:50 +00:00
// TODO optimization: add by_expiration index to avoid iterating through all objects
get_index_type < worker_index > ( ) . inspect_all_objects ( [ head_time , & active_workers ] ( const object & o ) {
2017-05-25 09:13:59 +00:00
const worker_object & w = static_cast < const worker_object & > ( o ) ;
2018-07-03 16:39:50 +00:00
if ( w . is_active ( head_time ) & & w . approving_stake ( ) > 0 )
2017-05-25 09:13:59 +00:00
active_workers . emplace_back ( w ) ;
} ) ;
// worker with more votes is preferred
// if two workers exactly tie for votes, worker with lower ID is preferred
std : : sort ( active_workers . begin ( ) , active_workers . end ( ) , [ this ] ( const worker_object & wa , const worker_object & wb ) {
share_type wa_vote = wa . approving_stake ( ) ;
share_type wb_vote = wb . approving_stake ( ) ;
if ( wa_vote ! = wb_vote )
return wa_vote > wb_vote ;
return wa . id < wb . id ;
} ) ;
2018-07-03 16:39:50 +00:00
const auto last_budget_time = get_dynamic_global_properties ( ) . last_budget_time ;
const auto passed_time_ms = head_time - last_budget_time ;
const auto passed_time_count = passed_time_ms . count ( ) ;
const auto day_count = fc : : days ( 1 ) . count ( ) ;
2017-05-25 09:13:59 +00:00
for ( uint32_t i = 0 ; i < active_workers . size ( ) & & budget > 0 ; + + i )
{
const worker_object & active_worker = active_workers [ i ] ;
share_type requested_pay = active_worker . daily_pay ;
2018-07-26 09:25:54 +00:00
// Note: if there is a good chance that passed_time_count == day_count,
// for better performance, can avoid the 128 bit calculation by adding a check.
// Since it's not the case on BitShares mainnet, we're not using a check here.
fc : : uint128 pay ( requested_pay . value ) ;
pay * = passed_time_count ;
pay / = day_count ;
requested_pay = pay . to_uint64 ( ) ;
2017-05-25 09:13:59 +00:00
share_type actual_pay = std : : min ( budget , requested_pay ) ;
//ilog(" ==> Paying ${a} to worker ${w}", ("w", active_worker.id)("a", actual_pay));
modify ( active_worker , [ & ] ( worker_object & w ) {
w . worker . visit ( worker_pay_visitor ( actual_pay , * this ) ) ;
} ) ;
budget - = actual_pay ;
}
}
void database : : update_active_witnesses ( )
{ try {
assert ( _witness_count_histogram_buffer . size ( ) > 0 ) ;
share_type stake_target = ( _total_voting_stake - _witness_count_histogram_buffer [ 0 ] ) / 2 ;
/// accounts that vote for 0 or 1 witness do not get to express an opinion on
/// the number of witnesses to have (they abstain and are non-voting accounts)
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
share_type stake_tally = 0 ;
2017-05-25 09:13:59 +00:00
size_t witness_count = 0 ;
if ( stake_target > 0 )
{
while ( ( witness_count < _witness_count_histogram_buffer . size ( ) - 1 )
& & ( stake_tally < = stake_target ) )
{
stake_tally + = _witness_count_histogram_buffer [ + + witness_count ] ;
}
}
const chain_property_object & cpo = get_chain_properties ( ) ;
auto wits = sort_votable_objects < witness_index > ( std : : max ( witness_count * 2 + 1 , ( size_t ) cpo . immutable_parameters . min_witness_count ) ) ;
const global_property_object & gpo = get_global_properties ( ) ;
2019-10-10 15:59:01 +00:00
auto update_witness_total_votes = [ this ] ( const witness_object & wit ) {
modify ( wit , [ this ] ( witness_object & obj )
{
obj . total_votes = _vote_tally_buffer [ obj . vote_id ] ;
} ) ;
} ;
2017-05-25 09:13:59 +00:00
2019-10-10 15:59:01 +00:00
if ( _track_standby_votes )
2017-05-25 09:13:59 +00:00
{
2019-10-10 15:59:01 +00:00
const auto & all_witnesses = get_index_type < witness_index > ( ) . indices ( ) ;
for ( const witness_object & wit : all_witnesses )
{
update_witness_total_votes ( wit ) ;
}
}
else
{
for ( const witness_object & wit : wits )
{
update_witness_total_votes ( wit ) ;
}
2017-05-25 09:13:59 +00:00
}
// Update witness authority
modify ( get ( GRAPHENE_WITNESS_ACCOUNT ) , [ & ] ( account_object & a )
{
if ( head_block_time ( ) < HARDFORK_533_TIME )
{
uint64_t total_votes = 0 ;
map < account_id_type , uint64_t > weights ;
a . active . weight_threshold = 0 ;
a . active . clear ( ) ;
for ( const witness_object & wit : wits )
{
weights . emplace ( wit . witness_account , _vote_tally_buffer [ wit . vote_id ] ) ;
total_votes + = _vote_tally_buffer [ wit . vote_id ] ;
}
// total_votes is 64 bits. Subtract the number of leading low bits from 64 to get the number of useful bits,
// then I want to keep the most significant 16 bits of what's left.
int8_t bits_to_drop = std : : max ( int ( boost : : multiprecision : : detail : : find_msb ( total_votes ) ) - 15 , 0 ) ;
for ( const auto & weight : weights )
{
// Ensure that everyone has at least one vote. Zero weights aren't allowed.
uint16_t votes = std : : max ( ( weight . second > > bits_to_drop ) , uint64_t ( 1 ) ) ;
a . active . account_auths [ weight . first ] + = votes ;
a . active . weight_threshold + = votes ;
}
a . active . weight_threshold / = 2 ;
a . active . weight_threshold + = 1 ;
}
else
{
vote_counter vc ;
for ( const witness_object & wit : wits )
2019-07-30 15:43:31 +00:00
vc . add ( wit . witness_account , std : : max ( _vote_tally_buffer [ wit . vote_id ] , UINT64_C ( 1 ) ) ) ;
2017-05-25 09:13:59 +00:00
vc . finish ( a . active ) ;
}
} ) ;
modify ( gpo , [ & ] ( global_property_object & gp ) {
gp . active_witnesses . clear ( ) ;
gp . active_witnesses . reserve ( wits . size ( ) ) ;
std : : transform ( wits . begin ( ) , wits . end ( ) ,
std : : inserter ( gp . active_witnesses , gp . active_witnesses . end ( ) ) ,
[ ] ( const witness_object & w ) {
return w . id ;
} ) ;
} ) ;
const witness_schedule_object & wso = witness_schedule_id_type ( ) ( * this ) ;
modify ( wso , [ & ] ( witness_schedule_object & _wso )
{
_wso . scheduler . update ( gpo . active_witnesses ) ;
} ) ;
} FC_CAPTURE_AND_RETHROW ( ) }
void database : : update_active_committee_members ( )
{ try {
assert ( _committee_count_histogram_buffer . size ( ) > 0 ) ;
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
share_type stake_target = ( _total_voting_stake - _committee_count_histogram_buffer [ 0 ] ) / 2 ;
2017-05-25 09:13:59 +00:00
/// accounts that vote for 0 or 1 witness do not get to express an opinion on
/// the number of witnesses to have (they abstain and are non-voting accounts)
uint64_t stake_tally = 0 ; // _committee_count_histogram_buffer[0];
size_t committee_member_count = 0 ;
if ( stake_target > 0 )
while ( ( committee_member_count < _committee_count_histogram_buffer . size ( ) - 1 )
& & ( stake_tally < = stake_target ) )
stake_tally + = _committee_count_histogram_buffer [ + + committee_member_count ] ;
const chain_property_object & cpo = get_chain_properties ( ) ;
auto committee_members = sort_votable_objects < committee_member_index > ( std : : max ( committee_member_count * 2 + 1 , ( size_t ) cpo . immutable_parameters . min_committee_member_count ) ) ;
2019-10-10 15:59:01 +00:00
auto update_committee_member_total_votes = [ this ] ( const committee_member_object & cm ) {
modify ( cm , [ this ] ( committee_member_object & obj )
{
obj . total_votes = _vote_tally_buffer [ obj . vote_id ] ;
} ) ;
} ;
if ( _track_standby_votes )
2017-05-25 09:13:59 +00:00
{
2019-10-10 15:59:01 +00:00
const auto & all_committee_members = get_index_type < committee_member_index > ( ) . indices ( ) ;
for ( const committee_member_object & cm : all_committee_members )
{
update_committee_member_total_votes ( cm ) ;
}
2017-05-25 09:13:59 +00:00
}
2019-10-10 15:59:01 +00:00
else
{
for ( const committee_member_object & cm : committee_members )
{
update_committee_member_total_votes ( cm ) ;
}
}
2017-05-25 09:13:59 +00:00
// Update committee authorities
if ( ! committee_members . empty ( ) )
{
modify ( get ( GRAPHENE_COMMITTEE_ACCOUNT ) , [ & ] ( account_object & a )
{
if ( head_block_time ( ) < HARDFORK_533_TIME )
{
uint64_t total_votes = 0 ;
map < account_id_type , uint64_t > weights ;
a . active . weight_threshold = 0 ;
a . active . clear ( ) ;
for ( const committee_member_object & del : committee_members )
{
weights . emplace ( del . committee_member_account , _vote_tally_buffer [ del . vote_id ] ) ;
total_votes + = _vote_tally_buffer [ del . vote_id ] ;
}
// total_votes is 64 bits. Subtract the number of leading low bits from 64 to get the number of useful bits,
// then I want to keep the most significant 16 bits of what's left.
int8_t bits_to_drop = std : : max ( int ( boost : : multiprecision : : detail : : find_msb ( total_votes ) ) - 15 , 0 ) ;
for ( const auto & weight : weights )
{
// Ensure that everyone has at least one vote. Zero weights aren't allowed.
uint16_t votes = std : : max ( ( weight . second > > bits_to_drop ) , uint64_t ( 1 ) ) ;
a . active . account_auths [ weight . first ] + = votes ;
a . active . weight_threshold + = votes ;
}
a . active . weight_threshold / = 2 ;
a . active . weight_threshold + = 1 ;
}
else
{
vote_counter vc ;
for ( const committee_member_object & cm : committee_members )
2019-07-30 15:43:31 +00:00
vc . add ( cm . committee_member_account , std : : max ( _vote_tally_buffer [ cm . vote_id ] , UINT64_C ( 1 ) ) ) ;
2017-05-25 09:13:59 +00:00
vc . finish ( a . active ) ;
}
} ) ;
modify ( get ( GRAPHENE_RELAXED_COMMITTEE_ACCOUNT ) , [ & ] ( account_object & a ) {
a . active = get ( GRAPHENE_COMMITTEE_ACCOUNT ) . active ;
} ) ;
}
modify ( get_global_properties ( ) , [ & ] ( global_property_object & gp ) {
gp . active_committee_members . clear ( ) ;
std : : transform ( committee_members . begin ( ) , committee_members . end ( ) ,
std : : inserter ( gp . active_committee_members , gp . active_committee_members . begin ( ) ) ,
[ ] ( const committee_member_object & d ) { return d . id ; } ) ;
} ) ;
} FC_CAPTURE_AND_RETHROW ( ) }
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
void database : : update_active_sons ( )
{ try {
assert ( _son_count_histogram_buffer . size ( ) > 0 ) ;
share_type stake_target = ( _total_voting_stake - _son_count_histogram_buffer [ 0 ] ) / 2 ;
/// accounts that vote for 0 or 1 son do not get to express an opinion on
/// the number of sons to have (they abstain and are non-voting accounts)
share_type stake_tally = 0 ;
size_t son_count = 0 ;
if ( stake_target > 0 )
{
while ( ( son_count < _son_count_histogram_buffer . size ( ) - 1 )
& & ( stake_tally < = stake_target ) )
{
stake_tally + = _son_count_histogram_buffer [ + + son_count ] ;
}
}
const global_property_object & gpo = get_global_properties ( ) ;
const chain_parameters & cp = gpo . parameters ;
auto sons = sort_votable_objects < son_index > ( cp . maximum_son_count ) ;
const auto & all_sons = get_index_type < son_index > ( ) . indices ( ) ;
auto & local_vote_buffer_ref = _vote_tally_buffer ;
for ( const son_object & son : all_sons )
{
if ( son . status = = son_status : : request_maintenance )
{
auto & stats = son . statistics ( * this ) ;
modify ( stats , [ & ] ( son_statistics_object & _s ) {
_s . last_down_timestamp = head_block_time ( ) ;
} ) ;
}
modify ( son , [ local_vote_buffer_ref ] ( son_object & obj ) {
obj . total_votes = local_vote_buffer_ref [ obj . vote_id ] ;
if ( obj . status = = son_status : : request_maintenance )
obj . status = son_status : : in_maintenance ;
} ) ;
}
// Update SON authority
if ( gpo . parameters . son_account ( ) ! = GRAPHENE_NULL_ACCOUNT )
{
modify ( get ( gpo . parameters . son_account ( ) ) , [ & ] ( account_object & a )
{
if ( head_block_time ( ) < HARDFORK_533_TIME )
{
map < account_id_type , uint64_t > weights ;
a . active . weight_threshold = 0 ;
a . active . account_auths . clear ( ) ;
for ( const son_object & son : sons )
{
weights . emplace ( son . son_account , uint64_t ( 1 ) ) ;
}
for ( const auto & weight : weights )
{
// Ensure that everyone has at least one vote. Zero weights aren't allowed.
a . active . account_auths [ weight . first ] + = 1 ;
a . active . weight_threshold + = 1 ;
}
a . active . weight_threshold * = 2 ;
a . active . weight_threshold / = 3 ;
a . active . weight_threshold + = 1 ;
}
else
{
vote_counter vc ;
for ( const son_object & son : sons )
vc . add ( son . son_account , UINT64_C ( 1 ) ) ;
vc . finish_2_3 ( a . active ) ;
}
} ) ;
}
// Compare current and to-be lists of active sons
auto cur_active_sons = gpo . active_sons ;
vector < son_info > new_active_sons ;
const auto & acc = get ( gpo . parameters . son_account ( ) ) ;
for ( const son_object & son : sons ) {
son_info swi ;
swi . son_id = son . id ;
swi . weight = acc . active . account_auths . at ( son . son_account ) ;
swi . signing_key = son . signing_key ;
swi . sidechain_public_keys = son . sidechain_public_keys ;
new_active_sons . push_back ( swi ) ;
}
bool son_sets_equal = ( cur_active_sons . size ( ) = = new_active_sons . size ( ) ) ;
if ( son_sets_equal ) {
for ( size_t i = 0 ; i < cur_active_sons . size ( ) ; i + + ) {
son_sets_equal = son_sets_equal & & cur_active_sons . at ( i ) = = new_active_sons . at ( i ) ;
}
}
if ( son_sets_equal ) {
ilog ( " Active SONs set NOT CHANGED " ) ;
} else {
ilog ( " Active SONs set CHANGED " ) ;
update_son_wallet ( new_active_sons ) ;
update_son_statuses ( cur_active_sons , new_active_sons ) ;
}
// Update son performance metrics
update_son_metrics ( cur_active_sons ) ;
modify ( gpo , [ & ] ( global_property_object & gp ) {
gp . active_sons . clear ( ) ;
gp . active_sons . reserve ( new_active_sons . size ( ) ) ;
gp . active_sons . insert ( gp . active_sons . end ( ) , new_active_sons . begin ( ) , new_active_sons . end ( ) ) ;
} ) ;
const son_schedule_object & sso = son_schedule_id_type ( ) ( * this ) ;
modify ( sso , [ & ] ( son_schedule_object & _sso )
{
flat_set < son_id_type > active_sons ;
active_sons . reserve ( gpo . active_sons . size ( ) ) ;
std : : transform ( gpo . active_sons . begin ( ) , gpo . active_sons . end ( ) ,
std : : inserter ( active_sons , active_sons . end ( ) ) ,
[ ] ( const son_info & swi ) {
return swi . son_id ;
} ) ;
_sso . scheduler . update ( active_sons ) ;
// similar to witness, produce schedule for sons
if ( cur_active_sons . size ( ) = = 0 & & new_active_sons . size ( ) > 0 )
{
witness_scheduler_rng rng ( _sso . rng_seed . begin ( ) , GRAPHENE_NEAR_SCHEDULE_CTR_IV ) ;
for ( size_t i = 0 ; i < new_active_sons . size ( ) ; + + i )
_sso . scheduler . produce_schedule ( rng ) ;
}
} ) ;
} FC_CAPTURE_AND_RETHROW ( ) }
2017-05-25 09:13:59 +00:00
void database : : initialize_budget_record ( fc : : time_point_sec now , budget_record & rec ) const
{
const dynamic_global_property_object & dpo = get_dynamic_global_properties ( ) ;
2018-07-05 17:52:55 +00:00
const asset_object & core = get_core_asset ( ) ;
const asset_dynamic_data_object & core_dd = get_core_dynamic_data ( ) ;
2017-05-25 09:13:59 +00:00
rec . from_initial_reserve = core . reserved ( * this ) ;
rec . from_accumulated_fees = core_dd . accumulated_fees ;
rec . from_unused_witness_budget = dpo . witness_budget ;
if ( ( dpo . last_budget_time = = fc : : time_point_sec ( ) )
| | ( now < = dpo . last_budget_time ) )
{
rec . time_since_last_budget = 0 ;
return ;
}
int64_t dt = ( now - dpo . last_budget_time ) . to_seconds ( ) ;
rec . time_since_last_budget = uint64_t ( dt ) ;
// We'll consider accumulated_fees to be reserved at the BEGINNING
// of the maintenance interval. However, for speed we only
// call modify() on the asset_dynamic_data_object once at the
// end of the maintenance interval. Thus the accumulated_fees
// are available for the budget at this point, but not included
// in core.reserved().
share_type reserve = rec . from_initial_reserve + core_dd . accumulated_fees ;
// Similarly, we consider leftover witness_budget to be burned
// at the BEGINNING of the maintenance interval.
reserve + = dpo . witness_budget ;
fc : : uint128_t budget_u128 = reserve . value ;
budget_u128 * = uint64_t ( dt ) ;
budget_u128 * = GRAPHENE_CORE_ASSET_CYCLE_RATE ;
//round up to the nearest satoshi -- this is necessary to ensure
// there isn't an "untouchable" reserve, and we will eventually
// be able to use the entire reserve
budget_u128 + = ( ( uint64_t ( 1 ) < < GRAPHENE_CORE_ASSET_CYCLE_RATE_BITS ) - 1 ) ;
budget_u128 > > = GRAPHENE_CORE_ASSET_CYCLE_RATE_BITS ;
share_type budget ;
if ( budget_u128 < reserve . value )
rec . total_budget = share_type ( budget_u128 . to_uint64 ( ) ) ;
else
rec . total_budget = reserve ;
return ;
}
/**
* Update the budget for witnesses and workers .
*/
void database : : process_budget ( )
{
try
{
const global_property_object & gpo = get_global_properties ( ) ;
const dynamic_global_property_object & dpo = get_dynamic_global_properties ( ) ;
2018-07-05 17:52:55 +00:00
const asset_dynamic_data_object & core = get_core_dynamic_data ( ) ;
2017-05-25 09:13:59 +00:00
fc : : time_point_sec now = head_block_time ( ) ;
int64_t time_to_maint = ( dpo . next_maintenance_time - now ) . to_seconds ( ) ;
//
// The code that generates the next maintenance time should
// only produce a result in the future. If this assert
// fails, then the next maintenance time algorithm is buggy.
//
assert ( time_to_maint > 0 ) ;
//
// Code for setting chain parameters should validate
// block_interval > 0 (as well as the humans proposing /
// voting on changes to block interval).
//
assert ( gpo . parameters . block_interval > 0 ) ;
uint64_t blocks_to_maint = ( uint64_t ( time_to_maint ) + gpo . parameters . block_interval - 1 ) / gpo . parameters . block_interval ;
// blocks_to_maint > 0 because time_to_maint > 0,
// which means numerator is at least equal to block_interval
budget_record rec ;
initialize_budget_record ( now , rec ) ;
share_type available_funds = rec . total_budget ;
share_type witness_budget = gpo . parameters . witness_pay_per_block . value * blocks_to_maint ;
rec . requested_witness_budget = witness_budget ;
witness_budget = std : : min ( witness_budget , available_funds ) ;
rec . witness_budget = witness_budget ;
available_funds - = witness_budget ;
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
// We should not factor-in the son budget before SON HARDFORK
share_type son_budget = 0 ;
if ( now > = HARDFORK_SON_TIME ) {
rec . leftover_son_funds = dpo . son_budget ;
available_funds + = rec . leftover_son_funds ;
son_budget = gpo . parameters . son_pay_max ( ) ;
son_budget = std : : min ( son_budget , available_funds ) ;
rec . son_budget = son_budget ;
available_funds - = son_budget ;
}
2017-06-02 08:58:23 +00:00
fc : : uint128_t worker_budget_u128 = gpo . parameters . worker_budget_per_day . value ;
worker_budget_u128 * = uint64_t ( time_to_maint ) ;
worker_budget_u128 / = 60 * 60 * 24 ;
2017-05-25 09:13:59 +00:00
share_type worker_budget ;
if ( worker_budget_u128 > = available_funds . value )
worker_budget = available_funds ;
else
worker_budget = worker_budget_u128 . to_uint64 ( ) ;
rec . worker_budget = worker_budget ;
available_funds - = worker_budget ;
share_type leftover_worker_funds = worker_budget ;
pay_workers ( leftover_worker_funds ) ;
rec . leftover_worker_funds = leftover_worker_funds ;
available_funds + = leftover_worker_funds ;
rec . supply_delta = rec . witness_budget
+ rec . worker_budget
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
+ rec . son_budget
2017-05-25 09:13:59 +00:00
- rec . leftover_worker_funds
- rec . from_accumulated_fees
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
- rec . from_unused_witness_budget
- rec . leftover_son_funds ;
2017-05-25 09:13:59 +00:00
modify ( core , [ & ] ( asset_dynamic_data_object & _core )
{
_core . current_supply = ( _core . current_supply + rec . supply_delta ) ;
assert ( rec . supply_delta = =
witness_budget
+ worker_budget
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
+ son_budget
2017-05-25 09:13:59 +00:00
- leftover_worker_funds
- _core . accumulated_fees
- dpo . witness_budget
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
- dpo . son_budget
2017-05-25 09:13:59 +00:00
) ;
_core . accumulated_fees = 0 ;
} ) ;
modify ( dpo , [ & ] ( dynamic_global_property_object & _dpo )
{
// Since initial witness_budget was rolled into
// available_funds, we replace it with witness_budget
// instead of adding it.
_dpo . witness_budget = witness_budget ;
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
_dpo . son_budget = son_budget ;
2017-05-25 09:13:59 +00:00
_dpo . last_budget_time = now ;
} ) ;
create < budget_record_object > ( [ & ] ( budget_record_object & _rec )
{
_rec . time = head_block_time ( ) ;
_rec . record = rec ;
} ) ;
// available_funds is money we could spend, but don't want to.
// we simply let it evaporate back into the reserve.
}
FC_CAPTURE_AND_RETHROW ( )
}
template < typename Visitor >
void visit_special_authorities ( const database & db , Visitor visit )
{
const auto & sa_idx = db . get_index_type < special_authority_index > ( ) . indices ( ) . get < by_id > ( ) ;
for ( const special_authority_object & sao : sa_idx )
{
const account_object & acct = sao . account ( db ) ;
if ( acct . owner_special_authority . which ( ) ! = special_authority : : tag < no_special_authority > : : value )
{
visit ( acct , true , acct . owner_special_authority ) ;
}
if ( acct . active_special_authority . which ( ) ! = special_authority : : tag < no_special_authority > : : value )
{
visit ( acct , false , acct . active_special_authority ) ;
}
}
}
void update_top_n_authorities ( database & db )
{
visit_special_authorities ( db ,
[ & ] ( const account_object & acct , bool is_owner , const special_authority & auth )
{
if ( auth . which ( ) = = special_authority : : tag < top_holders_special_authority > : : value )
{
// use index to grab the top N holders of the asset and vote_counter to obtain the weights
const top_holders_special_authority & tha = auth . get < top_holders_special_authority > ( ) ;
vote_counter vc ;
const auto & bal_idx = db . get_index_type < account_balance_index > ( ) . indices ( ) . get < by_asset_balance > ( ) ;
uint8_t num_needed = tha . num_top_holders ;
if ( num_needed = = 0 )
return ;
// find accounts
const auto range = bal_idx . equal_range ( boost : : make_tuple ( tha . asset ) ) ;
for ( const account_balance_object & bal : boost : : make_iterator_range ( range . first , range . second ) )
{
assert ( bal . asset_type = = tha . asset ) ;
if ( bal . owner = = acct . id )
continue ;
vc . add ( bal . owner , bal . balance . value ) ;
- - num_needed ;
if ( num_needed = = 0 )
break ;
}
db . modify ( acct , [ & ] ( account_object & a )
{
vc . finish ( is_owner ? a . owner : a . active ) ;
if ( ! vc . is_empty ( ) )
a . top_n_control_flags | = ( is_owner ? account_object : : top_n_control_owner : account_object : : top_n_control_active ) ;
} ) ;
}
} ) ;
}
void split_fba_balance (
database & db ,
uint64_t fba_id ,
uint16_t network_pct ,
uint16_t designated_asset_buyback_pct ,
uint16_t designated_asset_issuer_pct
)
{
FC_ASSERT ( uint32_t ( network_pct ) + uint32_t ( designated_asset_buyback_pct ) + uint32_t ( designated_asset_issuer_pct ) = = GRAPHENE_100_PERCENT ) ;
const fba_accumulator_object & fba = fba_accumulator_id_type ( fba_id ) ( db ) ;
if ( fba . accumulated_fba_fees = = 0 )
return ;
2018-07-05 17:52:55 +00:00
const asset_dynamic_data_object & core_dd = db . get_core_dynamic_data ( ) ;
2017-05-25 09:13:59 +00:00
if ( ! fba . is_configured ( db ) )
{
ilog ( " ${n} core given to network at block ${b} due to non-configured FBA " , ( " n " , fba . accumulated_fba_fees ) ( " b " , db . head_block_time ( ) ) ) ;
db . modify ( core_dd , [ & ] ( asset_dynamic_data_object & _core_dd )
{
_core_dd . current_supply - = fba . accumulated_fba_fees ;
} ) ;
db . modify ( fba , [ & ] ( fba_accumulator_object & _fba )
{
_fba . accumulated_fba_fees = 0 ;
} ) ;
return ;
}
fc : : uint128_t buyback_amount_128 = fba . accumulated_fba_fees . value ;
buyback_amount_128 * = designated_asset_buyback_pct ;
buyback_amount_128 / = GRAPHENE_100_PERCENT ;
share_type buyback_amount = buyback_amount_128 . to_uint64 ( ) ;
fc : : uint128_t issuer_amount_128 = fba . accumulated_fba_fees . value ;
issuer_amount_128 * = designated_asset_issuer_pct ;
issuer_amount_128 / = GRAPHENE_100_PERCENT ;
share_type issuer_amount = issuer_amount_128 . to_uint64 ( ) ;
// this assert should never fail
FC_ASSERT ( buyback_amount + issuer_amount < = fba . accumulated_fba_fees ) ;
share_type network_amount = fba . accumulated_fba_fees - ( buyback_amount + issuer_amount ) ;
const asset_object & designated_asset = ( * fba . designated_asset ) ( db ) ;
if ( network_amount ! = 0 )
{
db . modify ( core_dd , [ & ] ( asset_dynamic_data_object & _core_dd )
{
_core_dd . current_supply - = network_amount ;
} ) ;
}
fba_distribute_operation vop ;
vop . account_id = * designated_asset . buyback_account ;
vop . fba_id = fba . id ;
vop . amount = buyback_amount ;
if ( vop . amount ! = 0 )
{
db . adjust_balance ( * designated_asset . buyback_account , asset ( buyback_amount ) ) ;
db . push_applied_operation ( vop ) ;
}
vop . account_id = designated_asset . issuer ;
vop . fba_id = fba . id ;
vop . amount = issuer_amount ;
if ( vop . amount ! = 0 )
{
db . adjust_balance ( designated_asset . issuer , asset ( issuer_amount ) ) ;
db . push_applied_operation ( vop ) ;
}
db . modify ( fba , [ & ] ( fba_accumulator_object & _fba )
{
_fba . accumulated_fba_fees = 0 ;
} ) ;
}
void distribute_fba_balances ( database & db )
{
split_fba_balance ( db , fba_accumulator_id_transfer_to_blind , 20 * GRAPHENE_1_PERCENT , 60 * GRAPHENE_1_PERCENT , 20 * GRAPHENE_1_PERCENT ) ;
split_fba_balance ( db , fba_accumulator_id_blind_transfer , 20 * GRAPHENE_1_PERCENT , 60 * GRAPHENE_1_PERCENT , 20 * GRAPHENE_1_PERCENT ) ;
split_fba_balance ( db , fba_accumulator_id_transfer_from_blind , 20 * GRAPHENE_1_PERCENT , 60 * GRAPHENE_1_PERCENT , 20 * GRAPHENE_1_PERCENT ) ;
}
void create_buyback_orders ( database & db )
{
const auto & bbo_idx = db . get_index_type < buyback_index > ( ) . indices ( ) . get < by_id > ( ) ;
2019-09-10 13:26:27 +00:00
const auto & bal_idx = db . get_index_type < primary_index < account_balance_index > > ( ) . get_secondary_index < balances_by_account_index > ( ) ;
2017-05-25 09:13:59 +00:00
for ( const buyback_object & bbo : bbo_idx )
{
const asset_object & asset_to_buy = bbo . asset_to_buy ( db ) ;
assert ( asset_to_buy . buyback_account . valid ( ) ) ;
const account_object & buyback_account = ( * ( asset_to_buy . buyback_account ) ) ( db ) ;
if ( ! buyback_account . allowed_assets . valid ( ) )
{
wlog ( " skipping buyback account ${b} at block ${n} because allowed_assets does not exist " , ( " b " , buyback_account ) ( " n " , db . head_block_num ( ) ) ) ;
continue ;
}
2019-09-10 13:26:27 +00:00
for ( const auto & entry : bal_idx . get_account_balances ( buyback_account . id ) )
2017-05-25 09:13:59 +00:00
{
2019-09-10 13:26:27 +00:00
const auto * it = entry . second ;
2017-05-25 09:13:59 +00:00
asset_id_type asset_to_sell = it - > asset_type ;
share_type amount_to_sell = it - > balance ;
if ( asset_to_sell = = asset_to_buy . id )
continue ;
if ( amount_to_sell = = 0 )
continue ;
if ( buyback_account . allowed_assets - > find ( asset_to_sell ) = = buyback_account . allowed_assets - > end ( ) )
{
wlog ( " buyback account ${b} not selling disallowed holdings of asset ${a} at block ${n} " , ( " b " , buyback_account ) ( " a " , asset_to_sell ) ( " n " , db . head_block_num ( ) ) ) ;
continue ;
}
try
{
transaction_evaluation_state buyback_context ( & db ) ;
buyback_context . skip_fee_schedule_check = true ;
limit_order_create_operation create_vop ;
create_vop . fee = asset ( 0 , asset_id_type ( ) ) ;
create_vop . seller = buyback_account . id ;
create_vop . amount_to_sell = asset ( amount_to_sell , asset_to_sell ) ;
create_vop . min_to_receive = asset ( 1 , asset_to_buy . id ) ;
create_vop . expiration = time_point_sec : : maximum ( ) ;
create_vop . fill_or_kill = false ;
limit_order_id_type order_id = db . apply_operation ( buyback_context , create_vop ) . get < object_id_type > ( ) ;
if ( db . find ( order_id ) ! = nullptr )
{
limit_order_cancel_operation cancel_vop ;
cancel_vop . fee = asset ( 0 , asset_id_type ( ) ) ;
cancel_vop . order = order_id ;
cancel_vop . fee_paying_account = buyback_account . id ;
db . apply_operation ( buyback_context , cancel_vop ) ;
}
}
catch ( const fc : : exception & e )
{
// we can in fact get here, e.g. if asset issuer of buy/sell asset blacklists/whitelists the buyback account
wlog ( " Skipping buyback processing selling ${as} for ${ab} for buyback account ${b} at block ${n}; exception was ${e} " ,
( " as " , asset_to_sell ) ( " ab " , asset_to_buy ) ( " b " , buyback_account ) ( " n " , db . head_block_num ( ) ) ( " e " , e . to_detail_string ( ) ) ) ;
continue ;
}
}
}
return ;
}
void deprecate_annual_members ( database & db )
{
const auto & account_idx = db . get_index_type < account_index > ( ) . indices ( ) . get < by_id > ( ) ;
fc : : time_point_sec now = db . head_block_time ( ) ;
for ( const account_object & acct : account_idx )
{
try
{
transaction_evaluation_state upgrade_context ( & db ) ;
upgrade_context . skip_fee_schedule_check = true ;
if ( acct . is_annual_member ( now ) )
{
account_upgrade_operation upgrade_vop ;
upgrade_vop . fee = asset ( 0 , asset_id_type ( ) ) ;
upgrade_vop . account_to_upgrade = acct . id ;
upgrade_vop . upgrade_to_lifetime_member = true ;
db . apply_operation ( upgrade_context , upgrade_vop ) ;
}
}
catch ( const fc : : exception & e )
{
// we can in fact get here, e.g. if asset issuer of buy/sell asset blacklists/whitelists the buyback account
wlog ( " Skipping annual member deprecate processing for account ${a} (${an}) at block ${n}; exception was ${e} " ,
( " a " , acct . id ) ( " an " , acct . name ) ( " n " , db . head_block_num ( ) ) ( " e " , e . to_detail_string ( ) ) ) ;
continue ;
}
}
return ;
}
2019-10-22 13:39:45 +00:00
uint32_t database : : get_gpos_current_subperiod ( )
2019-10-17 16:39:44 +00:00
{
2019-11-24 00:46:17 +00:00
if ( this - > head_block_time ( ) < HARDFORK_GPOS_TIME ) //Can be deleted after GPOS hardfork time
return 0 ;
2019-10-23 06:26:38 +00:00
fc : : time_point_sec last_date_voted ;
2019-10-17 16:39:44 +00:00
const auto & gpo = this - > get_global_properties ( ) ;
const auto vesting_period = gpo . parameters . gpos_period ( ) ;
const auto vesting_subperiod = gpo . parameters . gpos_subperiod ( ) ;
const auto period_start = fc : : time_point_sec ( gpo . parameters . gpos_period_start ( ) ) ;
// variables needed
const fc : : time_point_sec period_end = period_start + vesting_period ;
const auto number_of_subperiods = vesting_period / vesting_subperiod ;
const auto now = this - > head_block_time ( ) ;
auto seconds_since_period_start = now . sec_since_epoch ( ) - period_start . sec_since_epoch ( ) ;
// get in what sub period we are
uint32_t current_subperiod = 0 ;
std : : list < uint32_t > period_list ( number_of_subperiods ) ;
std : : iota ( period_list . begin ( ) , period_list . end ( ) , 1 ) ;
std : : for_each ( period_list . begin ( ) , period_list . end ( ) , [ & ] ( uint32_t period ) {
if ( seconds_since_period_start > = vesting_subperiod * ( period - 1 ) & &
seconds_since_period_start < vesting_subperiod * period )
current_subperiod = period ;
} ) ;
2019-10-22 13:39:45 +00:00
return current_subperiod ;
}
double database : : calculate_vesting_factor ( const account_object & stake_account )
{
2019-10-24 01:15:26 +00:00
fc : : time_point_sec last_date_voted ;
// get last time voted form account stats
// check last_vote_time of proxy voting account if proxy is set
if ( stake_account . options . voting_account = = GRAPHENE_PROXY_TO_SELF_ACCOUNT )
last_date_voted = stake_account . statistics ( * this ) . last_vote_time ;
else
last_date_voted = stake_account . options . voting_account ( * this ) . statistics ( * this ) . last_vote_time ;
2019-10-22 13:39:45 +00:00
// get global data related to gpos
const auto & gpo = this - > get_global_properties ( ) ;
const auto vesting_period = gpo . parameters . gpos_period ( ) ;
const auto vesting_subperiod = gpo . parameters . gpos_subperiod ( ) ;
const auto period_start = fc : : time_point_sec ( gpo . parameters . gpos_period_start ( ) ) ;
// variables needed
const auto number_of_subperiods = vesting_period / vesting_subperiod ;
double vesting_factor ;
// get in what sub period we are
uint32_t current_subperiod = get_gpos_current_subperiod ( ) ;
2019-10-17 16:39:44 +00:00
if ( current_subperiod = = 0 | | current_subperiod > number_of_subperiods ) return 0 ;
2019-10-27 15:54:54 +00:00
2019-10-28 13:46:10 +00:00
// On starting new vesting period, all votes become zero until someone votes, To avoid a situation of zero votes,
// changes were done to roll in GPOS rules, the vesting factor will be 1 for whoever votes in 6th sub-period of last vesting period
2019-10-27 15:54:54 +00:00
// BLOCKBACK-174 fix
if ( current_subperiod = = 1 & & this - > head_block_time ( ) > = HARDFORK_GPOS_TIME + vesting_period ) //Applicable only from 2nd vesting period
{
if ( last_date_voted > period_start - vesting_subperiod )
2019-10-28 15:14:53 +00:00
return 1 ;
2019-10-27 15:54:54 +00:00
}
2019-10-17 16:39:44 +00:00
if ( last_date_voted < period_start ) return 0 ;
double numerator = number_of_subperiods ;
if ( current_subperiod > 1 ) {
std : : list < uint32_t > subperiod_list ( current_subperiod - 1 ) ;
std : : iota ( subperiod_list . begin ( ) , subperiod_list . end ( ) , 2 ) ;
subperiod_list . reverse ( ) ;
for ( auto subperiod : subperiod_list )
{
numerator - - ;
auto last_period_start = period_start + fc : : seconds ( vesting_subperiod * ( subperiod - 1 ) ) ;
auto last_period_end = period_start + fc : : seconds ( vesting_subperiod * ( subperiod ) ) ;
if ( last_date_voted > last_period_start & & last_date_voted < = last_period_end ) {
numerator + + ;
break ;
}
}
}
vesting_factor = numerator / number_of_subperiods ;
return vesting_factor ;
}
share_type credit_account ( database & db , const account_id_type owner_id , const std : : string owner_name ,
share_type remaining_amount_to_distribute ,
const share_type shares_to_credit , const asset_id_type payout_asset_type ,
const pending_dividend_payout_balance_for_holder_object_index & pending_payout_balance_index ,
const asset_id_type dividend_id ) {
//wdump((delta_balance.value)(holder_balance)(total_balance_of_dividend_asset));
if ( shares_to_credit . value ) {
remaining_amount_to_distribute - = shares_to_credit ;
dlog ( " Crediting account ${account} with ${amount} " ,
( " account " , owner_name )
( " amount " , asset ( shares_to_credit , payout_asset_type ) ) ) ;
auto pending_payout_iter =
pending_payout_balance_index . indices ( ) . get < by_dividend_payout_account > ( ) . find (
boost : : make_tuple ( dividend_id , payout_asset_type ,
owner_id ) ) ;
if ( pending_payout_iter = =
pending_payout_balance_index . indices ( ) . get < by_dividend_payout_account > ( ) . end ( ) )
db . create < pending_dividend_payout_balance_for_holder_object > (
[ & ] ( pending_dividend_payout_balance_for_holder_object & obj ) {
obj . owner = owner_id ;
obj . dividend_holder_asset_type = dividend_id ;
obj . dividend_payout_asset_type = payout_asset_type ;
obj . pending_balance = shares_to_credit ;
} ) ;
else
db . modify ( * pending_payout_iter ,
[ & ] ( pending_dividend_payout_balance_for_holder_object & pending_balance ) {
pending_balance . pending_balance + = shares_to_credit ;
} ) ;
}
return remaining_amount_to_distribute ;
}
void rolling_period_start ( database & db )
{
if ( db . head_block_time ( ) > = HARDFORK_GPOS_TIME )
{
auto gpo = db . get_global_properties ( ) ;
auto period_start = db . get_global_properties ( ) . parameters . gpos_period_start ( ) ;
auto vesting_period = db . get_global_properties ( ) . parameters . gpos_period ( ) ;
auto now = db . head_block_time ( ) ;
2019-10-24 17:39:01 +00:00
if ( now . sec_since_epoch ( ) > = ( period_start + vesting_period ) )
2019-10-17 16:39:44 +00:00
{
// roll
NFT Marketplace HRP Beatrice Merge (#371)
* private-key option update
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* ci: update .gitlab-ci.yml
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
* Beatrice NFT HF
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
2020-08-10 15:42:59 +00:00
db . modify ( db . get_global_properties ( ) , [ period_start , vesting_period ] ( global_property_object & p ) {
p . parameters . extensions . value . gpos_period_start = period_start + vesting_period ;
2019-10-17 16:39:44 +00:00
} ) ;
}
}
}
NFT Marketplace HRP Beatrice Merge (#371)
* private-key option update
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* ci: update .gitlab-ci.yml
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
* Beatrice NFT HF
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
2020-08-10 15:42:59 +00:00
void clear_expired_custom_account_authorities ( database & db )
{
const auto & cindex = db . get_index_type < custom_account_authority_index > ( ) . indices ( ) . get < by_expiration > ( ) ;
while ( ! cindex . empty ( ) & & cindex . begin ( ) - > valid_to < db . head_block_time ( ) )
{
db . remove ( * cindex . begin ( ) ) ;
}
}
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
void clear_expired_account_roles ( database & db )
{
const auto & arindex = db . get_index_type < account_role_index > ( ) . indices ( ) . get < by_expiration > ( ) ;
while ( ! arindex . empty ( ) & & arindex . begin ( ) - > valid_to < db . head_block_time ( ) )
{
db . remove ( * arindex . begin ( ) ) ;
}
}
2017-05-25 09:13:59 +00:00
// Schedules payouts from a dividend distribution account to the current holders of the
// dividend-paying asset. This takes any deposits made to the dividend distribution account
// since the last time it was called, and distributes them to the current owners of the
// dividend-paying asset according to the amount they own.
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
void schedule_pending_dividend_balances ( database & db ,
2017-05-25 09:13:59 +00:00
const asset_object & dividend_holder_asset_obj ,
const asset_dividend_data_object & dividend_data ,
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
const fc : : time_point_sec & current_head_block_time ,
2017-05-25 09:13:59 +00:00
const account_balance_index & balance_index ,
const vesting_balance_index & vesting_index ,
const total_distributed_dividend_balance_object_index & distributed_dividend_balance_index ,
const pending_dividend_payout_balance_for_holder_object_index & pending_payout_balance_index )
2019-07-30 15:43:31 +00:00
{ try {
2017-05-25 09:13:59 +00:00
dlog ( " Processing dividend payments for dividend holder asset type ${holder_asset} at time ${t} " ,
( " holder_asset " , dividend_holder_asset_obj . symbol ) ( " t " , db . head_block_time ( ) ) ) ;
2019-09-10 13:26:27 +00:00
auto balance_by_acc_index = db . get_index_type < primary_index < account_balance_index > > ( ) . get_secondary_index < balances_by_account_index > ( ) ;
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
auto current_distribution_account_balance_range =
2019-09-10 13:26:27 +00:00
//balance_index.indices().get<by_account_asset>().equal_range(boost::make_tuple(dividend_data.dividend_distribution_account));
balance_by_acc_index . get_account_balances ( dividend_data . dividend_distribution_account ) ;
2017-05-25 09:13:59 +00:00
auto previous_distribution_account_balance_range =
distributed_dividend_balance_index . indices ( ) . get < by_dividend_payout_asset > ( ) . equal_range ( boost : : make_tuple ( dividend_holder_asset_obj . id ) ) ;
// the current range is now all current balances for the distribution account, sorted by asset_type
// the previous range is now all previous balances for this account, sorted by asset type
const auto & gpo = db . get_global_properties ( ) ;
// get the list of accounts that hold nonzero balances of the dividend asset
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
auto holder_balances_begin =
2017-05-25 09:13:59 +00:00
balance_index . indices ( ) . get < by_asset_balance > ( ) . lower_bound ( boost : : make_tuple ( dividend_holder_asset_obj . id ) ) ;
auto holder_balances_end =
balance_index . indices ( ) . get < by_asset_balance > ( ) . upper_bound ( boost : : make_tuple ( dividend_holder_asset_obj . id , share_type ( ) ) ) ;
uint64_t distribution_base_fee = gpo . parameters . current_fees - > get < asset_dividend_distribution_operation > ( ) . distribution_base_fee ;
uint32_t distribution_fee_per_holder = gpo . parameters . current_fees - > get < asset_dividend_distribution_operation > ( ) . distribution_fee_per_holder ;
std : : map < account_id_type , share_type > vesting_amounts ;
2019-10-17 16:39:44 +00:00
auto balance_type = vesting_balance_type : : normal ;
if ( db . head_block_time ( ) > = HARDFORK_GPOS_TIME )
balance_type = vesting_balance_type : : gpos ;
uint32_t holder_account_count = 0 ;
2019-07-30 15:43:31 +00:00
# ifdef USE_VESTING_OBJECT_BY_ASSET_BALANCE_INDEX
2017-05-25 09:13:59 +00:00
// get only once a collection of accounts that hold nonzero vesting balances of the dividend asset
auto vesting_balances_begin =
2019-10-17 16:39:44 +00:00
vesting_index . indices ( ) . get < by_asset_balance > ( ) . lower_bound ( boost : : make_tuple ( dividend_holder_asset_obj . id , balance_type ) ) ;
2017-05-25 09:13:59 +00:00
auto vesting_balances_end =
2019-10-17 16:39:44 +00:00
vesting_index . indices ( ) . get < by_asset_balance > ( ) . upper_bound ( boost : : make_tuple ( dividend_holder_asset_obj . id , balance_type , share_type ( ) ) ) ;
2017-05-25 09:13:59 +00:00
for ( const vesting_balance_object & vesting_balance_obj : boost : : make_iterator_range ( vesting_balances_begin , vesting_balances_end ) )
{
vesting_amounts [ vesting_balance_obj . owner ] + = vesting_balance_obj . balance . amount ;
2019-10-17 16:39:44 +00:00
+ + holder_account_count ;
dlog ( " Vesting balance for account: ${owner}, amount: ${amount} " ,
( " owner " , vesting_balance_obj . owner ( db ) . name )
( " amount " , vesting_balance_obj . balance . amount ) ) ;
2017-05-25 09:13:59 +00:00
}
2019-07-30 15:43:31 +00:00
# else
// get only once a collection of accounts that hold nonzero vesting balances of the dividend asset
const auto & vesting_balances = vesting_index . indices ( ) . get < by_id > ( ) ;
for ( const vesting_balance_object & vesting_balance_obj : vesting_balances )
{
2019-10-17 16:39:44 +00:00
if ( vesting_balance_obj . balance . asset_id = = dividend_holder_asset_obj . id & & vesting_balance_obj . balance . amount & &
vesting_balance_object . balance_type = = balance_type )
2019-07-30 15:43:31 +00:00
{
vesting_amounts [ vesting_balance_obj . owner ] + = vesting_balance_obj . balance . amount ;
2019-10-17 16:39:44 +00:00
+ + gpos_holder_account_count ;
2019-07-30 15:43:31 +00:00
dlog ( " Vesting balance for account: ${owner}, amount: ${amount} " ,
( " owner " , vesting_balance_obj . owner ( db ) . name )
( " amount " , vesting_balance_obj . balance . amount ) ) ;
}
}
# endif
2017-05-25 09:13:59 +00:00
2019-09-10 13:26:27 +00:00
auto current_distribution_account_balance_iter = current_distribution_account_balance_range . begin ( ) ;
2019-10-17 16:39:44 +00:00
if ( db . head_block_time ( ) < HARDFORK_GPOS_TIME )
holder_account_count = std : : distance ( holder_balances_begin , holder_balances_end ) ;
// the fee, in BTS, for distributing each asset in the account
uint64_t total_fee_per_asset_in_core = distribution_base_fee + holder_account_count * ( uint64_t ) distribution_fee_per_holder ;
//auto current_distribution_account_balance_iter = current_distribution_account_balance_range.first;
2017-05-25 09:13:59 +00:00
auto previous_distribution_account_balance_iter = previous_distribution_account_balance_range . first ;
dlog ( " Current balances in distribution account: ${current}, Previous balances: ${previous} " ,
2019-09-10 13:26:27 +00:00
( " current " , ( int64_t ) std : : distance ( current_distribution_account_balance_range . begin ( ) , current_distribution_account_balance_range . end ( ) ) )
2017-11-03 14:52:41 +00:00
( " previous " , ( int64_t ) std : : distance ( previous_distribution_account_balance_range . first , previous_distribution_account_balance_range . second ) ) ) ;
2017-05-25 09:13:59 +00:00
// when we pay out the dividends to the holders, we need to know the total balance of the dividend asset in all
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
// accounts other than the distribution account (it would be silly to distribute dividends back to
2017-05-25 09:13:59 +00:00
// the distribution account)
share_type total_balance_of_dividend_asset ;
2019-10-17 16:39:44 +00:00
if ( db . head_block_time ( ) > = HARDFORK_GPOS_TIME & & dividend_holder_asset_obj . symbol = = GRAPHENE_SYMBOL ) { // only core
for ( const vesting_balance_object & holder_balance_object : boost : : make_iterator_range ( vesting_balances_begin ,
vesting_balances_end ) )
if ( holder_balance_object . owner ! = dividend_data . dividend_distribution_account ) {
total_balance_of_dividend_asset + = holder_balance_object . balance . amount ;
}
}
else {
for ( const account_balance_object & holder_balance_object : boost : : make_iterator_range ( holder_balances_begin ,
holder_balances_end ) )
if ( holder_balance_object . owner ! = dividend_data . dividend_distribution_account ) {
total_balance_of_dividend_asset + = holder_balance_object . balance ;
auto itr = vesting_amounts . find ( holder_balance_object . owner ) ;
if ( itr ! = vesting_amounts . end ( ) )
total_balance_of_dividend_asset + = itr - > second ;
}
}
2017-05-25 09:13:59 +00:00
// loop through all of the assets currently or previously held in the distribution account
2019-09-10 13:26:27 +00:00
while ( current_distribution_account_balance_iter ! = current_distribution_account_balance_range . end ( ) | |
2017-05-25 09:13:59 +00:00
previous_distribution_account_balance_iter ! = previous_distribution_account_balance_range . second )
{
try
{
// First, figure out how much the balance on this asset has changed since the last sharing out
share_type current_balance ;
share_type previous_balance ;
asset_id_type payout_asset_type ;
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
if ( previous_distribution_account_balance_iter = = previous_distribution_account_balance_range . second | |
2019-09-10 13:26:27 +00:00
current_distribution_account_balance_iter - > second - > asset_type < previous_distribution_account_balance_iter - > dividend_payout_asset_type )
2017-05-25 09:13:59 +00:00
{
// there are no more previous balances or there is no previous balance for this particular asset type
2019-09-10 13:26:27 +00:00
payout_asset_type = current_distribution_account_balance_iter - > second - > asset_type ;
current_balance = current_distribution_account_balance_iter - > second - > balance ;
2017-05-25 09:13:59 +00:00
idump ( ( payout_asset_type ) ( current_balance ) ) ;
}
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
else if ( current_distribution_account_balance_iter = = current_distribution_account_balance_range . end ( ) | |
2019-09-10 13:26:27 +00:00
previous_distribution_account_balance_iter - > dividend_payout_asset_type < current_distribution_account_balance_iter - > second - > asset_type )
2017-05-25 09:13:59 +00:00
{
// there are no more current balances or there is no current balance for this particular previous asset type
payout_asset_type = previous_distribution_account_balance_iter - > dividend_payout_asset_type ;
previous_balance = previous_distribution_account_balance_iter - > balance_at_last_maintenance_interval ;
idump ( ( payout_asset_type ) ( previous_balance ) ) ;
}
else
{
// we have both a previous and a current balance for this asset type
2019-09-10 13:26:27 +00:00
payout_asset_type = current_distribution_account_balance_iter - > second - > asset_type ;
current_balance = current_distribution_account_balance_iter - > second - > balance ;
2017-05-25 09:13:59 +00:00
previous_balance = previous_distribution_account_balance_iter - > balance_at_last_maintenance_interval ;
idump ( ( payout_asset_type ) ( current_balance ) ( previous_balance ) ) ;
}
share_type delta_balance = current_balance - previous_balance ;
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
// Next, figure out if we want to share this out -- if the amount added to the distribution
2017-05-25 09:13:59 +00:00
// account since last payout is too small, we won't bother.
share_type total_fee_per_asset_in_payout_asset ;
const asset_object * payout_asset_object = nullptr ;
if ( payout_asset_type = = asset_id_type ( ) )
{
payout_asset_object = & db . get_core_asset ( ) ;
total_fee_per_asset_in_payout_asset = total_fee_per_asset_in_core ;
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
dlog ( " Fee for distributing ${payout_asset_type}: ${fee} " ,
2017-05-25 09:13:59 +00:00
( " payout_asset_type " , asset_id_type ( ) ( db ) . symbol )
( " fee " , asset ( total_fee_per_asset_in_core , asset_id_type ( ) ) ) ) ;
}
else
{
// figure out what the total fee is in terms of the payout asset
const asset_index & asset_object_index = db . get_index_type < asset_index > ( ) ;
auto payout_asset_object_iter = asset_object_index . indices ( ) . find ( payout_asset_type ) ;
FC_ASSERT ( payout_asset_object_iter ! = asset_object_index . indices ( ) . end ( ) ) ;
payout_asset_object = & * payout_asset_object_iter ;
asset total_fee_per_asset = asset ( total_fee_per_asset_in_core , asset_id_type ( ) ) * payout_asset_object - > options . core_exchange_rate ;
FC_ASSERT ( total_fee_per_asset . asset_id = = payout_asset_type ) ;
total_fee_per_asset_in_payout_asset = total_fee_per_asset . amount ;
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
dlog ( " Fee for distributing ${payout_asset_type}: ${fee} " ,
2017-05-25 09:13:59 +00:00
( " payout_asset_type " , payout_asset_type ( db ) . symbol ) ( " fee " , total_fee_per_asset_in_payout_asset ) ) ;
}
share_type minimum_shares_to_distribute ;
if ( dividend_data . options . minimum_fee_percentage )
{
fc : : uint128_t minimum_amount_to_distribute = total_fee_per_asset_in_payout_asset . value ;
minimum_amount_to_distribute * = 100 * GRAPHENE_1_PERCENT ;
minimum_amount_to_distribute / = dividend_data . options . minimum_fee_percentage ;
wdump ( ( total_fee_per_asset_in_payout_asset ) ( dividend_data . options ) ) ;
minimum_shares_to_distribute = minimum_amount_to_distribute . to_uint64 ( ) ;
}
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
2017-05-25 09:13:59 +00:00
dlog ( " Processing dividend payments of asset type ${payout_asset_type}, delta balance is ${delta_balance} " , ( " payout_asset_type " , payout_asset_type ( db ) . symbol ) ( " delta_balance " , delta_balance ) ) ;
if ( delta_balance > 0 )
{
if ( delta_balance > = minimum_shares_to_distribute )
{
// first, pay the fee for scheduling these dividend payments
if ( payout_asset_type = = asset_id_type ( ) )
{
// pay fee to network
db . modify ( asset_dynamic_data_id_type ( ) ( db ) , [ total_fee_per_asset_in_core ] ( asset_dynamic_data_object & d ) {
d . accumulated_fees + = total_fee_per_asset_in_core ;
} ) ;
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
db . adjust_balance ( dividend_data . dividend_distribution_account ,
2017-05-25 09:13:59 +00:00
asset ( - total_fee_per_asset_in_core , asset_id_type ( ) ) ) ;
delta_balance - = total_fee_per_asset_in_core ;
}
else
{
const asset_dynamic_data_object & dynamic_data = payout_asset_object - > dynamic_data ( db ) ;
if ( dynamic_data . fee_pool < total_fee_per_asset_in_core )
FC_THROW ( " Not distributing dividends for ${holder_asset_type} in asset ${payout_asset_type} "
" because insufficient funds in fee pool (need: ${need}, have: ${have}) " ,
( " holder_asset_type " , dividend_holder_asset_obj . symbol )
( " payout_asset_type " , payout_asset_object - > symbol )
( " need " , asset ( total_fee_per_asset_in_core , asset_id_type ( ) ) )
( " have " , asset ( dynamic_data . fee_pool , payout_asset_type ) ) ) ;
// deduct the fee from the dividend distribution account
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
db . adjust_balance ( dividend_data . dividend_distribution_account ,
2017-05-25 09:13:59 +00:00
asset ( - total_fee_per_asset_in_payout_asset , payout_asset_type ) ) ;
// convert it to core
db . modify ( payout_asset_object - > dynamic_data ( db ) , [ total_fee_per_asset_in_core , total_fee_per_asset_in_payout_asset ] ( asset_dynamic_data_object & d ) {
d . fee_pool - = total_fee_per_asset_in_core ;
d . accumulated_fees + = total_fee_per_asset_in_payout_asset ;
} ) ;
// and pay it to the network
db . modify ( asset_dynamic_data_id_type ( ) ( db ) , [ total_fee_per_asset_in_core ] ( asset_dynamic_data_object & d ) {
d . accumulated_fees + = total_fee_per_asset_in_core ;
} ) ;
delta_balance - = total_fee_per_asset_in_payout_asset ;
}
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
dlog ( " There are ${count} holders of the dividend-paying asset, with a total balance of ${total} " ,
2017-05-25 09:13:59 +00:00
( " count " , holder_account_count )
( " total " , total_balance_of_dividend_asset ) ) ;
share_type remaining_amount_to_distribute = delta_balance ;
2019-10-17 16:39:44 +00:00
if ( db . head_block_time ( ) > = HARDFORK_GPOS_TIME & & dividend_holder_asset_obj . symbol = = GRAPHENE_SYMBOL ) { // core only
// credit each account with their portion, don't send any back to the dividend distribution account
for ( const vesting_balance_object & holder_balance_object : boost : : make_iterator_range (
vesting_balances_begin , vesting_balances_end ) ) {
if ( holder_balance_object . owner = = dividend_data . dividend_distribution_account ) continue ;
auto vesting_factor = db . calculate_vesting_factor ( holder_balance_object . owner ( db ) ) ;
auto holder_balance = holder_balance_object . balance ;
fc : : uint128_t amount_to_credit ( delta_balance . value ) ;
amount_to_credit * = holder_balance . amount . value ;
amount_to_credit / = total_balance_of_dividend_asset . value ;
share_type full_shares_to_credit ( ( int64_t ) amount_to_credit . to_uint64 ( ) ) ;
share_type shares_to_credit = ( uint64_t ) floor ( full_shares_to_credit . value * vesting_factor ) ;
if ( shares_to_credit < full_shares_to_credit ) {
// Todo: sending results of decay to committee account, need to change to specified account
dlog ( " Crediting committee_account with ${amount} " ,
( " amount " , asset ( full_shares_to_credit - shares_to_credit , payout_asset_type ) ) ) ;
db . adjust_balance ( dividend_data . dividend_distribution_account ,
2019-10-25 11:11:34 +00:00
- asset ( full_shares_to_credit - shares_to_credit , payout_asset_type ) ) ;
db . adjust_balance ( account_id_type ( 0 ) , asset ( full_shares_to_credit - shares_to_credit , payout_asset_type ) ) ;
2019-10-17 16:39:44 +00:00
}
remaining_amount_to_distribute = credit_account ( db ,
holder_balance_object . owner ,
holder_balance_object . owner ( db ) . name ,
remaining_amount_to_distribute ,
shares_to_credit ,
payout_asset_type ,
pending_payout_balance_index ,
dividend_holder_asset_obj . id ) ;
}
}
else {
// credit each account with their portion, don't send any back to the dividend distribution account
for ( const account_balance_object & holder_balance_object : boost : : make_iterator_range (
holder_balances_begin , holder_balances_end ) ) {
if ( holder_balance_object . owner = = dividend_data . dividend_distribution_account ) continue ;
auto holder_balance = holder_balance_object . balance ;
auto itr = vesting_amounts . find ( holder_balance_object . owner ) ;
if ( itr ! = vesting_amounts . end ( ) )
holder_balance + = itr - > second ;
fc : : uint128_t amount_to_credit ( delta_balance . value ) ;
amount_to_credit * = holder_balance . value ;
amount_to_credit / = total_balance_of_dividend_asset . value ;
share_type shares_to_credit ( ( int64_t ) amount_to_credit . to_uint64 ( ) ) ;
remaining_amount_to_distribute = credit_account ( db ,
holder_balance_object . owner ,
holder_balance_object . owner ( db ) . name ,
remaining_amount_to_distribute ,
shares_to_credit ,
payout_asset_type ,
pending_payout_balance_index ,
dividend_holder_asset_obj . id ) ;
2017-05-25 09:13:59 +00:00
}
}
for ( const auto & pending_payout : pending_payout_balance_index . indices ( ) )
if ( pending_payout . pending_balance . value )
dlog ( " Pending payout: ${account_name} -> ${amount} " ,
( " account_name " , pending_payout . owner ( db ) . name )
( " amount " , asset ( pending_payout . pending_balance , pending_payout . dividend_payout_asset_type ) ) ) ;
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
dlog ( " Remaining balance not paid out: ${amount} " ,
2017-05-25 09:13:59 +00:00
( " amount " , asset ( remaining_amount_to_distribute , payout_asset_type ) ) ) ;
share_type distributed_amount = delta_balance - remaining_amount_to_distribute ;
if ( previous_distribution_account_balance_iter = = previous_distribution_account_balance_range . second | |
previous_distribution_account_balance_iter - > dividend_payout_asset_type ! = payout_asset_type )
db . create < total_distributed_dividend_balance_object > ( [ & ] ( total_distributed_dividend_balance_object & obj ) {
obj . dividend_holder_asset_type = dividend_holder_asset_obj . id ;
obj . dividend_payout_asset_type = payout_asset_type ;
obj . balance_at_last_maintenance_interval = distributed_amount ;
} ) ;
else
db . modify ( * previous_distribution_account_balance_iter , [ & ] ( total_distributed_dividend_balance_object & obj ) {
obj . balance_at_last_maintenance_interval + = distributed_amount ;
} ) ;
}
else
FC_THROW ( " Not distributing dividends for ${holder_asset_type} in asset ${payout_asset_type} "
" because amount ${delta_balance} is too small an amount to distribute. " ,
( " holder_asset_type " , dividend_holder_asset_obj . symbol )
( " payout_asset_type " , payout_asset_object - > symbol )
( " delta_balance " , asset ( delta_balance , payout_asset_type ) ) ) ;
}
else if ( delta_balance < 0 )
{
// some amount of the asset has been withdrawn from the dividend_distribution_account,
// meaning the current pending payout balances will add up to more than our current balance.
// This should be extremely rare (caused by an override transfer by the asset owner).
// Reduce all pending payouts proportionally
share_type total_pending_balances ;
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
auto pending_payouts_range =
2017-05-25 09:13:59 +00:00
pending_payout_balance_index . indices ( ) . get < by_dividend_payout_account > ( ) . equal_range ( boost : : make_tuple ( dividend_holder_asset_obj . id , payout_asset_type ) ) ;
for ( const pending_dividend_payout_balance_for_holder_object & pending_balance_object : boost : : make_iterator_range ( pending_payouts_range . first , pending_payouts_range . second ) )
total_pending_balances + = pending_balance_object . pending_balance ;
share_type remaining_amount_to_recover = - delta_balance ;
share_type remaining_pending_balances = total_pending_balances ;
for ( const pending_dividend_payout_balance_for_holder_object & pending_balance_object : boost : : make_iterator_range ( pending_payouts_range . first , pending_payouts_range . second ) )
{
fc : : uint128_t amount_to_debit ( remaining_amount_to_recover . value ) ;
amount_to_debit * = pending_balance_object . pending_balance . value ;
amount_to_debit / = remaining_pending_balances . value ;
share_type shares_to_debit ( ( int64_t ) amount_to_debit . to_uint64 ( ) ) ;
remaining_amount_to_recover - = shares_to_debit ;
remaining_pending_balances - = pending_balance_object . pending_balance ;
db . modify ( pending_balance_object , [ & ] ( pending_dividend_payout_balance_for_holder_object & pending_balance ) {
pending_balance . pending_balance - = shares_to_debit ;
} ) ;
}
// if we're here, we know there must be a previous balance, so just adjust it by the
// amount we just reclaimed
db . modify ( * previous_distribution_account_balance_iter , [ & ] ( total_distributed_dividend_balance_object & obj ) {
obj . balance_at_last_maintenance_interval + = delta_balance ;
assert ( obj . balance_at_last_maintenance_interval = = current_balance ) ;
} ) ;
} // end if deposit was large enough to distribute
}
catch ( const fc : : exception & e )
{
dlog ( " ${e} " , ( " e " , e ) ) ;
}
// iterate
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
if ( previous_distribution_account_balance_iter = = previous_distribution_account_balance_range . second | |
2019-09-10 13:26:27 +00:00
current_distribution_account_balance_iter - > second - > asset_type < previous_distribution_account_balance_iter - > dividend_payout_asset_type )
2017-05-25 09:13:59 +00:00
+ + current_distribution_account_balance_iter ;
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
else if ( current_distribution_account_balance_iter = = current_distribution_account_balance_range . end ( ) | |
2019-09-10 13:26:27 +00:00
previous_distribution_account_balance_iter - > dividend_payout_asset_type < current_distribution_account_balance_iter - > second - > asset_type )
2017-05-25 09:13:59 +00:00
+ + previous_distribution_account_balance_iter ;
else
{
+ + current_distribution_account_balance_iter ;
+ + previous_distribution_account_balance_iter ;
}
}
db . modify ( dividend_data , [ current_head_block_time ] ( asset_dividend_data_object & dividend_data_obj ) {
dividend_data_obj . last_scheduled_distribution_time = current_head_block_time ;
dividend_data_obj . last_distribution_time = current_head_block_time ;
} ) ;
2019-07-30 15:43:31 +00:00
} FC_CAPTURE_AND_RETHROW ( ) }
2017-05-25 09:13:59 +00:00
void process_dividend_assets ( database & db )
2019-07-30 15:43:31 +00:00
{ try {
2017-05-25 09:13:59 +00:00
ilog ( " In process_dividend_assets time ${time} " , ( " time " , db . head_block_time ( ) ) ) ;
const account_balance_index & balance_index = db . get_index_type < account_balance_index > ( ) ;
2019-09-10 13:26:27 +00:00
//const auto& balance_index = db.get_index_type< primary_index< account_balance_index > >().get_secondary_index< balances_by_account_index >();
2017-05-25 09:13:59 +00:00
const vesting_balance_index & vbalance_index = db . get_index_type < vesting_balance_index > ( ) ;
const total_distributed_dividend_balance_object_index & distributed_dividend_balance_index = db . get_index_type < total_distributed_dividend_balance_object_index > ( ) ;
const pending_dividend_payout_balance_for_holder_object_index & pending_payout_balance_index = db . get_index_type < pending_dividend_payout_balance_for_holder_object_index > ( ) ;
// TODO: switch to iterating over only dividend assets (generalize the by_type index)
for ( const asset_object & dividend_holder_asset_obj : db . get_index_type < asset_index > ( ) . indices ( ) )
if ( dividend_holder_asset_obj . dividend_data_id )
{
const asset_dividend_data_object & dividend_data = dividend_holder_asset_obj . dividend_data ( db ) ;
const account_object & dividend_distribution_account_object = dividend_data . dividend_distribution_account ( db ) ;
fc : : time_point_sec current_head_block_time = db . head_block_time ( ) ;
schedule_pending_dividend_balances ( db , dividend_holder_asset_obj , dividend_data , current_head_block_time ,
balance_index , vbalance_index , distributed_dividend_balance_index , pending_payout_balance_index ) ;
if ( dividend_data . options . next_payout_time & &
db . head_block_time ( ) > = * dividend_data . options . next_payout_time )
{
2019-07-30 15:43:31 +00:00
try
{
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
dlog ( " Dividend payout time has arrived for asset ${holder_asset} " ,
2019-07-30 15:43:31 +00:00
( " holder_asset " , dividend_holder_asset_obj . symbol ) ) ;
2017-05-25 09:13:59 +00:00
# ifndef NDEBUG
2019-07-30 15:43:31 +00:00
// dump balances before the payouts for debugging
2019-09-17 16:42:03 +00:00
const auto & balance_index = db . get_index_type < primary_index < account_balance_index > > ( ) ;
const auto & balances = balance_index . get_secondary_index < balances_by_account_index > ( ) . get_account_balances ( dividend_data . dividend_distribution_account ) ;
for ( const auto balance : balances )
ilog ( " Current balance: ${asset} " , ( " asset " , asset ( balance . second - > balance , balance . second - > asset_type ) ) ) ;
2017-05-25 09:13:59 +00:00
# endif
2019-07-30 15:43:31 +00:00
// when we do the payouts, we first increase the balances in all of the receiving accounts
// and use this map to keep track of the total amount of each asset paid out.
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
// Afterwards, we decrease the distribution account's balance by the total amount paid out,
2019-07-30 15:43:31 +00:00
// and modify the distributed_balances accordingly
std : : map < asset_id_type , share_type > amounts_paid_out_by_asset ;
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
auto pending_payouts_range =
2019-07-30 15:43:31 +00:00
pending_payout_balance_index . indices ( ) . get < by_dividend_account_payout > ( ) . equal_range ( boost : : make_tuple ( dividend_holder_asset_obj . id ) ) ;
// the pending_payouts_range is all payouts for this dividend asset, sorted by the holder's account
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
// we iterate in this order so we can build up a list of payouts for each account to put in the
2019-07-30 15:43:31 +00:00
// virtual op
vector < asset > payouts_for_this_holder ;
fc : : optional < account_id_type > last_holder_account_id ;
// cache the assets the distribution account is approved to send, we will be asking
// for these often
flat_map < asset_id_type , bool > approved_assets ; // assets that the dividend distribution account is authorized to send/receive
auto is_asset_approved_for_distribution_account = [ & ] ( const asset_id_type & asset_id ) {
auto approved_assets_iter = approved_assets . find ( asset_id ) ;
if ( approved_assets_iter ! = approved_assets . end ( ) )
return approved_assets_iter - > second ;
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
bool is_approved = is_authorized_asset ( db , dividend_distribution_account_object ,
2019-07-30 15:43:31 +00:00
asset_id ( db ) ) ;
approved_assets [ asset_id ] = is_approved ;
return is_approved ;
} ;
for ( auto pending_balance_object_iter = pending_payouts_range . first ; pending_balance_object_iter ! = pending_payouts_range . second ; )
{
const pending_dividend_payout_balance_for_holder_object & pending_balance_object = * pending_balance_object_iter ;
2017-05-25 09:13:59 +00:00
2019-07-30 15:43:31 +00:00
if ( last_holder_account_id & & * last_holder_account_id ! = pending_balance_object . owner & & payouts_for_this_holder . size ( ) )
{
// we've moved on to a new account, generate the dividend payment virtual op for the previous one
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
db . push_applied_operation ( asset_dividend_distribution_operation ( dividend_holder_asset_obj . id ,
* last_holder_account_id ,
2019-07-30 15:43:31 +00:00
payouts_for_this_holder ) ) ;
dlog ( " Just pushed virtual op for payout to ${account} " , ( " account " , ( * last_holder_account_id ) ( db ) . name ) ) ;
payouts_for_this_holder . clear ( ) ;
last_holder_account_id . reset ( ) ;
}
if ( pending_balance_object . pending_balance . value & &
is_authorized_asset ( db , pending_balance_object . owner ( db ) , pending_balance_object . dividend_payout_asset_type ( db ) ) & &
is_asset_approved_for_distribution_account ( pending_balance_object . dividend_payout_asset_type ) )
{
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
dlog ( " Processing payout of ${asset} to account ${account} " ,
2019-07-30 15:43:31 +00:00
( " asset " , asset ( pending_balance_object . pending_balance , pending_balance_object . dividend_payout_asset_type ) )
( " account " , pending_balance_object . owner ( db ) . name ) ) ;
db . adjust_balance ( pending_balance_object . owner ,
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
asset ( pending_balance_object . pending_balance ,
2019-07-30 15:43:31 +00:00
pending_balance_object . dividend_payout_asset_type ) ) ;
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
payouts_for_this_holder . push_back ( asset ( pending_balance_object . pending_balance ,
2019-07-30 15:43:31 +00:00
pending_balance_object . dividend_payout_asset_type ) ) ;
last_holder_account_id = pending_balance_object . owner ;
amounts_paid_out_by_asset [ pending_balance_object . dividend_payout_asset_type ] + = pending_balance_object . pending_balance ;
db . modify ( pending_balance_object , [ & ] ( pending_dividend_payout_balance_for_holder_object & pending_balance ) {
pending_balance . pending_balance = 0 ;
} ) ;
}
2017-05-25 09:13:59 +00:00
2019-07-30 15:43:31 +00:00
+ + pending_balance_object_iter ;
}
// we will always be left with the last holder's data, generate the virtual op for it now.
if ( last_holder_account_id & & payouts_for_this_holder . size ( ) )
2017-05-25 09:13:59 +00:00
{
// we've moved on to a new account, generate the dividend payment virtual op for the previous one
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
db . push_applied_operation ( asset_dividend_distribution_operation ( dividend_holder_asset_obj . id ,
* last_holder_account_id ,
2017-05-25 09:13:59 +00:00
payouts_for_this_holder ) ) ;
dlog ( " Just pushed virtual op for payout to ${account} " , ( " account " , ( * last_holder_account_id ) ( db ) . name ) ) ;
}
2019-07-30 15:43:31 +00:00
// now debit the total amount of dividends paid out from the distribution account
// and reduce the distributed_balances accordingly
2017-05-25 09:13:59 +00:00
2019-07-30 15:43:31 +00:00
for ( const auto & value : amounts_paid_out_by_asset )
2017-05-25 09:13:59 +00:00
{
2019-07-30 15:43:31 +00:00
const asset_id_type & asset_paid_out = value . first ;
const share_type & amount_paid_out = value . second ;
2017-05-25 09:13:59 +00:00
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
db . adjust_balance ( dividend_data . dividend_distribution_account ,
2019-07-30 15:43:31 +00:00
asset ( - amount_paid_out ,
asset_paid_out ) ) ;
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
auto distributed_balance_iter =
distributed_dividend_balance_index . indices ( ) . get < by_dividend_payout_asset > ( ) . find ( boost : : make_tuple ( dividend_holder_asset_obj . id ,
2019-07-30 15:43:31 +00:00
asset_paid_out ) ) ;
assert ( distributed_balance_iter ! = distributed_dividend_balance_index . indices ( ) . get < by_dividend_payout_asset > ( ) . end ( ) ) ;
if ( distributed_balance_iter ! = distributed_dividend_balance_index . indices ( ) . get < by_dividend_payout_asset > ( ) . end ( ) )
db . modify ( * distributed_balance_iter , [ & ] ( total_distributed_dividend_balance_object & obj ) {
obj . balance_at_last_maintenance_interval - = amount_paid_out ; // now they've been paid out, reset to zero
} ) ;
2017-05-25 09:13:59 +00:00
}
2019-07-30 15:43:31 +00:00
// now schedule the next payout time
db . modify ( dividend_data , [ current_head_block_time ] ( asset_dividend_data_object & dividend_data_obj ) {
dividend_data_obj . last_scheduled_payout_time = dividend_data_obj . options . next_payout_time ;
dividend_data_obj . last_payout_time = current_head_block_time ;
fc : : optional < fc : : time_point_sec > next_payout_time ;
if ( dividend_data_obj . options . payout_interval )
{
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
// if there was a previous payout, make our next payment one interval
2019-07-30 15:43:31 +00:00
uint32_t current_time_sec = current_head_block_time . sec_since_epoch ( ) ;
fc : : time_point_sec reference_time = * dividend_data_obj . last_scheduled_payout_time ;
uint32_t next_possible_time_sec = dividend_data_obj . last_scheduled_payout_time - > sec_since_epoch ( ) ;
do
next_possible_time_sec + = * dividend_data_obj . options . payout_interval ;
while ( next_possible_time_sec < = current_time_sec ) ;
next_payout_time = next_possible_time_sec ;
}
dividend_data_obj . options . next_payout_time = next_payout_time ;
idump ( ( dividend_data_obj . last_scheduled_payout_time )
( dividend_data_obj . last_payout_time )
( dividend_data_obj . options . next_payout_time ) ) ;
} ) ;
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
}
2019-07-30 15:43:31 +00:00
FC_RETHROW_EXCEPTIONS ( error , " Error while paying out dividends for holder asset ${holder_asset} " , ( " holder_asset " , dividend_holder_asset_obj . symbol ) )
2017-05-25 09:13:59 +00:00
}
}
2019-07-30 15:43:31 +00:00
} FC_CAPTURE_AND_RETHROW ( ) }
2017-05-25 09:13:59 +00:00
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
void database : : perform_son_tasks ( )
{
const global_property_object & gpo = get_global_properties ( ) ;
if ( gpo . parameters . son_account ( ) = = GRAPHENE_NULL_ACCOUNT & & head_block_time ( ) > = HARDFORK_SON_TIME )
{
const auto & son_account = create < account_object > ( [ & ] ( account_object & a ) {
a . name = " son-account " ;
a . statistics = create < account_statistics_object > ( [ & a ] ( account_statistics_object & s ) {
s . owner = a . id ;
s . name = a . name ;
} ) . id ;
a . owner . weight_threshold = 1 ;
a . active . weight_threshold = 0 ;
a . registrar = a . lifetime_referrer = a . referrer = a . id ;
a . membership_expiration_date = time_point_sec : : maximum ( ) ;
a . network_fee_percentage = GRAPHENE_DEFAULT_NETWORK_PERCENT_OF_FEE ;
a . lifetime_referrer_fee_percentage = GRAPHENE_100_PERCENT - GRAPHENE_DEFAULT_NETWORK_PERCENT_OF_FEE ;
} ) ;
modify ( gpo , [ & son_account ] ( global_property_object & gpo ) {
gpo . parameters . extensions . value . son_account = son_account . get_id ( ) ;
if ( gpo . pending_parameters )
gpo . pending_parameters - > extensions . value . son_account = son_account . get_id ( ) ;
} ) ;
}
// create BTC asset here because son_account is the issuer of the BTC
if ( gpo . parameters . btc_asset ( ) = = asset_id_type ( ) & & head_block_time ( ) > = HARDFORK_SON_TIME )
{
const asset_dynamic_data_object & dyn_asset =
create < asset_dynamic_data_object > ( [ ] ( asset_dynamic_data_object & a ) {
a . current_supply = 0 ;
} ) ;
const asset_object & btc_asset =
create < asset_object > ( [ & gpo , & dyn_asset ] ( asset_object & a ) {
a . symbol = " BTC " ;
a . precision = 8 ;
a . issuer = gpo . parameters . son_account ( ) ;
a . options . max_supply = GRAPHENE_MAX_SHARE_SUPPLY ;
a . options . market_fee_percent = 500 ; // 5%
a . options . issuer_permissions = UIA_ASSET_ISSUER_PERMISSION_MASK ;
a . options . flags = asset_issuer_permission_flags : : charge_market_fee |
//asset_issuer_permission_flags::white_list |
asset_issuer_permission_flags : : override_authority |
asset_issuer_permission_flags : : transfer_restricted |
asset_issuer_permission_flags : : disable_confidential ;
a . options . core_exchange_rate . base . amount = 100000 ;
a . options . core_exchange_rate . base . asset_id = asset_id_type ( 0 ) ;
a . options . core_exchange_rate . quote . amount = 2500 ; // CoinMarketCap approx value
a . options . core_exchange_rate . quote . asset_id = a . id ;
a . options . whitelist_authorities . clear ( ) ; // accounts allowed to use asset, if not empty
a . options . blacklist_authorities . clear ( ) ; // accounts who can blacklist other accounts to use asset, if white_list flag is set
a . options . whitelist_markets . clear ( ) ; // might be traded with
a . options . blacklist_markets . clear ( ) ; // might not be traded with
a . dynamic_asset_data_id = dyn_asset . id ;
} ) ;
modify ( gpo , [ & btc_asset ] ( global_property_object & gpo ) {
gpo . parameters . extensions . value . btc_asset = btc_asset . get_id ( ) ;
if ( gpo . pending_parameters )
gpo . pending_parameters - > extensions . value . btc_asset = btc_asset . get_id ( ) ;
} ) ;
}
// Pay the SONs
if ( head_block_time ( ) > = HARDFORK_SON_TIME )
{
// Before making a budget we should pay out SONs
// This function should check if its time to pay sons
// and modify the global son funds accordingly, whatever is left is passed on to next budget
pay_sons ( ) ;
}
}
2017-05-25 09:13:59 +00:00
void database : : perform_chain_maintenance ( const signed_block & next_block , const global_property_object & global_props )
2019-07-30 15:43:31 +00:00
{ try {
2017-05-25 09:13:59 +00:00
const auto & gpo = get_global_properties ( ) ;
distribute_fba_balances ( * this ) ;
create_buyback_orders ( * this ) ;
process_dividend_assets ( * this ) ;
2018-12-31 21:20:48 +00:00
rolling_period_start ( * this ) ;
2017-05-25 09:13:59 +00:00
struct vote_tally_helper {
database & d ;
const global_property_object & props ;
std : : map < account_id_type , share_type > vesting_amounts ;
vote_tally_helper ( database & d , const global_property_object & gpo )
: d ( d ) , props ( gpo )
{
d . _vote_tally_buffer . resize ( props . next_available_vote_id ) ;
d . _witness_count_histogram_buffer . resize ( props . parameters . maximum_witness_count / 2 + 1 ) ;
d . _committee_count_histogram_buffer . resize ( props . parameters . maximum_committee_count / 2 + 1 ) ;
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
d . _son_count_histogram_buffer . resize ( props . parameters . maximum_son_count / 2 + 1 ) ;
2017-05-25 09:13:59 +00:00
d . _total_voting_stake = 0 ;
2019-10-17 16:39:44 +00:00
auto balance_type = vesting_balance_type : : normal ;
if ( d . head_block_time ( ) > = HARDFORK_GPOS_TIME )
balance_type = vesting_balance_type : : gpos ;
2017-05-25 09:13:59 +00:00
const vesting_balance_index & vesting_index = d . get_index_type < vesting_balance_index > ( ) ;
2019-07-30 15:43:31 +00:00
# ifdef USE_VESTING_OBJECT_BY_ASSET_BALANCE_INDEX
2017-05-25 09:13:59 +00:00
auto vesting_balances_begin =
2019-10-17 16:39:44 +00:00
vesting_index . indices ( ) . get < by_asset_balance > ( ) . lower_bound ( boost : : make_tuple ( asset_id_type ( ) , balance_type ) ) ;
2017-05-25 09:13:59 +00:00
auto vesting_balances_end =
2019-10-17 16:39:44 +00:00
vesting_index . indices ( ) . get < by_asset_balance > ( ) . upper_bound ( boost : : make_tuple ( asset_id_type ( ) , balance_type , share_type ( ) ) ) ;
2017-05-25 09:13:59 +00:00
for ( const vesting_balance_object & vesting_balance_obj : boost : : make_iterator_range ( vesting_balances_begin , vesting_balances_end ) )
{
vesting_amounts [ vesting_balance_obj . owner ] + = vesting_balance_obj . balance . amount ;
2019-10-17 16:39:44 +00:00
dlog ( " Vesting balance for account: ${owner}, amount: ${amount} " ,
( " owner " , vesting_balance_obj . owner ( d ) . name )
( " amount " , vesting_balance_obj . balance . amount ) ) ;
2017-05-25 09:13:59 +00:00
}
2019-07-30 15:43:31 +00:00
# else
const auto & vesting_balances = vesting_index . indices ( ) . get < by_id > ( ) ;
for ( const vesting_balance_object & vesting_balance_obj : vesting_balances )
{
2019-10-17 16:39:44 +00:00
if ( vesting_balance_obj . balance . asset_id = = asset_id_type ( ) & & vesting_balance_obj . balance . amount & & vesting_balance_obj . balance_type = = balance_type )
2019-07-30 15:43:31 +00:00
{
vesting_amounts [ vesting_balance_obj . owner ] + = vesting_balance_obj . balance . amount ;
dlog ( " Vesting balance for account: ${owner}, amount: ${amount} " ,
( " owner " , vesting_balance_obj . owner ( d ) . name )
( " amount " , vesting_balance_obj . balance . amount ) ) ;
}
}
# endif
2017-05-25 09:13:59 +00:00
}
2019-11-07 05:55:02 +00:00
void operator ( ) ( const account_object & stake_account , const account_statistics_object & stats )
{
2017-05-25 09:13:59 +00:00
if ( props . parameters . count_non_member_votes | | stake_account . is_member ( d . head_block_time ( ) ) )
{
// There may be a difference between the account whose stake is voting and the one specifying opinions.
// Usually they're the same, but if the stake account has specified a voting_account, that account is the one
// specifying the opinions.
2019-07-30 15:43:31 +00:00
const account_object * opinion_account_ptr =
2017-05-25 09:13:59 +00:00
( stake_account . options . voting_account = =
2019-07-30 15:43:31 +00:00
GRAPHENE_PROXY_TO_SELF_ACCOUNT ) ? & stake_account
: d . find ( stake_account . options . voting_account ) ;
if ( ! opinion_account_ptr ) // skip non-exist account
return ;
const account_object & opinion_account = * opinion_account_ptr ;
2017-05-25 09:13:59 +00:00
const auto & stats = stake_account . statistics ( d ) ;
2019-10-17 16:39:44 +00:00
uint64_t voting_stake = 0 ;
2017-05-25 09:13:59 +00:00
auto itr = vesting_amounts . find ( stake_account . id ) ;
if ( itr ! = vesting_amounts . end ( ) )
voting_stake + = itr - > second . value ;
2019-10-17 16:39:44 +00:00
if ( d . head_block_time ( ) > = HARDFORK_GPOS_TIME )
{
2019-12-06 15:26:49 +00:00
if ( itr = = vesting_amounts . end ( ) & & d . head_block_time ( ) > = ( HARDFORK_GPOS_TIME + props . parameters . gpos_subperiod ( ) / 2 ) )
2019-10-17 16:39:44 +00:00
return ;
auto vesting_factor = d . calculate_vesting_factor ( stake_account ) ;
voting_stake = ( uint64_t ) floor ( voting_stake * vesting_factor ) ;
2019-12-06 15:26:49 +00:00
//Include votes(based on stake) for the period of gpos_subperiod()/2 as system has zero votes on GPOS activation
if ( d . head_block_time ( ) < ( HARDFORK_GPOS_TIME + props . parameters . gpos_subperiod ( ) / 2 ) )
{
voting_stake + = stats . total_core_in_orders . value
+ ( stake_account . cashback_vb . valid ( ) ? ( * stake_account . cashback_vb ) ( d ) . balance . amount . value : 0 )
+ d . get_balance ( stake_account . get_id ( ) , asset_id_type ( ) ) . amount . value ;
}
2019-10-17 16:39:44 +00:00
}
else
{
voting_stake + = stats . total_core_in_orders . value
+ ( stake_account . cashback_vb . valid ( ) ? ( * stake_account . cashback_vb ) ( d ) . balance . amount . value : 0 )
+ d . get_balance ( stake_account . get_id ( ) , asset_id_type ( ) ) . amount . value ;
}
2017-05-25 09:13:59 +00:00
for ( vote_id_type id : opinion_account . options . votes )
{
uint32_t offset = id . instance ( ) ;
// if they somehow managed to specify an illegal offset, ignore it.
if ( offset < d . _vote_tally_buffer . size ( ) )
d . _vote_tally_buffer [ offset ] + = voting_stake ;
}
if ( opinion_account . options . num_witness < = props . parameters . maximum_witness_count )
{
uint16_t offset = std : : min ( size_t ( opinion_account . options . num_witness / 2 ) ,
d . _witness_count_histogram_buffer . size ( ) - 1 ) ;
// votes for a number greater than maximum_witness_count
// are turned into votes for maximum_witness_count.
//
// in particular, this takes care of the case where a
// member was voting for a high number, then the
// parameter was lowered.
d . _witness_count_histogram_buffer [ offset ] + = voting_stake ;
}
if ( opinion_account . options . num_committee < = props . parameters . maximum_committee_count )
{
uint16_t offset = std : : min ( size_t ( opinion_account . options . num_committee / 2 ) ,
d . _committee_count_histogram_buffer . size ( ) - 1 ) ;
// votes for a number greater than maximum_committee_count
// are turned into votes for maximum_committee_count.
//
// same rationale as for witnesses
d . _committee_count_histogram_buffer [ offset ] + = voting_stake ;
}
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
if ( opinion_account . options . num_son < = props . parameters . maximum_son_count )
{
uint16_t offset = std : : min ( size_t ( opinion_account . options . num_son / 2 ) ,
d . _son_count_histogram_buffer . size ( ) - 1 ) ;
// votes for a number greater than maximum_son_count
// are turned into votes for maximum_son_count.
//
// in particular, this takes care of the case where a
// member was voting for a high number, then the
// parameter was lowered.
d . _son_count_histogram_buffer [ offset ] + = voting_stake ;
}
2017-05-25 09:13:59 +00:00
d . _total_voting_stake + = voting_stake ;
}
}
} tally_helper ( * this , gpo ) ;
2019-11-07 05:55:02 +00:00
perform_account_maintenance ( tally_helper ) ;
2017-05-25 09:13:59 +00:00
struct clear_canary {
clear_canary ( vector < uint64_t > & target ) : target ( target ) { }
~ clear_canary ( ) { target . clear ( ) ; }
private :
vector < uint64_t > & target ;
} ;
clear_canary a ( _witness_count_histogram_buffer ) ,
b ( _committee_count_histogram_buffer ) ,
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
d ( _son_count_histogram_buffer ) ,
2017-05-25 09:13:59 +00:00
c ( _vote_tally_buffer ) ;
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
perform_son_tasks ( ) ;
2017-05-25 09:13:59 +00:00
update_top_n_authorities ( * this ) ;
update_active_witnesses ( ) ;
update_active_committee_members ( ) ;
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
update_active_sons ( ) ;
2017-05-25 09:13:59 +00:00
update_worker_votes ( ) ;
2018-07-03 16:39:50 +00:00
const dynamic_global_property_object & dgpo = get_dynamic_global_properties ( ) ;
modify ( gpo , [ & dgpo ] ( global_property_object & p ) {
2017-05-25 09:13:59 +00:00
// Remove scaling of account registration fee
p . parameters . current_fees - > get < account_create_operation > ( ) . basic_fee > > = p . parameters . account_fee_scale_bitshifts *
( dgpo . accounts_registered_this_interval / p . parameters . accounts_per_fee_scale ) ;
if ( p . pending_parameters )
{
2019-07-30 15:43:31 +00:00
if ( ! p . pending_parameters - > extensions . value . min_bet_multiplier . valid ( ) )
p . pending_parameters - > extensions . value . min_bet_multiplier = p . parameters . extensions . value . min_bet_multiplier ;
if ( ! p . pending_parameters - > extensions . value . max_bet_multiplier . valid ( ) )
p . pending_parameters - > extensions . value . max_bet_multiplier = p . parameters . extensions . value . max_bet_multiplier ;
if ( ! p . pending_parameters - > extensions . value . betting_rake_fee_percentage . valid ( ) )
p . pending_parameters - > extensions . value . betting_rake_fee_percentage = p . parameters . extensions . value . betting_rake_fee_percentage ;
if ( ! p . pending_parameters - > extensions . value . permitted_betting_odds_increments . valid ( ) )
p . pending_parameters - > extensions . value . permitted_betting_odds_increments = p . parameters . extensions . value . permitted_betting_odds_increments ;
if ( ! p . pending_parameters - > extensions . value . live_betting_delay_time . valid ( ) )
p . pending_parameters - > extensions . value . live_betting_delay_time = p . parameters . extensions . value . live_betting_delay_time ;
2019-12-06 15:26:49 +00:00
if ( ! p . pending_parameters - > extensions . value . gpos_period_start . valid ( ) )
p . pending_parameters - > extensions . value . gpos_period_start = p . parameters . extensions . value . gpos_period_start ;
2019-10-22 13:39:45 +00:00
if ( ! p . pending_parameters - > extensions . value . gpos_period . valid ( ) )
p . pending_parameters - > extensions . value . gpos_period = p . parameters . extensions . value . gpos_period ;
if ( ! p . pending_parameters - > extensions . value . gpos_subperiod . valid ( ) )
p . pending_parameters - > extensions . value . gpos_subperiod = p . parameters . extensions . value . gpos_subperiod ;
if ( ! p . pending_parameters - > extensions . value . gpos_vesting_lockin_period . valid ( ) )
p . pending_parameters - > extensions . value . gpos_vesting_lockin_period = p . parameters . extensions . value . gpos_vesting_lockin_period ;
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
if ( ! p . pending_parameters - > extensions . value . rbac_max_permissions_per_account . valid ( ) )
p . pending_parameters - > extensions . value . rbac_max_permissions_per_account = p . parameters . extensions . value . rbac_max_permissions_per_account ;
if ( ! p . pending_parameters - > extensions . value . rbac_max_account_authority_lifetime . valid ( ) )
p . pending_parameters - > extensions . value . rbac_max_account_authority_lifetime = p . parameters . extensions . value . rbac_max_account_authority_lifetime ;
if ( ! p . pending_parameters - > extensions . value . rbac_max_authorities_per_permission . valid ( ) )
p . pending_parameters - > extensions . value . rbac_max_authorities_per_permission = p . parameters . extensions . value . rbac_max_authorities_per_permission ;
if ( ! p . pending_parameters - > extensions . value . account_roles_max_per_account . valid ( ) )
p . pending_parameters - > extensions . value . account_roles_max_per_account = p . parameters . extensions . value . account_roles_max_per_account ;
if ( ! p . pending_parameters - > extensions . value . account_roles_max_lifetime . valid ( ) )
p . pending_parameters - > extensions . value . account_roles_max_lifetime = p . parameters . extensions . value . account_roles_max_lifetime ;
if ( ! p . pending_parameters - > extensions . value . son_vesting_amount . valid ( ) )
p . pending_parameters - > extensions . value . son_vesting_amount = p . parameters . extensions . value . son_vesting_amount ;
if ( ! p . pending_parameters - > extensions . value . son_vesting_period . valid ( ) )
p . pending_parameters - > extensions . value . son_vesting_period = p . parameters . extensions . value . son_vesting_period ;
if ( ! p . pending_parameters - > extensions . value . son_pay_max . valid ( ) )
p . pending_parameters - > extensions . value . son_pay_max = p . parameters . extensions . value . son_pay_max ;
if ( ! p . pending_parameters - > extensions . value . son_pay_time . valid ( ) )
p . pending_parameters - > extensions . value . son_pay_time = p . parameters . extensions . value . son_pay_time ;
if ( ! p . pending_parameters - > extensions . value . son_deregister_time . valid ( ) )
p . pending_parameters - > extensions . value . son_deregister_time = p . parameters . extensions . value . son_deregister_time ;
if ( ! p . pending_parameters - > extensions . value . son_heartbeat_frequency . valid ( ) )
p . pending_parameters - > extensions . value . son_heartbeat_frequency = p . parameters . extensions . value . son_heartbeat_frequency ;
if ( ! p . pending_parameters - > extensions . value . son_down_time . valid ( ) )
p . pending_parameters - > extensions . value . son_down_time = p . parameters . extensions . value . son_down_time ;
if ( ! p . pending_parameters - > extensions . value . son_bitcoin_min_tx_confirmations . valid ( ) )
p . pending_parameters - > extensions . value . son_bitcoin_min_tx_confirmations = p . parameters . extensions . value . son_bitcoin_min_tx_confirmations ;
2017-05-25 09:13:59 +00:00
p . parameters = std : : move ( * p . pending_parameters ) ;
p . pending_parameters . reset ( ) ;
}
} ) ;
2018-07-03 16:39:50 +00:00
auto next_maintenance_time = dgpo . next_maintenance_time ;
2017-05-25 09:13:59 +00:00
auto maintenance_interval = gpo . parameters . maintenance_interval ;
if ( next_maintenance_time < = next_block . timestamp )
{
if ( next_block . block_num ( ) = = 1 )
next_maintenance_time = time_point_sec ( ) +
( ( ( next_block . timestamp . sec_since_epoch ( ) / maintenance_interval ) + 1 ) * maintenance_interval ) ;
else
{
// We want to find the smallest k such that next_maintenance_time + k * maintenance_interval > head_block_time()
// This implies k > ( head_block_time() - next_maintenance_time ) / maintenance_interval
//
// Let y be the right-hand side of this inequality, i.e.
// y = ( head_block_time() - next_maintenance_time ) / maintenance_interval
//
// and let the fractional part f be y-floor(y). Clearly 0 <= f < 1.
// We can rewrite f = y-floor(y) as floor(y) = y-f.
//
// Clearly k = floor(y)+1 has k > y as desired. Now we must
// show that this is the least such k, i.e. k-1 <= y.
//
// But k-1 = floor(y)+1-1 = floor(y) = y-f <= y.
// So this k suffices.
//
auto y = ( head_block_time ( ) - next_maintenance_time ) . to_seconds ( ) / maintenance_interval ;
next_maintenance_time + = ( y + 1 ) * maintenance_interval ;
}
}
if ( ( dgpo . next_maintenance_time < HARDFORK_613_TIME ) & & ( next_maintenance_time > = HARDFORK_613_TIME ) )
deprecate_annual_members ( * this ) ;
modify ( dgpo , [ next_maintenance_time ] ( dynamic_global_property_object & d ) {
d . next_maintenance_time = next_maintenance_time ;
d . accounts_registered_this_interval = 0 ;
} ) ;
// Reset all BitAsset force settlement volumes to zero
2019-07-30 15:43:31 +00:00
//for( const asset_bitasset_data_object* d : get_index_type<asset_bitasset_data_index>() )
for ( const auto & d : get_index_type < asset_bitasset_data_index > ( ) . indices ( ) )
modify ( d , [ ] ( asset_bitasset_data_object & o ) { o . force_settled_volume = 0 ; } ) ;
NFT Marketplace HRP Beatrice Merge (#371)
* private-key option update
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* ci: update .gitlab-ci.yml
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
* Beatrice NFT HF
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
2020-08-10 15:42:59 +00:00
// Ideally we have to do this after every block but that leads to longer block applicaiton/replay times.
// So keep it here as it is not critical. valid_to check ensures
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
// these custom account auths and account roles are not usable.
NFT Marketplace HRP Beatrice Merge (#371)
* private-key option update
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* ci: update .gitlab-ci.yml
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
* Beatrice NFT HF
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
2020-08-10 15:42:59 +00:00
clear_expired_custom_account_authorities ( * this ) ;
Merge develop into beatrice (#386)
* Fix building on Ubuntu 18.04 with GCC 7
* Peerplays SON plugin skeleton (#122)
* Peerplays SON plugin skeleton
* SON tests skeleton
* Part two of SON-83 - plugins option in command line and config file (#126)
- Empty SON plugin is INACTIVE by default
- To enable it, add peerplays_sidechain to plugins section in
config file, or use --plugins command line option
- Plugin can work with or without witness
* SON11 - Add chain extension parameter to set SON count
* [SON-107] Merge develop branch to SONs-base (#166)
* fix rng and get_winner_numbers implemented
* coipied code for bitshares fixing 429 and 433 isuues
* ticket_purchase_operation implemented. added lottery_options to asset
* lottery end implemented
* minor logic changes. added db_api and cli_wallet methods
* fix reindex on peerplays network
* fix some tests. add gitlab-ci.yml
* add pull to gitlab-ci
* fix
* fix and comment some tests
* added owner to lottery_asset_options. commented async call in on_applied_block callback
* added get_account_lotteries method to db_api and cli, lottery end_date and ticket_price verification
* merge get_account_lotteries branch. fix create_witness test
* fix test genesis and end_date verification
* fixed indices sorting and lottery end checking by date
* update db_version for replay and removed duplicate include files
* Added ntp and upgraded boost version
* Revert "GPOS protocol"
* need to remove backup files
* virtual-op-fix for deterministic virtual_op number
* Merged beatrice into 5050
* Updated gitmodules, changes to allow voting on lottery fee
* Removed submodule libraries/fc
* Added libraries/fc
* added missing , in types.hpp
* Added sweeps parameters to parameter_extension
* added missing comma in operations.hpp, small changes to config.hpp
* fixed returntype in chain_parameters.hpp
* removed sweeps_parameter_extensions
* Changed fc library
* fixed asset_object
* Changed peerplays-fc submodule
* Changed fc submodule to ubuntu 18.04 upgrade
* Removed submodule libraries/fc
* Added fc library back
* fix casting in overloaded function
* Removed blind_sign and unblind_signature functions
* Added new lottery_asset_create_operation
* Changed sweeps hardfork time
* Removed redundant if from asset_evaluator and fixed db_notify
* fixed duplicate code in fee_tests
* removed redundant tgenesis file
* Enable building on Ubuntu 18.04 using GCC 7 compiler
* fix: is_benefactor_reward had the default value of true when not set
* Docker file for Ubuntu 18.04
Base image updated to Unbuntu 18.04
Prerequisite list updated
Basic configuration updated
* Quick fix: Added missing package pkg-config
* Docker file updates
* 5050 fee update and compilation error fix
* Dockerfile, set system locale
Prevents locale::facet::_S_create_c_locale name error
* Update README.md
Fix typo
* Update README.md
* Changed hardfork time for SWEEPS and Core-429
* revert master changes that were brought in previous commit
* Fixed error when account_history_object with id 0 doesnt exist
* Fixed error while loading object database
* test for zero id object in account history
* Reorder operations in Dockerfile, to make image creation faster
- Reorder prevents unnecessary building of Boost libraries
* Fix for irrelevant signature included issue
* fix copyrigth messages order
* remove double empty lines
* Backport fix for `get_account_history` from https://github.com/bitshares/bitshares-core/pull/628 and add additional account history test case
* NTP client back
* GRPH-53-Log_format_error
* Merge pull request #1036 from jmjatlanta/issue_730
Add fail_reason to proposal_object
* Unit test case fixes and prepared SONs base
* Use offsetof instead of custom macro
* Hide some compiler warnings
* Make all the tests compile
* Add nullptr check in api.cpp for easier testing
* Add test case for broadcast_trx_with_callback API
* Unit test case fixes and prepared SONs base
* Merge pull request #714 from pmconrad/json_fix
JSON fix
* Increase max depth for trx confirmation callback
* Adapt to variant API with `max_depth` argument
* Update fc submodule
* Created unit test for #325
* remove needless find()
* GRPH-4-CliWallet_crash_ctrlD
* fix copyright message
* Make all the tests compile
* increase delay for node connection
* Increase block creation timeout to 2500ms
* remove cache from cli get_account
* add cli tests framework
* Adjust newly merged code to new API
* Improved resilience of block database against corruption
* Merged changes from Bitshares PR 1036
* GRPH-76 - Short-cut long sequences of missed blocks
Fixes database::update_global_dynamic_data to speed up counting missed blocks.
(This also fixes a minor issue with counting - the previous algorithm would skip missed blocks for the witness who signed the first block after the gap.)
* Moved reindex logic into database / chain_database, make use of additional blocks in block_database
Fixed tests wrt db.open
* Enable undo + fork database for final blocks in a replay
Dont remove blocks from block db when popping blocks, handle edge case in replay wrt fork_db, adapted unit tests
* Log starting block number of replay
* Prevent unsigned integer underflow
* Fixed lock detection
* Dont leave _data_dir empty if db is locked
* Writing the object_database is now almost atomic
* Improved consistency check for block_log
* Cut back block_log index file if inconsistent
* Fixed undo_database
* Added test case for broken merge on empty undo_db
* Merge pull request #938 from bitshares/fix-block-storing
Store correct block ID when switching forks
* exclude second undo_db.enable() call in some cases
* Add missing change
* change bitshares to core in message
* Fixed integer overflow issue
* Fix for for history ID mismatch ( Bitshares PR #875 )
* Update the FC submodule with the changes for GRPH-4
* Fix #436 object_database created outside of witness data directory
* supplement more comments on database::_opened variable
* prevent segfault when destructing application obj
* Fixed duplicate ops returned from get_account_history
* minor performance improvement
* Added comment
* Merged Bitshares PR #1462 and compilation fixes
* Support/gitlab (#123)
* Updated gitlab process
* Fix undefined references in cli test
* Fixed test failures and compilation issue
* Fixed account_history_pagination test
* Fix compilation in debug mode
* Removed unrelated comment
* Skip auth check when pushing self-generated blocks
* Extract public keys before pushing a transaction
* Dereference chain_database shared_ptr
* Updated transaction::signees to mutable
and
* updated get_signature_keys() to return a const reference,
* get_signature_keys() will update signees on first call,
* modified test cases and wallet.cpp accordingly,
* no longer construct a new signed_transaction object before pushing
* Added get_asset_count API
* Allow sufficient space for new undo_session
* Throw for deep nesting
* No longer extract public keys before pushing a trx
and removed unused new added constructor and _get_signature_keys() function from signed_transaction struct
* Added cli_test to CI
* use random port numbers in app_test (#154)
* proposal fail_reason bug fixed (#157)
* Added Sonarcloud code_quality to CI (#159)
* Added sonarcloud analysis (#158)
* fix for lottery end
* fix declarations
* fix declarations
* fix boost integer
* fix compilation
* fix chain tests
* fix app_test
* try to fix cli test
* fix incorrect max_depth param
* working cli test
* correct fc version
* Revert "[SON-107] Merge develop branch to SONs-base (#166)"
This reverts commit 499e3181990d7b732459a38263a6039703c94720.
* Fix build error, add missing GRAPHENE_MAX_NESTED_OBJECTS parameter
* Plugin description added, SON plugin params example
* fix for cli test
* SON object, operations, cli_wallet commands and RPC (#160)
- create_son, update_son, delete_son, list_sons
- get_sons, get_son_by_account, lookup_son_accounts, get_son_count
- vote_for_son, update_son_votes
- claim_registered_son
- get_son in cli_wallet
- Updating global_property_object
- Decrease SON hardfork time for test purposes
- CLI Wallet tests imported from develop branch
* fix affiliate tests
* SON-108 - Add cli wallet tests for create_son (#174)
* SON-108 - Add cli wallet tests for create_son
* Add info message at the beginning and end of the SON CLI tests
* Minor output message change
* Enable Boost test messages in unit tests
* [SON-110] get_son cli test (#173)
* get_son cli test
* update_son cli test
* Add cli wallet tests for vote_for_son (#175)
* fix insert object processing in indexes, son_delete is working
* Fix segfault when using delete_son from cli_wallet (#177)
* Fix segfault when using list_sons from cli_wallet (#178)
* Add son_delete cli tests (#182)
* Add son_delete cli tests
* add son vesting config options
* add vesting balance type support
* add dormant vesting policy for son
* add precision to son vesting amount
* SON118-Add Budget for SON (#165)
* SON118-Add Budget for SON
* SON118 - Compilation errors fix
* SON118 - Proper commenting around pay_sons function
* SON118 - Comment correction, SON statistics object implementation type correction
* SON118 - Add missing index init and reflect enums
* SON118 - Correcting the indentation
* SON118 SON144 - Add unit test, code fixes and resolve failures for existing tests
* SON118 SON144 - Removing extra spaces added
* abstraction of dormant vesting policy
* force son create vesting balance to have dormant policy
* remove not needed code from wallet son commands, add delete son test to cli (#181)
* Active SONs, list up to 15, order by votes, add test (#185)
* Add test for selecting 15 SONs with highest votes
* Display up to 15 active SONs, SON ordering by total_votes
* fix build error (#191)
* fix build error
* adapt son_pay_test to dormant vesting policy
* [SON-113] Unit test for cli `update_son_votes` (#179)
* refactor cli tests
* update_son_votes tests
* list_sons test
* test changes in get_global_properties() result
* fix generate_block failure
* fix update_son_votes test
* improve update_son cli test
* fix linking errors
* refactor select_top_fifteen_sons test
* refactor other son cli tests to use son_test_helper
* create_vesting call in wallet_api
* test fix
* fix create_son in wallet_api and cli tests
* SON126 - Witness Proposals to deregister SONs (#192)
* SON126 - Witness Proposals to deregister SONs
* SON126 - Approval by witness, removal of son_proposal_object, commenting
* SON126 - Witness proposal tests and related fixes
* SON126 - Proper commenting
* fix son_delete_operation reflection
* [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call
* change type for vesting_type in create_vesting_balance
* [SON-113] Fix several issues in update_son_votes call in wallet_api (#208)
* do not allow update votes with both empty lists
* fix error messages
* check number of sons against votes number in account_object
* Update error message
* list_active_sons api call implementation
* unit test for list_active_sons
* fix code style
* use assert instead of checking condition with low possibility
* Fixed betting tests (#217)
* Fixed betting tests
* Removed comments
* removed unrelated parameter description from delete_son
* Add Bitcoin network listener to a SON plugin (#196)
* Add Bitcoin network listener to a SON plugin
* Add default parameters for Peerplays Bitcoin test node
* Add Bitcoin block processing
* Update source code to last designs
* Set default parameters for peerplays_sidechain plugin to Bitcoin test server
* WIP: Some Bitcoin transaction processing
* [SON-199] Fix unit tests (#233)
* fix app_test
* fix son_delete_test
* Add peerplays account for a SON in a config/command line options (#231)
* SON193-SON200- SON Heartbeats and maintenance mode changes (#241)
* SON193-SON200- SON Heartbeats and maintenance mode changes
* SON193-SON200- SON Heartbeats and maintenance tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
* SON194-SON195 - Report SON Down, addition of SON Account for sidechain consensus (#244)
* SON194-SON195 - Addition of SON BTC Account and report son down changes
* SON194-SON195 - SON BTC Account errors rectification
* SON194-SON195 - Adding Tests
* User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a281604688771e96ceb1e65a35d98e8e5.
* WIP: User sidechain address mappings
* Fix reflection problem
* Reflect missing members of sidechain_address_update_operation
* Add sidechain address operation tests
* Enable RPC calls
* Fix build errors due to merge conflict
* Fix RPC, add CLI wallet commands for sidechain addresses
* Improved peerplays_sidechain_plugin_impl
* Remove short param for son-id
* Fix crashing errors on bitcoin event received
* Code review changes
* SON207 - Introduce scheduling for SONs similar to witnesses (#251)
* Extend SON objects to contain sidechain public keys (#254)
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
* SON206 - Plugin SON Heartbeat changes (#250)
* SON206 - Plugin SON Heartbeat changes
* SON206 - Plugin SON Heartbeat changes, comment removal
* SON206 - Plugin SON Heartbeat changes, stub testing and changes
* SON206 - Plugin SON Heartbeat changes, removing debugs prints
* Wallet recreation on new set of SONs voted in (#256)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* Fix build errors
* SON212-SON213 - Add Sidechain Plugin Code to report and approve SON Down proposal (#260)
* SON212 - Add Sidechain Plugin Code to report SON Down
* SON212-SON213 - Add Sidechain Plugin Code to report SON Down, Approve proposal from sidechain plugin
* SON212-SON213 - Fix Build Error (#262)
* SON212-SON213 - Fix Build Error
* SON212-SON213 - Fix Build Error Add smart_ref definition for linking
* Updated gitlab CI to sync submodules (#265)
* SON217 - SON Maintenance,Heartbeat state transition changes (#264)
* SON217 - SON Maintenance,Heartbeat state transition changes
* SON217 - SON Maintenance,Heartbeat state transition changes
* [SON-202] Implement cli_wallet commands for maintenance mode (#261)
* Add stop_son_maintenance CLI call
* fix bug with SON activation
* son_maintenance_operation
* son_maintenance_operation tests
* cli test for son maintenance state
* start_son_maintenance CLI call
* keep maintenance state during active SON set changes
* Quick fix for list_active_sons
* SON199 - Fix Unit Test Failure (#268)
* Quickfix for update_sidechain_address and delete_sidechain_address cli commands
* SON206_Plugin_CrashFix_Reorg - Plugin Changes (#272)
* SON206_Plugin_CrashFix_Reorg - Plugin Changes
* SON206_Plugin_CrashFix_Reorg - add owner auths to consensus account
* SON165 - Keys mapping missing from wallet data (#274)
* SON232 - Avoid duplicate proposals from sidechain plugin (#275)
* SON233 - Provide correct downtime metrics to user (#278)
* son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
* SON214 - Request maintenance wallet commands (#280)
* SON wallet transfer object and operations (#279)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add is_active_son guards for sidechain events processing
Co-authored-by: gladcow <jahr@yandex.ru>
* Support multiple SON nodes per software instance (#282)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Temoprary disable account history tests for tracking accounts
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-209] Create P2SH address with custom redeemScript (#271)
* Create redeem script for SONs primary wallet
* Add importaddress call
Allows to watch for related transactions without private keys import
* Get UTXO set for watched addresses
* createrawtransaction call
* signing PW spending transaction
* unit test for btc tx serialization
* sending PW transfer in test
* BIP143 tx signing
* use bech32 address format
* use single sha256 for lock script
* Digest fix
* working signing
* separate signing
* test partially signed PW transfer
* add ability to gather signatures before signing (#290)
* [SON-242] fix list_active_sons call after deleting an active son (#292)
* test to reproduce error in list_active_sons after delete_son
* prevent exception in list_active_list
* [SON-260] Sidechain Token withdrawal (#286)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* Withdrawal refactoring
* Withdrawal refactoring
Co-authored-by: gladcow <jahr@yandex.ru>
* SON261 - Bitcoin deposit, withdrawal, PW transfer (#287)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* son_wallet_object operations
* son_wallet_object operations completed, basic tests added
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Send RPC command to bitcoin node to recreate multisig wallet
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Wallet recreation by scheduled SON only, some cosmetic refactoring
* Updating wallet info through operation instead through database.modify() for persistance
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
Co-Authored-By: gladcow <jahr@yandex.ru>
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* SON wallet transfer object and operations, for tracking assets deposit/withdrawal
* Refactor primary wallet recreation
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
* Squashed commit of the following:
commit a688bb93ed4e16232a907aa8c76e240c83c771bf
Author: obucinac <obucinac@users.noreply.github.com>
Date: Tue Feb 4 19:31:45 2020 +0100
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys
* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
commit 6e61d6b055eb276757e426245a3a7c23a61b3854
Author: satyakoneru <satyakoneru.iiith@gmail.com>
Date: Tue Feb 4 00:14:39 2020 +1100
SON233 - Provide correct downtime metrics to user (#278)
* Remove duplicated item in CMakeLists.txt
* Issue tokens to the user who deposited Bitcoin, WIP...
* Add son_wallet_transfer_process_operation
* Issue tokens to the user who deposited Bitcoin, WIP...
* Support multiple SON nodes per software instance
* Add is_active_son guards for sidechain events processing
* Add is_active_son guards, fix sending proposals and aprovals
* Managing GRAPHENE_SON_ACCOUNT and issuing assets on Bitcoin deposit
* Fix bad param
* Fix aprovals on already approved or invalid proposals
* Move transfer inside son_wallet_transfer_process_operation
* Fix merging issue
* Add cmake command line option SUPPORT_MULTIPLE_SONS
* Skeleton of sidechain_net_handler_peerplays
* Skeleton of Peerplays network listener
* SON261 - Deposit transfer ( user address -> PW ) and Withdrawal transfer ( PW -> user address ) for m-of-n multisig
* Temoprary disable account history tests for tracking accounts
* Full Peerplays listener, use GRAPHENE_SON_ACCOUNT instead son_btc_account
* Renaming son_wallet_transfer* to son_wallet_deposit*, introducing son_wallet_withdrawal*
* Extend sidechain_address_object to contain withdrawal addresses
- Withdrawal address is the address where system will send sidechain currencies
* Rename son_wallet_withdrawal* to son_wallet_withdraw*
* Some refactoring
* SON261 - Withdrawal transfer ( PW -> user address ), addition of bitcoin public private key to config.ini for multiple sons mode
* Withdrawal refactoring
* Withdrawal refactoring
* SON261 - Fix prepare_tx
* SON261 - Add PW->PW Transfer and Code reorg
* Fix file permissions
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: gladcow <jahr@yandex.ru>
* [SON-264] Integrating deposit/withdrawals with bitcoin transactions (feature/SON-260 + SON261 branches) (#291)
* Partial integration done, some Bitcoin RPC refactoring
* CLang Format config file
* CLang Format config file v2.0
* Fix repeating tasks that should be executed by scheduled SON only
* Fix withdrawal
* Integrate PW wallet fund moving
* Resolve conflicts
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
* SON200 - SON Down proposal broken after latest merges (#294)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness (#298)
* SON200 - SON Down proposal broken after latest merges
* Add the owner weight threshold similar to witnesses and committee accounts
* SON269 - Move SON deregistration to Plugin from witness
* Various SON improvements (#297)
* Refactor SON processing
* Better exposure of sidechain private keys in sidechain handlers
* Support non default Bitcoin wallets
* Fix crash on config file recreation
* clang-format formatting
* New Bitcoin wallet related RPC calls
* Add missing create_son_deregister_proposals calls
* Add missing create_son_deregister_proposals calls
* Add loading/unlocking/locking of non-default bitcoin wallet
* Bitcon RFC logs improved, proposal aprovement improved
* Move signal connection after handlers are created
* Merge develop into SONS
* SON118 - Add tx sign metrics for SON rewards (#302)
* resolved compilation issues and other conflicts
* SON202 - Maintenance improvements (#303)
* Quickfix, remove dead code, return result from wallet withdraw do_evaluate
* SON275 - ZMQ Crash on application exit (#306)
* SON275 - ZMQ Crash on application exit
* SON275 - Fix Indentation
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* need to assign both name and id to stats id
* fix unit test case failures(add gpos vesting before voting)
* SON276 - Fix SON proposal exceptions - I (#307)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Add SON statistic for tracking reported sidechain transactions (#308)
- Deposit and Withdrawal object extended to contain expected
and received transaction reports from SON network
- SON statistic object extended to contain total number of
sidechain transactions reported by SON network when SON was
active and number of transactions reported by single SON when
he was active
- Code formatting
* Allow voting for son, only if GPOS vesting balance available
* notifications of SONS should get restrict to sons functionality
* update GPOS hardfork date to sons branch
* SON127 - Add son parameter extensions to genesis, push proposal fix (#310)
* SON276 - Fix SON proposal exceptions - I
* SON127 - Add son parameter extensions to genesis, push proposal fix
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* update GPOS HF to fall in before SONS HF, remove check
* updated unit test cases to reflect GPOS vesting and update account id's according to sons-account
* [SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch"
* [SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Replace raw with psbt transactions to support parital tx signing (#311)
* RPC calls for PSBT, raw transactions replaced with PSBT
* Fix estimatesmartfeerate, extensive RPC calls logging for debugging purposes
* Remove dead code
* Partial signing functional for deposit and withdrawal
* Fix sidechain_type declarations
* Depositing Peerplays asset refactored
* Partial signing functional for primary wallet funds moving
* Prettier logs
* Refactor multiple SON support processing
* Serialize field complete from sidechain_transaction_sign_operation
* Refactor transaction signing in particular order, BTC only (maybe) need it
* Add number of required signatures parameter for addmultisigaddress
* Change default bitcoin node parameters
* Transaction signing only by scheduled son
* Removed scheduling log
* Prevent PW funds moving to the same address
* Refactor sidechain_transaction_object processing, code cleanup
* Remove obsolete tests
* Decrease logging
* Code readability
* When updated, import son wallet bitcoin address to bitcoin wallet
* When updated, recreate son wallet bitcoin address on each node
* Refactor on_changed_objects, move it into task
* Add check to prevent deposit/withdrawal double processing
* Improved check for sidechain transaction object creation
* Single sidechain transaction signature per block allowed only
* Unlock wallet on addmultisigaddress
* Import both address and redeem script on primary wallet change, fix some compiler warnings
* Fix invalid list of signers for PW funds transfer
* [SON-312] Refactor create_son to assign owner account public key as a signing_key
remove key derivation from create son (#323)
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
* [SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322)
* Parallelizing sidechain transaction signing (#319)
* [SON-321, SON-323] Deposit/Withdraw object creation refactoring (#320)
* Remove proposals for creating deposit and withdrawal objects, strenghten evaluator checks
* Only active SON can create the object
* Only expected SON can confirm the transaction
* Transaction must be initiated (paid) by SON account owner (SON account given in operation)
* Transaction confirmation must contain exactly the same data as existing object
* Mirror SON owner account weights from son-account.active.account_auths to active SONs
* Fix duplicated typedef, peerplays_sidechain::sidechain_type to chain::sidechain_type
* Add missing serialized field
* [SON-318_SON-319] - Add approval checks for son down, deregister proposals (#321)
* [SON-318_SON-319] - Add approval checks for son down and deregister proposals
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-311] Add try_create_son call without explicit deposit params (#324)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Fix build error
* Quickfix - change GPOS and SON hardfork times
* [SON-332] Check gitlab building process for dirty build (#327)
* Fix failing son test, fix data types and check condition
* Very clean build on Gitlab
* update son-account parameters (#328)
* [SON-329] Hotfix - Enable test test_update_dividend_interval
* [SON-313] - Limit SON functionality when min no. of sons are not present (#329)
* [SON-313] - Limit SON functionality when min no. of sons are not present
* Revert SON HF related checks and tests
* Remove the capability to process proposals in plugin
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-307] Create PBTC asset (#326)
* SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - add initialization values to extension params, remove trailing spaces
* [SON-305, SON-308, SON-310] Use BTC asset in bitcoin deposits and withdraws (#332)
* [SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues (#335)
* [SON-291,SON-328] - SON Configuration invalid, PW creation issues
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-322, SON-324] Approval checks for processing deposit/withdrawal (#330)
* Refactor proposal processing
* Added check for approving son_wallet_deposit_process_operation
* Added check for approving son_wallet_withdraw_process_operation
* Calculating exchange rates fixed
* Fix depositing Peerplays assets
* [SON-320] Added check for approving son_wallet_update_operation (#336)
* [SON-325] Added check for approving sidechain_transaction_create_operation (#337)
* [SON-341, SON-342] Fix issue with deposits number (#339)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* [SON-344] BTC asset is created with wrong quote asset id, Fixed (#341)
* [SON-344] BTC asset is created with wrong quote asset id, Fixed
* Respond to code review
* [SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342)
* [SON-348] Transaction hash not saved in object after Bitcoin transaction is sent (#343)
- Fixed
- Unused parameters removed
* [SON-337] - Prevent update_son_votes without GPOS vesting (#344)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-353] Refactor PW processing, PW transfer fixed (#347)
* Add proposal checks for deposit and withdrawal
* Refactor proposal approvement
* Fix transaction verification
* Remove logs
* [SON-354] Fix son_info compare function (#350)
* check object's id (#351)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* SON Weighted Multi Signature Signing (#349)
* Bring in the bitcoin utils code into plugin
* Add tx creation, signing and tests
* tx deserialization fix
* add 10-of-14 multisig address test
* Add signing and verification tests and sign_transaction_standalone
* Add send_transaction_standalone function
* Debug logs and additional tests
* Fix for son deletion in the middle
* Extend script_builder
* Witness script for weighted wallet
* btc_weighted_multisig_address implementation
* Fix for bad-txns-nonstandard-inputs
* Weighted multisignature address test
* Create test tx with weighted multisig wallet
* Fix the issues with tx signing
* End to End test weighted multi sig
* 1 or m-of-n deposit address support
* Move network_type enum to the base class
* btc_one_or_weighted_multisig_address implementation
* Simplify redeem script
* Fix error in redeem_script
* btc_one_or_weighted_multisig_address tests
* Refactor sidechain address mapping
* CLANG code format
* CLANG code format sidechain tests
* Integration of deposit and rest of weighted wallets, withdrawal fee fix, whole code refactoring
* Move util functions to Utils file
* Add proper checks for withdraw fee
* Deposit address creation, import deposit/withdraw addresses, some code cleanup
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
* [SON-349] Delay BTC asset issue/reserve until tx confirmed on sidchain (#348)
* Separate transaction settling from deposit/withdrawal processing
* Handle peerplays deposits with transaction settling
* Remove logs
* All dev features enabled/disabled with single flag
* Deposit/withdraw process and sidechain transaction creation in single proposal
* Hotfix - remove importing sidechain addresses
* Hotfix - remove redundant deposit sidechain address recreation
* private-key option update
* Use decoderawtraction json for proposal approvals (#352)
* Use decoderawtraction json for proposal approvals
* Use default null string to get first vout
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Prevent incorrect signatures to be added to transaction (#354)
* Prevent incorrect signatures to be added to transaction
* Check signers list before signing
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Hotfix - use getrawtransaction for approvals and settling (#355)
* Revert "Use decoderawtraction json for proposal approvals (#352)"
This reverts commit d3385b28cb75bbf43ff6fbcccee404d2183ff8a7.
* User getrawtransaction for proposal approvals and settling
* Code cleanup
* [SON-135] Add timelock to user deposit address (#356)
* timelocks
* timelocked deposit address
* test for deposit timelock
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - fix threshold_weight calculation in redeem scripts
* fix broken peerplays_sidechain tests (#357)
Co-authored-by: gladcow <s.gladkov@pbsa.info>
* Hotfix - Save deposit address redeem and witness script into sidechain address object
* [SON-359] - Fix Errors processing to-be-refunded deposits (#358)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* [SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion
* Fix the tests
* [SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Bitcoin network type deduction (#361)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* chore: changed building to debug mode
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* chore: updated Dockerfile with dnsutils
* GPOS2 HF - Handle rolling period on missing blocks (#369)
* Mainnet chain halt 5050 Issue (#370)
* Peerplays Marketplace + NFT (#367)
* ppy marketplace 1 - add evaluators and objects
* NFT object and basic operations
* ci: update .gitlab-ci.yml
* ci: update .gitlab-ci.yml
* NFT evaluators and basic tests, no evaluator checks
* Evaluator checks in place
* ppy marketplace 2 - batch sale, offer_object escrow
* Database API
* Wallet API
* NFT metadata implemented
* Fix NFT tests
* Database API for NFT metadata and enumerables
* ppy marketplace 4 - Add tests NFT+Marketplace
* ppy marketplace 5 - Add revenue split
* ppy marketplace 6 - Remove unnecessary files
* ppy marketplace 7 - Add db, wallet changes and some NFT fixes
* ppy marketplace 8 - Add pagination for list APIs
* New DB API, list all NFTs, list NFTs by owner
* Marketplace + NFT + RBAC (#368)
* rbac1 - evaluators and op validators added
* rbac2 - op_type hf checks
* rbac3 - tx auth verify changes
* Update .gitlab-ci.yml
* rbac4 - basic op tests
* rbac5 - clear expired and deleted permission linked auths
* rbac6 - more tests
* rbac7 - more tests
* rbac8 - more tests
* rbac9 - wallet and db api changes
* rbac10 - db api changes for required signature fetch
* rbac11 - add db_api tests
* rbac12 - add missing code for key auths
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
* Fix nft_get_token_uri returning empty string
* Fix nft_mint_evaluator to save token_uri
* Fix cli_wallet to properly pass metadata id for nft_create
* ppy marketplace 9 - FC_REFLECT offer create op
* Add stricter checks to NFTs
* Unlisting offers, add result in offer history object
* Reverting genesis.json wrong commit
* Add non-transferable non-sellable properties to NFTs
* Review comments - change variable names, use scoped enums
* nft_metadata_update changes
* NFT HF checks and op fee addition changes
* NFT make revenue_split integer from double
* revenue_split condition check allow zero or above
Co-authored-by: Srdjan Obucina <obucinac@gmail.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
* Son deposit address enhancements (#362)
* Deposit address enhancements
* fix tests
Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
* Ws updates
* Fix for custom operation authority checking (BTS Issue #210) (#382)
* Resolve #210: [HF] Check authorities on custom_operation
The required_auths field on custom_operation was being ignored during authority checking. This commit causes it to be checked correctly, and adds a unit test verifying as much.
* Ref #381: Fixes
Build and logic fixes for Pull Request #381
* Ref #381: Fix bad merge
During merge conflict resolution, I accidentally broke custom
authorities. This fixes it.
* compilation fix
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
* Cleanup changes for pretier diff
* Cleanup changes for prettier diff
* NFT Permissions (#380)
* Account Roles Permission 1 - Working code with tests
* Account Roles Permission 2 - Add marketplace offer/bid tests
* Account Roles Permission 3 - Add Op check
* Account Roles Permission 4 - Add chain params and limits
* Cleanup changes for prettier diff
* Fix failing saving_keys_wallet_test
* Fix failing saving_keys_wallet_test
* Align submodule versions
* Add missing break
* Increase tests log_level, some cleanup
* Decrease log level for tests
* Fix block_tests/maintenance_interval test
* Fix son_operation_tests/son_pay_test test
* Remove base_uri length checks
* Fix HF info
Co-authored-by: S <obucinac@gmail.com>
Co-authored-by: Bobinson K B <bobinson@gmail.com>
Co-authored-by: obucinac <obucinac@users.noreply.github.com>
Co-authored-by: satyakoneru <satyakoneru.iiith@gmail.com>
Co-authored-by: gladcow <jahr@yandex.ru>
Co-authored-by: gladcow <s.gladkov@pbsa.info>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
Co-authored-by: Sandip Patel <sandip@knackroot.com>
Co-authored-by: Roshan Syed <r.syed@pbsa.info>
Co-authored-by: pbattu123 <p.battu@pbsa.info>
Co-authored-by: sierra19XX <15652887+sierra19XX@users.noreply.github.com>
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
Co-authored-by: obucina <11353193+obucina@users.noreply.github.com>
Co-authored-by: pbattu123 <43043205+pbattu123@users.noreply.github.com>
Co-authored-by: Roshan Syed <roshan.syed.rs@gmail.com>
Co-authored-by: Satyanarayana Koneru <skoneru@SK-GT.local>
Co-authored-by: blockc p <pravin.blockc@gmail.com>
Co-authored-by: Nathan Hourt <nathan@followmyvote.com>
2020-10-06 12:49:42 +00:00
clear_expired_account_roles ( * this ) ;
2017-05-25 09:13:59 +00:00
// process_budget needs to run at the bottom because
// it needs to know the next_maintenance_time
process_budget ( ) ;
2019-07-30 15:43:31 +00:00
} FC_CAPTURE_AND_RETHROW ( ) }
2017-05-25 09:13:59 +00:00
} }