Commit graph

1272 commits

Author SHA1 Message Date
Serki
318b992cb2 Cleanup changes for prettier diff 2020-09-22 19:23:16 +02:00
Serki
2264aa0052 Cleanup changes for pretier diff 2020-09-22 18:56:19 +02:00
Serki
c6c26a7d9f Merge branch 'develop' into feature/SONs-base 2020-09-22 18:23:36 +02:00
sierra19XX
c46e899cf4
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>
2020-09-08 18:05:29 +05:30
sierra19XX
bfdecbb49b
Son deposit address enhancements (#362)
* Deposit address enhancements

* fix tests

Co-authored-by: Koneru Satyanarayana <15652887+satyakoneru@users.noreply.github.com>
2020-08-14 19:32:33 +05:30
sierra19XX
ecd14b8329
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>
2020-08-10 23:18:47 +10:00
sierra19XX
c36d4c9687
Mainnet chain halt 5050 Issue (#370) 2020-07-30 21:28:27 +10:00
sierra19XX
a5aa7c200d
GPOS2 HF - Handle rolling period on missing blocks (#369) 2020-07-30 21:28:08 +10:00
sierra19XX
4896e48b3e
[SON-314] - Weighted Rewards and equal weighted son-account (#360)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
2020-05-05 22:20:48 +10:00
sierra19XX
6797cdc3d3
[SON-363] - Remove son deletion (#359)
* [SON-363] - Remove son deletion

* Fix the tests
2020-05-04 15:37:41 +10:00
Srdjan Obucina
984000f63e Hotfix - Save deposit address redeem and witness script into sidechain address object 2020-04-23 02:56:24 +02:00
sierra19XX
4db9e3a941
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>
2020-04-21 14:41:24 +02:00
obucina
453772d59f
[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
2020-04-19 06:19:59 +02:00
sierra19XX
b436b790fb
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>
2020-04-18 22:18:04 +02:00
obucina
5305757136
[SON-354] Fix son_info compare function (#350) 2020-04-17 21:02:30 +02:00
pbattu123
03ebcc6f3b update variable type to uint64 2020-04-10 09:39:09 -03:00
pbattu123
f701f03401 update HF date 16th April 2020 2020-04-10 08:53:25 -03:00
pbattu123
e3cf4ab9e2 changes to fetch operations based on lottery asset 2020-04-09 22:05:18 -03:00
obucina
44db4f5c9b
[SON-346] Sidechain transaction marked as complete even though current_weight < threshold, Fixed (#342) 2020-04-08 22:40:20 +02:00
pbattu123
dd88b8f1ff update HF check 2020-04-08 09:05:39 -03:00
obucina
4f72269cf6
[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
2020-04-08 13:51:16 +02:00
pbattu123
cb7429e818 code improvement with edge case handling 2020-04-07 01:31:17 -03:00
pbattu123
e445e1a11c update HF-check 2020-04-06 14:47:38 -03:00
pbattu123
9ffce8f33c update HF check 2020-04-06 14:45:50 -03:00
pbattu123
29f41ec7da nh5050:winner ticket id changes 2020-04-06 12:30:55 -03:00
obucina
17bf51e963
[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
2020-04-04 20:02:27 +02:00
sierra19XX
52d7ebc200
[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>
2020-04-04 05:47:50 +02:00
sierra19XX
1542a9a8e4
[SON-339] - SON Schedule crash (#334)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
2020-04-04 05:36:28 +02:00
Srdjan Obucina
b6dc7dcc13 Merge branch 'feature/SONs-base' of https://github.com/peerplays-network/peerplays into feature/SONs-base 2020-04-02 17:54:30 +02:00
Srdjan Obucina
efa7436ded Hotfix - add initialization values to extension params, remove trailing spaces 2020-04-02 17:54:13 +02:00
sierra19XX
5bf245ee6c
SON-297_SON-336 - SON vesting functionality broken after graphene merge (#331)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
2020-04-02 21:22:05 +11:00
gladcow
8aaa3791bf
[SON-307] Create PBTC asset (#326) 2020-04-01 18:57:50 +02:00
sierra19XX
27f401d24e
[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>
2020-04-01 23:05:22 +11:00
pbattu123
210e72f843
update son-account parameters (#328) 2020-03-30 22:49:03 +02:00
Srdjan Obucina
bccba7697e Quickfix - change GPOS and SON hardfork times 2020-03-30 16:59:10 +02:00
sierra19XX
26f6252716
[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>
2020-03-27 22:13:27 +01:00
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
13bc59aee9
Parallelizing sidechain transaction signing (#319) 2020-03-27 19:00:32 +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
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
sierra19XX
964aed0bdf
[SON-122] - SON Statistics improvements and consensus account creation (#318)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
2020-03-25 20:21:09 +11:00
obucina
19a34e9102
Revert "Merge develop branch changes(GPOS+graphene updates) into SONs branch" 2020-03-21 09:47:46 +01:00
obucina
955893bd49
Merge pull request #312 from peerplays-network/sons_gpos_merge_mar19
Merge develop branch changes(GPOS+graphene updates) into SONs branch
2020-03-20 16:10:28 +01:00
sierra19XX
096af5e77c
[SON-24] - SON Rewards missing serialisations and end to end testing (#313)
Co-authored-by: satyakoneru <15652887+satyakoneru@users.noreply.github.com>
2020-03-20 18:30:32 +11:00
pbattu123
275315ee3e gpos, graphene updates 2020-03-19 00:54:15 -03:00
pbattu123
1d66b859c9 update GPOS HF to fall in before SONS HF, remove check 2020-03-18 17:18:15 -03:00
sierra19XX
ed4ebfdb80
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>
2020-03-18 00:01:31 +11:00
pbattu123
8a90e70f12 update GPOS hardfork date to sons branch 2020-03-16 22:40:35 -03:00
pbattu123
c0d515b93f notifications of SONS should get restrict to sons functionality 2020-03-16 22:32:35 -03:00
obucina
ff7e1baaf1
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
2020-03-14 16:14:39 +05:30