Commit graph

49 commits

Author SHA1 Message Date
jcktm 45a15d5a24 check_tx_inputs: fix deregister double spend test to include deregisters from other heights 2018-08-23 16:12:11 +10:00
jcktm 9eba9557fb version: bump version number and decrease service node logs 2018-08-22 15:29:39 +10:00
Doyle T db3bac912e Fix conditional jump on uninitialised valgrind warning 2018-08-20 18:33:23 +10:00
jcktm 939e194755 testnet: remove testnet forks for testnet relaunch 2018-08-20 14:20:48 +10:00
jcktm 78b7fccfbf service nodes: changed portions to 64 bits
also miner fixes to simplewallet behaviour and interactive registration
prompt
2018-08-20 14:20:37 +10:00
jcktm 245e1f769e
Merge pull request #158 from jcktm/autostaking
simplewallet: added autostaking
2018-08-17 17:11:28 +10:00
jcktm a29c3a8eb3 simplewallet: added autostaking 2018-08-17 16:21:03 +10:00
jcktm b417bf1f27 service nodes: add quorum states to db storage 2018-08-17 15:14:45 +10:00
jcktm 95079568dd service nodes: added service node list rescan message back in 2018-08-17 12:25:28 +10:00
Thomas Winget f9e195f09e
minor fixes to service node data storage 2018-08-16 00:13:57 -04:00
Thomas Winget 4f521b69b4 keep track of service node registration height separately 2018-08-15 23:38:06 -04:00
Thomas Winget 06b6c738a7 Revert "Revert "Store Service Node State to DB as Blob (#125)" (#127)"
This reverts commit c4988f5a1f.

This un-reverts the changes to store the service node info in the
database.  This could easily just be its own commit instead of a
revert, but doing a revert is amusing (and easier in this case).
2018-08-15 23:38:06 -04:00
Doyle f55b9b1b82
Service Nodes States Endpoint (#145)
* Add get_service_node_list_state command for analytics

* Update service_node_list_state to search particular pubkey

* Service node list state sorts display results by longest waiting

* Fix up leftover todos/unused data structures

* Change get_service_node_list_state to print_sn
2018-08-15 12:59:05 +10:00
jcktm 0891999d2b service nodes: add hardfork for testnet reservation calculation bug 2018-08-15 12:45:31 +10:00
sachaaaaa 063a6fa6a5 core: prepare_registration interactive prompt
Add new interactive daemon command "prepare_registration" that saves the registration parameters to a file.

Changes to interactive prompt + put contribution<25% last

clean up

changed everything to portions

added check for --service-node flag
2018-08-15 12:34:50 +10:00
jcktm 12ec5231f3
service nodes: fixed portion calculation to allow last contributor to have less than 25% (#140) 2018-08-14 16:40:30 +10:00
jcktm f2b5480f45 service nodes: fixed bug in reservation calculation (#138) 2018-08-14 16:18:40 +10:00
jcktm e19cdc0532 service nodes; added pubkey check before service node registration signature check (#139) 2018-08-14 16:12:42 +10:00
jcktm d58890fe8f service nodes: fixed the staking requirement (#141) 2018-08-14 16:04:30 +10:00
jcktm 9c6e8b042d service nodes: changed rescan to begin from start of blockchain instead of 30 days (#143) 2018-08-14 15:41:30 +10:00
jcktm 6657a8336a service nodes: switched to portable shuffle algorithm 2018-08-12 12:09:01 +10:00
jcktm dbe25f7a57 tests: change MAKE_TX test macros to use ring ct and bulletproofs; begin preparations for service node tests 2018-08-10 14:29:51 +10:00
jcktm c4988f5a1f Revert "Store Service Node State to DB as Blob (#125)" (#127)
This reverts commit 591fda78f0.
2018-08-08 18:51:14 +10:00
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