Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Main PR for Eunos: 1.7.x #336

Merged
merged 59 commits into from
May 24, 2021
Merged

Main PR for Eunos: 1.7.x #336

merged 59 commits into from
May 24, 2021

Conversation

monstrobishi
Copy link
Contributor

@monstrobishi monstrobishi commented Apr 22, 2021

What kind of PR is this?:

Main 1.7.x (Eunos) PR.

It's still currently WIP.

/kind feature

Key features:

  1. Interchain Exchange & Bitcoin atomic swap - @Mixa84 ICX Orderbook #335 @Bushstar HTLC set min timeout #364 spv_getfeerate. SPV wallet fee filter for HTLC. SPV reset on reindex. #356 SPV HTLC Consistent key names and descriptions #311 SPV Bitcoin HTLC #308
  2. New emission rate & foundation destruction @Bushstar DFIP8 New emissions #328
  3. Oracle @bvbfan Oracle development #287
  4. Burn tracking - @Bushstar Track UTXO and tokens sent to burn address #354
  5. Lazy block reward calculation for faster block sync. @bvbfan Lazy rewards redistribution #279
  6. Account change tracking in Merkle root - @bvbfan Extend block merkle root by hash of account changes #337

Which issue(s) does this PR fixes?:

Additional comments?:

Bushstar and others added 5 commits April 19, 2021 15:26
* Randomise winning anchor on blockhash

* Remove unused function argument
* Split custom tx processing into parsing and applying

Signed-off-by: Anthony Fieroni <[email protected]>

* Prevent copies in serialize

Signed-off-by: Anthony Fieroni <[email protected]>

* Adopt pool tables to have historical records
Per account rewards calculation

Signed-off-by: Anthony Fieroni <[email protected]>

* Do not redistribute rewards per block

Signed-off-by: Anthony Fieroni <[email protected]>

* Fix lint circular dependency

Signed-off-by: Anthony Fieroni <[email protected]>

* Introduce db version check at runtime

Signed-off-by: Anthony Fieroni <[email protected]>

* Use bidirectional storage iterators

Signed-off-by: Anthony Fieroni <[email protected]>

* Fix pool id serialization in update poolpair tx

Signed-off-by: Anthony Fieroni <[email protected]>

* Update rewards on every block as drop-in replacement

Signed-off-by: Anthony Fieroni <[email protected]>

* Split pool historical records

* Added EunosHeight

* Fork out rewards redistribution per block

Signed-off-by: Anthony Fieroni <[email protected]>

* Extend pool swap functional test to Eunos hieght

Signed-off-by: Anthony Fieroni <[email protected]>

* Minimize undo data size

Signed-off-by: Anthony Fieroni <[email protected]>

* Prune undo data prior last checkpoint

Signed-off-by: Anthony Fieroni <[email protected]>

* Prevent database fragmentation

Signed-off-by: Anthony Fieroni <[email protected]>

