Commit Graph

426 Commits

Author SHA1 Message Date
jcktm e2c8230f31 serivce nodes: initialized m_height to remove uninitialized variable errors 2018-08-08 16:43:41 +10:00
jcktm ec9e7c16b6 service nodes: update staking lock blocks requirements (#126) 2018-08-08 16:31:20 +10:00
jcktm 11b1b042ca service nodes: revert 30k limit in staking requirement 2018-08-08 16:31:20 +10:00
jcktm 79406a28a0 simplewallet: add sanity check to staking commands (#123) 2018-08-08 16:31:20 +10:00
Doyle 591fda78f0 Store Service Node State to DB as Blob (#125)
* store service node state as a blob in db

* add height to service node list storage
2018-08-08 16:31:20 +10:00
jcktm 7badc30e97 service nodes: added service node operator cut to registration 2018-08-07 17:01:39 +10:00
jcktm 62f86e837d constants: add some static asserts, and replace magic numbers with constants 2018-08-07 17:01:39 +10:00
jcktm 17152e4329 Fix bug in service node payout address duplication check 2018-08-07 17:01:39 +10:00
jcktm 0cb93a5b6f service node list: changed contributor map to vector 2018-08-07 17:01:39 +10:00
jcktm cc48990cdc new and improved contribution system 2018-08-07 17:01:39 +10:00
jcktm 54dece9691 fix change address and balance display for per-output unlock times 2018-08-05 03:08:51 +00:00
jcktm 8c5a5792cb added tx secret key field to tx extra 2018-08-03 18:34:49 +10:00
jcktm b81214ec6e wallet2: added staking transactions to create_transactions_2 2018-08-03 16:52:44 +10:00
jcktm d318cd702e service node list: added initial contribution field to prepare registration and registration arg parsing 2018-08-03 15:17:15 +10:00
Doyle T 5435e3327e Add RPC call for getting snode register command 2018-08-03 13:52:09 +10:00
jcktm bffd7c2d34
Per output unlock time rebased (#114)
* add per-output unlock time field to transaction class

* get output unlock time (and relevant const fixes)

* move output unlocked check to separate function

* tx unlocked -> output unlocked in Blockchain

* per output unlock in tx creation; needs fork rules and testing

* per output unlock in tx prefix so it is signed...

also fix a couple typos/goofs

* wallet: check if using per output unlock time

* add rules.h and rules.cpp.  git woopsie.

* update test for BlockchainDB changes

* Change tx v3 deregister to be a bool in tx header

* service_node_list: handle per output unlock times in contribution txs

* transaction: added verification of unlock_times.size()
2018-08-03 11:39:28 +10:00
jcktm cce04efb28 service_node_list: fixed initialization typo 2018-08-03 11:34:41 +10:00
jcktm ace26fc0cd quorum_cop: added quorum cop and service node keys to lokid
Submit deregistration autonomously, prune uptime_proofs

Move pruner to relayer, fix inf. loop, quorum participation bool return

find_if, fix reorg logic, make 2hrs check a variable

Add iterator assign on erase, adjust detached check

qacop: review iteration, changed warnings and std::find call

Accept proofs excluding the added time buffer
2018-08-02 18:58:19 +10:00
jcktm 25a424e696 service node registration: changed block reward from -1 to inf; misc bugfix, refactor 2018-07-31 15:18:37 +10:00
jcktm dcf1cc54d9 pooled staking: renamed contributor cut to portions 2018-07-31 15:18:37 +10:00
jcktm aab30bb9e0 service node registration: misc bugfixes and pooled registration contributions 2018-07-31 15:18:37 +10:00
jcktm 41103edbcd service node registration: add signatures from service node pubkey to registration 2018-07-28 10:49:56 +10:00
jcktm 003f0709b8 service_node_list: add multiple stakers, reward shares, etc 2018-07-20 14:16:26 +10:00
Doyle fb66b7e00b Service Node Deregister Part 5 (#89)
* Retrieve quorum list from height, reviewed

* Setup data structures for de/register TX

* Submit and validate partial/full deregisters

* Add P2P relaying of partial deregistration votes

* Code review adjustments for deregistration part 1

 - Fix check_tx_semantic
 - Remove signature_pod as votes are now stored as blobs. Serialization
   overrides don't intefere with crypto::signature anymore.

* deregistration_vote_pool - changed sign/verify interface and removed repeated code

* Misc review, fix sign/verify api, vote threshold

* Deregister/tx edge case handling for combinatoric votes

* core, service_node_list: separated address from service node pubkey

* Retrieve quorum list from height, reviewed

* Setup data structures for de/register TX

* Submit and validate partial/full deregisters

* Add P2P relaying of partial deregistration votes

* Code review adjustments for deregistration part 1

 - Fix check_tx_semantic
 - Remove signature_pod as votes are now stored as blobs. Serialization
   overrides don't intefere with crypto::signature anymore.

* deregistration_vote_pool - changed sign/verify interface and removed repeated code

* Misc review, fix sign/verify api, vote threshold

* Deregister/tx edge case handling for combinatoric votes

* Store service node lists for the duration of deregister lifetimes

* Quorum min/max bug, sort node list, fix node to test list

* Change quorum to store acc pub address, fix oob bug

* Code review for expiring votes, acc keys to pub_key, improve err msgs

* Add early out for is_deregistration_tx and protect against quorum changes

* Remove debug code, fix segfault

* Remove irrelevant check for tx v3 in blockchain, fix >= height for pruning quorum states

Incorrect assumption that a transaction can be kept in the chain if it could
eventually become invalid, because if it were the chain would be split and
eventually these transaction would be dropped. But also that we should not
override the pre-existing logic which handles this case anyway.
2018-07-18 12:42:47 +10:00
jcktm 89240e87b4 core, service_node_list: separated address from service node pubkey 2018-07-12 22:36:35 +10:00
jcktm 8a92407f5f
servicenodes: Added service node list 2018-06-29 14:47:00 +10:00