Commit graph

316 commits

Author SHA1 Message Date
obucina
770ccdb77a
[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
2020-03-27 21:15:46 +01:00
obucina
54390346c1
[SON-271] Merge recent develop branch changes(both GPOS and graphene updates) into SONs branch (#322) 2020-03-27 18:46:30 +01:00
obucina
e170676ff9
[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>
2020-03-27 14:40:37 +01:00
obucina
0f97241f1b
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
2020-03-25 11:44:22 +01:00
obucina
19a34e9102
Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch" 2020-03-21 09:47:46 +01:00
pbattu123
275315ee3e gpos, graphene updates 2020-03-19 00:54:15 -03:00
pbattu123
3ffcd4fdd0 Allow voting for son, only if GPOS vesting balance available 2020-03-16 18:24:28 -03:00
satyakoneru
2e8c074655
SON202 - Maintenance improvements (#303) 2020-03-06 22:49:26 +11:00
pbattu123
da4954c686 resolved compilation issues and other conflicts 2020-03-05 16:20:24 -04:00
pbattu123
11718af9b8 Merge develop into SONS 2020-03-03 16:42:51 -04:00
obucinac
13d2b27ed9
[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 a688bb93ed
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 6e61d6b055
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>
2020-02-23 22:03:43 +05:30
gladcow
a9cfadc500
[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
2020-02-23 22:01:51 +05:30
satyakoneru
daf7ac5da8
SON214 - Request maintenance wallet commands (#280) 2020-02-07 11:19:16 +05:30
obucinac
a688bb93ed
son_wallet_object operations and multisig wallet recreation by RPC (#263)
* Extend GPO.active_sons to contain votes and all public keys

* Introduce son_wallet_object
* son_wallet_object operations
* Create son_wallet_object on new set of SONs, to initiate primary wallet recreation
* son_wallet_object API and cli wallet commands
* Send RPC command to bitcoin node to recreate multisig wallet
* Updating wallet info through operation instead through database.modify() for persistance
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Update libraries/chain/include/graphene/chain/protocol/son_wallet.hpp
* Fix #include <graphene/chain/son_wallet_transfer_object.hpp>
* Refactor primary wallet recreation
* PW recreation refactoring, prevent duplicated recreations, update wallet address through proposal
* Quickfix for checking payer in evaluator
* Fix failing son_wallet_tests
- Check for son_btc_account is temporarely disabled
* Remove redundant file
Co-authored-by: gladcow <jahr@yandex.ru>
2020-02-04 19:31:45 +01:00
satyakoneru
21c8337753
SON165 - Keys mapping missing from wallet data (#274) 2020-01-29 17:50:36 +05:30
Srdjan Obucina
7139b4a4e3 Quickfix for update_sidechain_address and delete_sidechain_address cli commands 2020-01-23 13:15:55 +01:00
Srdjan Obucina
e0e427a366 Quick fix for list_active_sons 2020-01-20 15:08:34 +01:00
gladcow
11339c1734 [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
2020-01-18 02:00:45 +05:30
obucinac
47eafcf6c0 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
2020-01-13 19:28:43 +05:30
obucinac
31ec55514b
Extend SON objects to contain sidechain public keys (#254) 2019-12-23 19:20:26 +01:00
obucinac
6d5b86a8e5
User sidechain address mappings (#240)
* WIP: Sidechain objects
* Revert "WIP: Sidechain objects"
This reverts commit 8676940a28.
* 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
2019-12-18 19:30:38 +01:00
Sandip Patel
76b95729e1 removed unrelated parameter description from delete_son 2019-11-21 13:34:29 +05:30
gladcow
dbf6be02c5 use assert instead of checking condition with low possibility 2019-11-11 13:13:57 +03:00
gladcow
62f973ca80 fix code style 2019-11-11 12:54:54 +03:00
gladcow
22f76a04c0 list_active_sons api call implementation 2019-11-07 13:38:24 +03:00
gladcow
e4eb3e6ce3 [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
2019-11-01 22:26:00 +05:30
gladcow
a0e4ac59ff [SON-160] Fix create_vesting wallet_api call (#206)
* Fix create_vesting wallet_api call

* change type for vesting_type in create_vesting_balance
2019-11-01 19:13:34 +05:30
satyakoneru
666ced390e 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
2019-10-23 22:16:04 +05:30
gladcow
f9f95cd242 [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
2019-10-23 18:54:17 +05:30
Alfredo Garcia
dcaf55a184 remove not needed code from wallet son commands, add delete son test to cli (#181) 2019-10-18 15:49:38 +05:30
obucinac
f3150d4208
Fix segfault when using list_sons from cli_wallet (#178) 2019-10-15 00:42:19 +02:00
obucinac
9201e0d000
Fix segfault when using delete_son from cli_wallet (#177) 2019-10-15 00:37:43 +02:00
obucinac
e3548de34e
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
2019-10-09 22:24:36 +02:00
Bobinson K B
e377478c34
Merge pull request #139 from peerplays-network/feature/GRPH-94
Improve block generation performance
2019-09-24 13:51:46 -04:00
Bobinson K B
1cb494e686
Merge pull request #140 from peerplays-network/feature/GRPH-111
Added get_asset_count API
2019-09-23 09:55:27 -04:00
Miha Čančula
97f9875918
Merge branch 'develop' into GRPH-50-network_broadcast_api-fix-v2 2019-09-21 17:17:19 +02:00
Sandip Patel
aa31de5d44 Added get_asset_count API 2019-09-20 17:51:43 +05:30
abitmore
2dfb67e16e 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
2019-09-20 14:10:24 +03:00
Miha Čančula
499a5fc33e
Merge branch 'develop' into GRPH-50-network_broadcast_api-fix-v2 2019-09-18 16:36:42 +02:00
Sandip Patel
dfba08536b Fixed duplicate ops returned from get_account_history 2019-09-18 10:16:16 +05:30
Bobinson K B
ef7fe58139
Merge pull request #98 from peerplays-network/cli_wallet_tests
Cli wallet tests framework
2019-09-07 00:42:58 +05:30
Alfredo Garcia
3362d603cb remove cache from cli get_account 2019-08-30 16:49:54 -03:00
Miha Čančula
cb99aaa0cf
Adapt to variant API with max_depth argument 2019-08-28 15:42:21 +02:00
Abit
a49f8bf47c
Merge pull request #714 from pmconrad/json_fix
JSON fix
2019-08-28 15:42:21 +02:00
Ronak Patel
6dddfd5d88 Fix for irrelevant signature included issue 2019-08-28 17:27:38 +05:30
pbattu123
f9e46a31df
Merge branch 'beatrice' into qa_gpos_18.04_gcc7_fix 2019-08-20 15:42:03 -03:00
pbattu123
947b02bd57
Merge branch 'beatrice' into beatrice-5050-merge 2019-08-20 15:15:01 -03:00
Miha Čančula
f525737879 Fix out-of-source CMake builds 2019-08-19 15:13:27 +02:00
Prabhjot
a0ae945f8d Added new lottery_asset_create_operation 2019-08-09 13:01:57 -04:00
Prabhjot Singh
aa3128fe89 Merged beatrice into 5050 2019-07-30 11:43:31 -04:00