* Make account history own database (#323)

Signed-off-by: Anthony Fieroni <[email protected]>

Co-authored-by: surangap <[email protected]>
Co-authored-by: Ahmed Hilali <[email protected]>
Signed-off-by: Anthony Fieroni <[email protected]>
* New emissions

* Use subsidy map

* Assign swap, futures and options to unallocated

* Show non-UTXO rewards in getblock
* Oracle development

Signed-off-by: Anthony Fieroni <[email protected]>

* Fix rpc parameter not converted in defi-cli (#319)

* Update rpc_oracles.cpp

Fixed rpc documentation

* Updated devnet heights

Co-authored-by: Anthony Fieroni <[email protected]>
Co-authored-by: Ahmed Hilali <[email protected]>
@monstrobishi monstrobishi requested a review from a team as a code owner April 22, 2021 08:34
Bushstar and others added 3 commits April 22, 2021 10:33
@monstrobishi monstrobishi requested review from a team and fuxingloh April 28, 2021 04:34
monstrobishi and others added 7 commits April 28, 2021 12:35
* Added GetBlockHash() function to retrieve the block hash given the transaction hash

* Added new RPC decodecustomtx

* Added tests for decodecustomtx RPC

* Added iswitness parameter to vRPCConvertParams in client.cpp

* Updated decodecustomtx RPC as per new requirements

* Updated decodecustomtx to use INT_MAX as default block height. Updated testing.

* Removed redundant code

* Added GetBlockHash() function to retrieve the block hash given the transaction hash

* Added new RPC decodecustomtx

* Added tests for decodecustomtx RPC

* Added iswitness parameter to vRPCConvertParams in client.cpp

* Updated decodecustomtx RPC as per new requirements

* Updated decodecustomtx to use INT_MAX as default block height. Updated testing.

* Removed redundant code

Co-authored-by: monstrobishi <[email protected]>
Signed-off-by: Anthony Fieroni <[email protected]>

Co-authored-by: monstrobishi <[email protected]>
@uzyn uzyn changed the title [WIP] 1.7.x [WIP] 1.7.x (Eunos) May 5, 2021
@uzyn uzyn changed the title [WIP] 1.7.x (Eunos) Main PR for Eunos: 1.7.x May 5, 2021
Bushstar and others added 22 commits May 17, 2021 14:19
* lint: remove "dead" code

* Run lint on 1.x PRs. Ubuntu 18.04 minimum for tests and builds.
* Initial ICX orderbook development

* Inital development of ICX Orderbook

* Fixes and changes.

* Remove prints and small fix.

* Fix seed to hash calculation

* Optimize data structures.

* Fix searching HTLCs.

* Refactor data structures and flow, fixed PR issues

* Refactor data structures and flow, fixed PR issues

* Fix issues.

* Added incentives and fees. Fixed issue with CAmount multiply overflow. Fix tests and clean code. (#5)

* Add incentives and fees. Fix multiply overflow.

* Fix lint rpc mapping check

* Add poolpair id to governance variable for DFI/BTC price used in takerFee, minimum timeout for 2nd HTLC, added initial unit test, various fixes and code clean.

* Fix calculation of takerFee. Clean code.

* Get poolpair id from governance variable.

* Adding expiration for minimum timeout to EXT HTLC.

* Remove locking funds on makeoffer, fixes.

* Add initial test that add creation of poolpair.

* Added takerFeePerBTC gov var, adapted timeouts for htlcs, check in rpc for correct htlc timeouts, added more checks in test.

* Added key for ext htlc closed, addapted test and rpcs.

* Fill partial offer to complete order

* Test burn. Wip burn map in ConnectBlock. Tally tokens.

* ICX Set order owner on creation

* Fix regressions, reproducible crashes
Polish

Fixes: #374

Signed-off-by: Anthony Fieroni <[email protected]>

* Remove chain data from DB, refactor address storing only in order/offer, fix auth, polish and clean code.

* Add warning disclaimer

* Add creation fee for devnet

* Fixed HTLC timout check, refund partial takerFee on partial offer accept, added test case for BTC/DFI flow, added error test cases, polished code.

* Fixed expiration of offer and htlcs,  added check for open offer on submit htlc, added more test cases.

* Fix order expiration refund, add checkin rpc for htlc if order expires first, fixed and added tests.

* Fix findng poolpair and calculating DFI per BTC, adapted test,  rpc fix.

* Remove unnecessary check in GetBTCDFIPoolPair(), make BTC isDAT in error tests, change BTC blocks in DFI to 20.

* Masternode creation requires authorization (#386)

Signed-off-by: Anthony Fieroni <[email protected]>

* Polish correct offer prices in blockchain layer

Signed-off-by: Anthony Fieroni <[email protected]>

* Moving more checks from RPC to mn_checks, cleanup code

* Small fixes.

* Follow getburninfo at all steps. Set correct amounts.

* Fix lint

* Fix lint

* Fix typo.

Co-authored-by: Peter Bushnell <[email protected]>
Co-authored-by: monstrobishi <[email protected]>
Co-authored-by: Anthony Fieroni <[email protected]>
* Close expired orders simplifications

Signed-off-by: Anthony Fieroni <[email protected]>

* Skip higher coinbase spent block post Eunos

Signed-off-by: Anthony Fieroni <[email protected]>
* Prevent chain revert past Eunos

Signed-off-by: Anthony Fieroni <[email protected]>

* Add consesus code to reject custom tx

Signed-off-by: Anthony Fieroni <[email protected]>
* Fix oracles rpc cli paramters

Signed-off-by: Anthony Fieroni <[email protected]>

* Update oracle input parameter validation

Signed-off-by: Anthony Fieroni <[email protected]>
uzyn
uzyn previously approved these changes May 24, 2021
* SPV getpeers

* SPV: Use non-blocking on Windows

* Set Eunos height on mainnet

* Use C String in peer_log to build on macOS
@monstrobishi monstrobishi merged commit 060a469 into master May 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants